uniapp开发小程序,小程序二维传参与H5、分享页面参数兼容的处理方案。
首先小程序获取二维码接口有三个,2个限制数量,一个不限制数量,但是限制生成频率(5000次/分钟)和参数长度(32位),我使用的是不限数量的接口:getUnlimited,传递的参数为:invite=10001,这个参数在H5二维码、页面分享的时候自带。但是小程序二维码和参数启动链接完全是2回事情。通过e.scene判断相关的二维码渠道也比较多。所以使用了一个偷懒的方法。
具体来看代码吧
首先来定义一个全局变量:
var invite_code;
然后App.vue中的onLaunch
export default {
onLaunch(e) {
let that = this,
query = e.query,
param = {};
console.log(e);
if (query.invite) {
param = query;
} else {
let _param = decodeURIComponent(query.scene);
let param_arr = _param.split('&');
for (let i = 0; i < param_arr.length; i++) {
let res = param_arr[i].split('=');
param[res[0]] = res[1];
}
}
if (param.invite) {
//存缓存,自定义函数哦,不可通用
//this.$app.setCache('invite_code', param.invite);
invite_code = param.invite;
} else {
//读缓存,自定义函数哦,不可通用
//invite_code = this.$app.getCache('invite_code');
}
console.log(param);
}
}

