二维码前端后端都能制作,重点是跳转具体页面。小程序和pc页面略有不同,跳转配置也不一样。
我之前尝试用扫普通链接二维码打开小程序 | 微信开放文档里面的方法(我的收藏里面也有相关博主的文章),但是跳转失败了。。。然后还是由后端制作小程序,并配置页面路径和参数完成。
另外二维码是由数据组成,扫二维码必定会携带数据。
二维码传递参数的问题
后端传递参数:
queryShareCode() {
var that = this;
wx.request({
url: getApp().baseUrl + '/api/v3/wx/index/share_qr_code',
method: 'POST',
data: {
// code: code,
token: wx.getStorageSync('userInfo').token,
page: 'pages/taskdetail/taskdetail',
scene: 'id=' + that.data.id + '&inviteID=' + wx.getStorageSync('userInfo').uid
},
success(ress) {
if (ress.data.code && ress.data.code == '1') {
that.setBase64Save(ress.data.data.img).then(function(resimg){
that.setData({
ewmPath: resimg
})
})
} else {
}
}
})
},
前端接收参数:
onLoad: function (options) {
if (options.scene) {
const scene = decodeURIComponent(options.scene)//获取加密后的scene参数
//获取scene参数转json
var url = '?' + scene; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
var strs = str.split("&");
for (var i = 0; i < strs.length; i++) {
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
}
console.log('参数',theRequest)
}
}