官方文档地址:配置教程
1、在微信公众平台配置一下
二维码规则里面的地址最多是只能2个子域名,不写子目录的也可以,需要下载校验文件进行校验功能页面就是要跳转的页面路径,比如:pages/index/index
2、生成二维码
我们去草料官网去生成一个二维码
注意:这里的参数千万不能有中文,否则识别不了,我就是不小心写了参数,结果半天跳不过去…,坑啊
3、获取参数
按照官方说的要用微信的扫一扫并在onLoad中进行参数获取
可能有些人不想用微信的扫一扫,想在小程序中弄一个按钮,点击调起摄像头或者相册进行扫码,并获取二维码的参数,这样子也是可以的,上代码
因为小程序里面是不支持window.location.href.search,所以要用别的方法
//获取url参数,url为地址;queryName为想要获取的参数名
getQueryString(url,queryName) {
var reg = new RegExp('(^|&|/?)' + queryName + '=([^&|/?]*)(&|/?|$)', 'i')
var r = url.substr(1).match(reg)
if (r !== null ) {
console.log(r[2])
this.setData({
connectId: r[2]
})
return r[2]
}
return null;
},
//点击扫描时触发
onClickScan(e) {
let that = this
if (!app.globalData.userInfo) {
wx.navigateTo({
url: '../login/login',
})
return;
}
wx.scanCode({
async success(res) {
console.log(res)
that.getQueryString(res.result,'connectId')
console.log(that.data.connectId)
},
fail(res) {
console.log(res)
wx.showToast({
title: '扫码失败'
})
wx.navigateTo({
url: '../home/home',
})
}
})
}
去草料生成一个带参数的url地址,然后扫码打印一下看看
result就是二维码中的地址参数,比如说我们想要获取connectID这个参数,只需要调用一下getQueryString这个方法,传一个地址和connectID这个参数名就可以了
wx.navigateTo({
url: `../xxxx/xxxx?data=${this.data.connectId}`,
})