微信扫描小程序二维码后,在页面的onLoad函数的参数options内可以拿到跳转参数scene值,但是需要对scene进行decodeURIComponent操作,方法如下:
方法一:文章来源:https://www.toymoban.com/news/detail-584835.html
扫码二维码地址:
https://api.test.cn/qrcode/jksi/code?sourceCode=abxd&Name=你我他
//截取url中的参数
getUrlParams(url) {
let o = {};
if (url.indexOf("?") != -1) {
let str = url.substr(url.indexOf("?") + 1).replace(/[#/|/#/]/g, "");
// console.log(str);
let strs = str.split("&");
// console.log(strs);
for (let i = 0; i < strs.length; i++) {
o[strs[i].split("=")[0]] = decodeURIComponent(strs[i].split("=")[1]);
}
}
return o;
},
onLoad (options) {
// scene需要使用decodeURIComponent才能获取到生成二维码时传入的scene
let decodeScene = decodeURIComponent(options.q);
let urlParams = this.getUrlParams(decodeScene)
let sourceCode= urlParams.sourceCode
let Name= urlParams.Name
}
方法二:文章来源地址https://www.toymoban.com/news/detail-584835.html
页面地址:pages/home/home?courseId=1&lessonId=1
scene值:courseId=1&lessonId=1
//参数解析
getQueryValue(query, queryName) {
const reg = new RegExp("(^|&)" + queryName + "=([^&]*)(&|$)", "i");
const r = query.match(reg);
if (r !== null){
return r[2];
} else {
return null;
}
}
onLoad (options) {
// scene需要使用decodeURIComponent才能获取到生成二维码时传入的scene
const decodeScene = decodeURIComponent(options.scene);
const courseId = getQueryValue(decodeScene, ‘courseId’);
const lessonId = getQueryValue(decodeScene, ‘lessonId’);
}
到了这里,关于获取url地址后面参数的2种方法(小程序二维码跳转参数解析)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!