小程序太阳码 ,不发布也可以测试

 /**
     * 获取小程序太阳码
     */
    public function getXcxCodeUrl($access_token,$scene,$page,$check_path = true,$env_version = 'release') {
        $request_data = [
            'page'  => $page, // 如: pages/index/index 。 这里pages前面没有斜杠'/' 。
            'scene' => $scene,
            'check_path' => $check_path,
            'env_version' => $env_version, // 必须结合check_path使用,要打开的小程序版本。正式版为 "release",体验版为 "trial",开发版为 "develop"
            'width' => 690
        ];

        $request_url='https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='.$access_token;
        $result = Http::doPostJson($request_url,$request_data);

//        dump($result);exit;

//        ob_clean();
//        header('Content-Type: image/png; charset=UTF-8');
//        echo $result;exit;
        $uploadService = new UploadService();
        // 存入cdn
        $cdn_result = $uploadService->upload_cdn($result,'suncode');

        if ($cdn_result['errno'] == 0) {
            return $cdn_result['save_name'];
        } else {
            return false;
        }
    }

小程序端解析

if (options.scene != undefined) {   //微信直接扫码
            var scan_url = decodeURIComponent(options.scene);
            console.log(scan_url);
            this.setData({
              id: this.getQueryString(scan_url, 'id')
            })
} else {    //内部扫一扫
            this.setData({
                id: options.id
            })
}


  //解析链接
  getQueryString: function (url, name) {
    // console.log("url = " + url);
    // console.log("name = " + name);
    var reg = new RegExp('(^|&|/?)' + name + '=([^&|/?]*)(&|/?|$)', 'i');
    var r = url.substr(1).match(reg);
    if (r != null) {
      // console.log("r = " + r)
      // console.log("r[2] = " + r[2])
      return r[2];
    }
    return null;
  },

使用

/**
     * 生成小程序太阳码
     */
    public function generateQrcode() {
        $wxService = new WxService();
        $accessToken = $this->getToken();
        $xcxcode = $wxService->getXcxCodeUrl($accessToken,'?id=15','pages/riskPoint/index');
        $this->json->ok($xcxcode);
    }
posted @ 2021-12-18 17:47  TBHacker  阅读(775)  评论(0编辑  收藏  举报