// 扫码
scanCode(){
// 允许从相机和相册扫码
wx.scanCode({
scanType:["qrCode"],
success: (res) => {
console.log(res);
if (res.result){
let qrUrl = decodeURIComponent(res.result);
console.log(this.getQueryString(qrUrl, 'sk'));
// 扫码成功后跳转
wx.navigateTo({
url: '/pagesSecodary/recharge/recharge'+"?sk="+this.getQueryString(qrUrl, 'sk')
})
}else{
wx.showToast({
title: '请重新扫描!',
icon:"none"
})
return false;
}
},fail:(res)=>{
wx.showToast({
title: '失败,请重试!',
icon:"none"
})
}
})
},
//解析链接方法
getQueryString:function (url, 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;
},
二维码内容:服务器地址?sk=31200002
跳转进入的页面内容解析sk:
onLoad(option) {
//这时从小程序内扫码进来的
if (option.sk) {
this.sk = option.sk;
}
//这是直接微信扫码跳转进来的
if (option.q) {
const url = decodeURIComponent(option.q);
// const url = 'https://www.xxxx.com/charging-pile?sk=31200002'
this.sk = this.getQueryString(url, 'sk');
}
},