生成当前页面的小程序码
1获取access_token
getaccesstoken(){
let that =this
wx.request({
url: 'https://api.weixin.qq.com/cgi-bin/token?
grant_type=client_credential&appid=APPID
&secret=密钥',
method:"GET",
success (res) {
console.log(res)
if (res.statusCode==200){
that.getcode(res.data.access_token)
}
}
})
},
//获取二维码
getcode(code){
let that = this
console.log(that.data.gameId)
// 生成页面的二维码
wx.request({
url: 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='+code,
data: {
scene: '000',
page: "pages/vote/voteindex/voteindex", // 线上路径
width:280
},
method: "POST",
responseType: 'arraybuffer',
success(res) {
let img = wx.arrayBufferToBase64(res.data);
that.setData({
img
})
},
fail(e) {
console.log(e)
}
})
},
注意:
这里需要使用已经上线的页面的路径,否则会返回
eyJlcnJjb2RlIjo0MTAzMCwiZXJybXNnIjoiaW
52YWxpZCBwYWdlIHJpZDogNjAzNDlhYzgtNWVkOGVjYjAtMzJlO
WI2ZjgifQ==
这时便无法生成
2.由于请求接口时来自服务器端
//从服务器端获取验证码
getCodeformSession(){
let that = this
let value = wx.getStorageSync("userInfo")
let token = wx.getStorageSync('token')
let id =that.data.isIngData.id
let sence = encodeURIComponent("id="+id) //传递的参数 函数可把字符串作为 URI 组件进行编码
let page = encodeURIComponent("pages/index/index") //路径
let width = 280;
this.setData({
src2: config.apiBase + '接口名?width='+width+'&sence='+sence+'&page='+page+'&userId='+value.id+'&token=' + token
})
if (that.data.src2){
that.setData({
loading:false
})
}
console.log(that.data.src2)
},