微信小程序> 小程序中获取对应页面的小程序码

小程序中获取对应页面的小程序码

浏览量:2354 时间: 来源:小龙虾籽

参考小程序官方文档:https://developers.weixin.qq.com/miniprogram/dev/api/qrcode.html

From文档:
提供了三个接口,开发者可挑选适合自己的接口。

  1. A接口,生成小程序码,可接受path参数较长,生成个数受限。  
  2. B接口,生成小程序码,可接受页面参数较短,生成个数不受限。   
  3. C接口,生成二维码,可接受path参数较长,生成个数受限。

    小程序

首先需要获取access_token
(这里作为测试,直接写在onload函数中):

onLoad: function (options) {      let that = this;      const APP_ID = 'yourAppid';// 小程序appid      const APP_SECRET = 'yourApp_secret';// 小程序app_secret      let access_token = '';      wx.request({          url:"https://api.weixin.qq.com/cgi-bin/token",          data: {              grant_type: 'client_credential',              appid: APP_ID,              secret: APP_SECRET          },          success:function(res){              access_token = res.data.access_token;              console.log(res);              console.log(access_token);          }      })  },

返回结果:
小程序

然后用得到的access_token 请求所需要的小程序二维码获取接口,
以下是测试用的全部代码:

// pages/getQrCode/getQrCode.jsPage({  /**   * 页面的初始数据   */  data: {  },  /**   * 生命周期函数--监听页面加载   */  onLoad: function (options) {      let that = this;      const APP_ID = 'yourAppid';// 小程序appid      const APP_SECRET = 'yourApp_secret';// 小程序app_secret      let access_token = '';      wx.request({          url:"https://api.weixin.qq.com/cgi-bin/token",          data: {              grant_type: 'client_credential',              appid: APP_ID,              secret: APP_SECRET          },          success:function(res){              access_token = res.data.access_token;              console.log(res);              console.log(access_token);              // 接口A:适用于需要的码数量较少的业务场景 生成的是小程序码              that.getQrCode_A(access_token);              // 接口B:适用于需要的码数量极多的业务场景 生成的是小程序码              that.getQrCode_B(access_token);              // 接口C:适用于需要的码数量较少的业务场景 生成的是小程序二维码              that.getQrCode_C(access_token);          }      })  },    /**     * 接口A:适用于需要的码数量较少的业务场景     * @param access_token     */    getQrCode_A: function (access_token) {        wx.request({            url:"https://api.weixin.qq.com/wxa/getwxacode?access_token=" + access_token,            method: 'POST',            data: {                path: 'pages/index/index', // 必须是已经发布的小程序存在的页面(否则报错)                width: 430,                auto_color: false,// 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调                line_color: {"r":"0","g":"0","b":"0"} // auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {"r":"xxx","g":"xxx","b":"xxx"} 十进制表示            },            success:function(res){                console.log(res);            }        })    },    /**     * 接口B:适用于需要的码数量极多的业务场景     * @param access_token     */    getQrCode_B: function (access_token) {        wx.request({            url:"https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + access_token,            method: 'POST',            data: {                scene: '200',                page: 'pages/index/index', // 必须是已经发布的小程序存在的页面(否则报错)                width: 430,                auto_color: false,// 自动配置线条颜色,如果颜色依然是黑色,则说明不建议配置主色调                line_color: {"r":"0","g":"0","b":"0"} // auto_color 为 false 时生效,使用 rgb 设置颜色 例如 {"r":"xxx","g":"xxx","b":"xxx"} 十进制表示            },            success:function(res){                console.log(res);            }        })    },    /**     * 接口C:适用于需要的码数量较少的业务场景 生成小程序二维码     * @param access_token     */    getQrCode_C: function (access_token) {        wx.request({            url:"https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=" + access_token,            method: 'POST',            data: {                path: 'pages/index/index',                width: 430,            },            success:function(res){                console.log(res);            }        })    }});

返回的是二进制(我眼前是一堆乱码如下),需要传到后台转化为图片(这个等研究了后台处理再补充=_=):
小程序

需要注意的是:

  1. 请求方式为POST,需要注明,因为wx.request() 方法默认是GET 请求;
  2. access_token 要跟在请求的URL后面,如果和参数一起写在data中,会报错,说找不到access_token。

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎