亚洲必赢手机入口_亚洲必赢官网_www.633.net

亚洲必赢手机入口_亚洲必赢官网_www.633.net

微信小程序码生成



//生成小程序码
function getSmallQrCode($userId,$page,$scene){
   $appId = config('wxpay.app_id');
   $appSecret = config('wxpay.app_secret');

   /**
    * 获得access_token
    */
   $key = md5($appId.'-'.$appSecret);
   $result = Cache::get($key);

   //目录
   $dir = config('upload.small_qrcode')['dir'];//  image/qrcode

   if( !( $result && isset($result['access_token'])
       && $result['access_token'] &&
       isset($result['expire_time'])
       && $result['expire_time'] > time() )
   ){

       $token_url = 'http://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s';
       $token_url = sprintf($token_url,$appId,$appSecret);

       $resultJson = \org\Curl::get($token_url);

       $result = json_decode($resultJson, true);

       if(isset($result['errcode'])){
           throw new ParameterException($result['errcode'].':'.$result['errmsg']);
       }
       $result['expire_time'] = $result['expires_in'] + time()  ;
       Cache::set($key,$result,$result['expires_in'] - 120 );

   }

   $access_token = $result['access_token'];


   //生成小程序码

   $qrcode_url = "http://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=%s";
   $qrcode_url = sprintf($qrcode_url,$access_token);

   $data = [
       'scene' => $scene,
       'page' => $page
   ];

   $result = \org\Curl::post($qrcode_url,json_encode($data));//图片二进制流返回的结果

   $res = json_decode($result, true);

   if(isset($res['errcode'])){
       throw new ParameterException($res['errcode'].':'.$res['errmsg']);
   }

   $filePath = $dir."/".date('Ymd').'/'.md5($page.$scene.$appId).".jpg";

   $path = dirname('./upload/'.$filePath);

   !is_dir($path) && mkdir($path, 0755, true);
   $filename = "./upload/".$filePath;

   $file = fopen($filename, "w");//打开文件准备写入
   fwrite($file, $result);//写入
   fclose($file);//关闭

   return $filePath;
}


本人主要从事APP,小程序开发,有专业的团队。微信:wqy0601415 (请注明需求);

上一篇: 新版支付宝支付 回调 提现功能展示
下一篇: 文件上传 (本地 + 七牛云)



Baidu
sogou