小程序码

 

    public static function generate_store_minicode($id)

    {

        $info = store_helper::get_info($id);

        $path = $info['wxacode'];

        if (empty($path)) {

            $openapi_config = config::get('openapi');

            $app_id = $openapi_config['weixin_mini'][0];

            $app_secret = $openapi_config['weixin_mini'][1];

            if(ONDEV){

                $app_id='wxf4e1f5a693bf9fa6';

                $app_secret='d001fb463325aaf07e7d21061f5cbd08';

            }

            //获取access_token

            $access_token_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$app_id&secret=$app_secret";

            //缓存access_token

            $_SESSION['access_token'] = "";

            $_SESSION['expires_in'] = 0;

    

            $ACCESS_TOKEN = "";

            if(!isset($_SESSION['access_token']) || (isset($_SESSION['expires_in']) && time() > $_SESSION['expires_in']))

            {

                $json = an_curl($access_token_url);

                if (isset($json['errcode'])) {

                    return  '获取ACCESS_TOKEN错误,错误码:'.$json['errcode'].',错误信息:'.$json['errmsg'];

                }

    

                $_SESSION['access_token'] = $json['access_token'];

                $_SESSION['expires_in'] = time()+7200;

                $ACCESS_TOKEN = $json["access_token"];

            } else{

                $ACCESS_TOKEN =  $_SESSION["access_token"];

            }

    

            //构建请求二维码参数

            $qcode_url ="https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=$ACCESS_TOKEN";

            $qrcode_params = [

                    'scene'  => $id,

                    'page' => 'pages/detail/detail',

                    'width' => 500

            ];

           

            $qrcode_params = json_encode($qrcode_params);

    

            //生成二维码图片

            $result = an_curl($qcode_url, $qrcode_params, 0);

            $check_res = json_decode($result, true);

            if (isset($check_res['errcode'])) {

                return '获取二维码错误,错误码:'.$check_res['errcode'].',错误信息:'.$check_res['errmsg'];

            }

            //写入流文件

            $path = an_upload_h5(base64_encode( $result ), 'png');

    

            // 保存小程序图片

            $file_info = [

                    'wxacode'  => $path,

            ];

            

           store_helper::update_store_info($id, $file_info);

        } 

    

        $res = [

                'wxacode' => _image($path),

        ];

        

        return $res;

    

    }

本博客所有文章如无特别注明均为原创。作者:长颈鹿复制或转载请以超链接形式注明转自 SZY
原文地址《小程序码

相关推荐

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)