js生成小程序某页面二维码(生成小程序二维码)

13 篇文章 0 订阅
6 篇文章 0 订阅

 

时候会有业务需求生成某页面的小程序二维码,进入指定页面

效果图:

首先要获取access_token;

下面是链接

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=秘钥

红色字体需要用户自己根据信息填充。

请求成功返回的结果是下面这种形式的


//注意:以下参数值不可以直接复制粘贴使用,需要自己根据上面的链接+参数获取使用
{
  "access_token": "12_fbGiPb3QuOW9M6n-Abg0ik4My2NocTJZZiAIAEUU",  
  "expires_in": 7200
}

expires_in:是一个有效期;

获取完access_token,下面开始正式我们的请求:

 

index.js:

//index.js
//获取应用实例
const app = getApp()

Page({
  data: {
  },
  onLoad: function (options) {
    var that = this;
    var scene = decodeURIComponent(options.scene)

    // 生成页面的二维码
    wx.request({
//注意:下面的access_token值可以不可以直接复制使用,需要自己请求获取
      url: 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=AbgEb2z0il9eIsqn6pWJTmSkvTcJhtb1As3_e049Qv_iFnVw8TXKEa2N8nn3GBKJbQaJ9G2ae5At4Cirphd8HFaduGvMU14UpuWjJz6X0i74I8-',
      data: {
        scene: '000',
        page: "pages/index/index"  //这里按照需求设置值和参数   
      },
      method: "POST",
      responseType: 'arraybuffer',  //设置响应类型
      success(res) {
        console.log(res)
        var src2 = wx.arrayBufferToBase64(res.data);  //对数据进行转换操作
        that.setData({
          src2
        })
      },
      fail(e) {
        console.log(e)
      }
    })


  },

})

index.wxml

<view>
   <view class='img'>
    <image src='data:image/png;base64,{{src2}}'></image>
   </view>
</view>

注意:对于没有发布的小程序page参数要设置为空,不然会导致二维码生成失败,在发布前按需改回来就好

 

  • 14
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 94
    评论
生成小程序路径二维码也可以通过微信官方提供的API实现,具体步骤如下: 1. 获取access_token:调用微信官方提供的获取access_token的API,获取access_token。注意:access_token需要缓存,不要频繁调用该API获取。 2. 构造小程序路径:根据需求构造小程序路径,比如:`pages/index/index`。 3. 调用生成小程序路径二维码的API:调用微信官方提供的生成小程序路径二维码的API,传入必要的参数,比如path、width等。 4. 保存小程序路径二维码:把API返回的二进制流保存为图片即可。 下面是示例代码: ```php <?php $app_id = '你的小程序appid'; $app_secret = '你的小程序appsecret'; //获取access_token $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$app_id}&secret={$app_secret}"; $res = file_get_contents($url); $res = json_decode($res, true); $access_token = $res['access_token']; //构造小程序路径 $path = 'pages/index/index'; //调用生成小程序路径二维码的API $width = 430; $url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token={$access_token}"; $data = array( 'path' => $path, 'width' => $width ); $data = json_encode($data); $options = array( 'http' => array( 'header' => "Content-type:application/json", 'method' => 'POST', 'content' => $data, 'timeout' => 60 ) ); $context = stream_context_create($options); $res = file_get_contents($url, false, $context); //保存小程序路径二维码 file_put_contents('./qrcode.jpg', $res); ``` 需要注意的是,生成小程序路径二维码的API也有一些限制,比如小程序必须发布、不能携带参数等。具体详情可以参考微信官方文档。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值