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

 /**
     * 获取小程序太阳码
     */
    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 @   TBHacker  阅读(875)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2019-12-18 PHP中直接使用sql语句
2018-12-18 复合索引,排第一的效果
2018-12-18 100W数据,测试复合索引
2018-12-18 100W数据,测试索引
2018-12-18 shell 脚本sed替换文件中某个字符串
2015-12-18 PHP统计排行,分页
2015-12-18 php获取当前月月初至月末的时间戳,上个月月初至月末的时间戳
点击右上角即可分享
微信分享提示