微信官方文档 扫普通链接二维码打开小程序
一开始看完官方文档后,以为是设置了规则是xxx.xxx.xxx/yyy?code=12…
后来我顿悟了,我将二维码规则设置为xxx.xxx.xxx/yyy?action=…
这里说明一下,action这个可以随便填,你可以用其他任何名字,只是记得自己的自定义链接的前面部分一定要和规则一模一样,比如这里的action=gogogo,至于&符号后面传什么参数就是你的自由了。
小程序代码里面获取参数:
util.js
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,
}
app.js
App({
onLaunch: function (options) {
console.log("全局onLaunch options==" + JSON.stringify(options))
let q = decodeURIComponent(options.query.q)
if (q){
console.log("全局onLaunch onload url=" + q)
console.log("全局onLaunch onload 参数 flag=" + utils.getQueryString(q, 'flag'))
}
}
})
页面中获取二维码参数
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log("index 生命周期 onload"+JSON.stringify(options))
//在此函数中获取扫描普通链接二维码参数
let q = decodeURIComponent(options.q)
if(q){
console.log("index 生命周期 onload url=" + q)
console.log("index 生命周期 onload 参数 flag=" + utils.getQueryString(q, 'flag'))
}
}
})