赞
踩
1、decodeURIComponent解析生成二维码的链接。
/**
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
if (options.scene) {
//获取二维码的携带的链接信息
let qrUrl = decodeURIComponent(options.scene)
console.log(qrUrl)
this.setData({
//获取链接中的参数信息
actId: utils.getQueryString(qrUrl, 'actId'),
shareUserId: utils.getQueryString(qrUrl, 'shareUserId'),
})
}
},
2、utils中获取链接中所携带的参数
// 解析链接中的参数 let getQueryString = function (url, name) { console.log("url = " + url) console.log("name = " + name) var reg = new RegExp('(^|&|/?)' + name + '=([^&|/?]*)(&|/?|$)', 'i') var r = url.substr(1).match(reg) if (r != null) { console.log("r = " + r) console.log("r[2] = " + r[2]) return r[2] } return null; } //导出方法,外部调用 module.exports = { getQueryString: getQueryString, }
避坑:
onLoad (option) {
console.log(option)
}
这时可以接收到 拿着参数去请求数据等等操作~
假如你的小程序要发布了
这时候应该改变获取参数的方式,因为正式发布后的获取的参数和在开发者工具中是不一样的,这个坑!!!。下面代码是你获取正式发布小程序后的入口二维码中参数的代码,scene是微信生成二维码方法的一个参数,用来写你要在二维码中携带的参数
onLoad (option) {
console.log(option)
if (option.scene) {
let obj = decodeURIComponent(option.scene)
... // 这里就是你拿着参数obj进行操作
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。