带参数二维码生成

<?php

namespace app\api\controller;


use app\admin\model\User;

class CodeController extends BaseController
{
    /**
     * @api {post} /code/getMyCode 1.getMyCode获取我的邀请码
     * @apiVersion 1.0.0
     * @apiName getMyCode获取我的邀请码
     * @apiGroup 11.Code
     * @apiHeader {String} token Token必需填写.
     * @apiHeaderExample {json} Header-Example:
     *     {
     *       "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJub25lIn0.eyJpc3MiOiJodHRwOlwvXC93d3cuZXhhbXBsZS5jb20iLCJleHAiOjE1MzQ3MzAxMjgsInVzZXJfaWQiOiI2IiwidXNlcl90eXBlIjoyLCJvcGVuX2lkIjoidGV4dG9wZW5pZC10ZXN0b3BlbmlkLXRlc3RvcGVuaWQiLCJzZXNzaW9uX2tleSI6InRlc3RzZXNzaW9ua2V5In0."
     *     }
     * @apiDescription getMyCode获取我的邀请码
     */
    public function getMyCode()
    {
        $access_token = $this->AccessToken();
        $url = 'https://api.weixin.qq.com/wxa/getwxacode?access_token='.$access_token;
        $path="pages/index/index?parent_id=".$this->user_id;
        $width=430;
        $data='{"path":"'.$path.'","width":'.$width.'}';
        $return = $this->request_post($url,$data);
        //将生成的小程序码存入相应文件夹下
        $sever ='https://'.$_SERVER['SERVER_NAME']."/";
        $paths = 'uploads/code/'.time().'.jpg';
        file_put_contents($paths,$return);
        //$imgurl = $sever $paths;
        $rr =$paths;
        $imgurl = $sever.$rr;
        //将二维码路径存入数据库

        return echoOk($imgurl);
    }

    public function AccessToken()
    {
        $data = "{}";
        $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.WX_APPID.'&secret='.WX_SECRET;
        $AccessToken = $this->request_post($url,$data);
        $AccessToken = json_decode($AccessToken , true);
        $AccessToken = $AccessToken['access_token'];
        return $AccessToken;
    }

    public function request_post($url,$data){
        $ch = curl_init();
        $header = ["Accept-Charset: utf-8"];
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $tmpInfo = curl_exec($ch);
        if (curl_errno($ch)) {
            return false;
        }else{
            return $tmpInfo;
        }
    }

}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值