开发文档的生成小程序码是后端调用的接口,前端只需要把路径跟参数传过去,获取到返回的小程序码即可
获取页面参数
data(){
return{
id:' ', //参数
imgUrl:' ',/接收小程序码url地址
}
}
onload:function(options){
this.id=options.id //上个页面跳转带的参数
var that=this
wx.request({
url: 'api地址', //后端生成小程序码的接口地址
method: 'POST',
header:{"content-type":"application/x-www-form-urlencoded"},
responseType:'arraybuffer',
dataType:'json',
data: {
"page":"pages/company/company", //路径
"scene":this.id, //参数
},
success: res => {
//后端如果没有处理,不是直接返回图片路径,则需要转换
const fsm = wx.getFileSystemManager();
const FILE_BASE_NAME = 'qrcode_base64src';
const filePath = wx.env.USER_DATA_PATH + '/' + FILE_BASE_NAME + '.png';
fsm.writeFile({
filePath,
data: res.data,
encoding: 'binary',
success() {
that.imgUrl=filePath
},
fail() {},
})
},
fail: () => {},
complete: () => {}
});
}
扫描小程序码进入页面没有数据
在onload的options里会有一个scene,也就是之前传的参数,扫描直接进入页面的要用scene来获取数据
onload:function(options){
let id2=options.id || options.scene,
//options.id是上个页面跳转传递的参数,options.scene是直接扫码进入页面的参数,
获取数据的请求,id都使用id2就可以了
}