赞
踩
开始使用普通链接扫二维码进入小程序后,必然会面临解析链接获取其携带参数的问题,本文概述了我使用此功能的过程。
(一)首先解析二维码携带参数:
1.在小程序开发文档里描述了获取二维码链接内容的方法
2.获取链接内容之后就要获取其携带参数了
在pages/utils/util.js根据正则匹配定义了解析链接的方法,在功能页面直接引用就可以了:
let getkcard = function (url, name) {
var reg = new RegExp('(^|&|/?)' + name + '=([^&|/?]*)(&|/?|$)', 'i')
var r = url.substr(1).match(reg)
if (r != null) {
return r[2]
}
return null;
}
module.exports = {
formatTime: formatTime,
getkcard: getkcard
}
(二)微信扫普通普通链接二维码:在功能页面使用参数
1.首先引用utils
2.在onload方法里引用
onLoad: function (options) {
var that=this;
console.log("options携带参数:" + JSON.stringify(options))
//在此函数中获取扫描普通链接二维码参数
// 二维码链接内容会以参数q的形式带给页面,在onLoad事件中提取q参数并自行decodeURIComponent一次,即可获取原二维码的完整内容。
if(options.q!== undefined){
let q = decodeURIComponent(options.q);
console.log("url=" + q)
console.log("kcardCode=" + util.getkcard(q, 'kcardCode'))
var kcardCode = util.getkcard(q, 'kcardCode');
console.log("解析获取到的kcardCode值:"+kcardCode);
that.setData({
kcardCode:kcardCode
});
}else{
console.log("未获取到扫码信息:"+kcardCode);
wx.showToast({
title: '错误:未获取到扫码信息!',
duration:3000
})
return false
}
},
(二)小程序里扫二维码解析参数方法
1.同理引用utils
2.点击扫描的按钮之后调用了wx.scanCode
var that = this;
//扫描API
wx.scanCode({
// onlyFromCamera: true,//只允许从相机扫码
success(res) { //扫描成功
console.log(res.result) //输出回调信息
let result = decodeURIComponent(res.result);
console.log("url=" +result)
console.log("参数 kcardCode=" + util.getQueryString(result, 'kcardCode'))
var kcardCode = util.getQueryString(result, 'kcardCode');
console.log("解析获取到的kcardCode值:"+kcardCode);
that.setData({
kcardCode:kcardCode
});
});
经测试,扫描二维码可以获取到参数信息
完结撒花
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。