uni-app小程序码解码获取scene传递参数

小程序码经常用于海报分享中,通过海报图片可以直观有效的对现有小程序进行推广。

那么在前端的开发中,关于小程序码中的参数携带是如何处理呢?

这里就需要用到scene,文中就来介绍小程序码中scene携带的参数如何获取及解析。

在小程序中关于scene的获取有两个地方,分别为onLaunch和onLoad中。

一、onLaunch中获取

onLaunch:async function(options) {
if(options){
if(options.query.scene){
let scene = decodeURIComponent(options.query.scene),
params = scene.split(','),
data = {};
for (let i in params) {
var val = params[i].split('=');
val.length > 0 && val[0] && (data[val[0]] = val[1] || null)
}
console.log("data",data)
}
}
}

与onLoad不同的是onLaunch中多了一层query,在query参属下才是scene,将获取的scene进行decodeURIComponent解码后就是常见的表达方式。

二、页面onLoad中获取

async  onLoad(e){
if(e){
if(e.scene){
let scene = decodeURIComponent(e.scene),
params = scene.split(','),
data = {};
for (let i in params) {
var val = params[i].split('=');
val.length > 0 && val[0] && (data[val[0]] = val[1] || null)
}
console.log("data",data)
}
}
}

在onLoad中获取scene值,获取后使用decodeURIComponent解码。按照参数携带格式进行对应的解析即可获取到携带的参数信息。

六月初字帖坊小程序 你想要的字帖模板及工具,这里都有!