当前位置:首页 > 前端 > 正文内容

uniapp开发小程序,小程序二维传参与H5、分享页面参数兼容的处理方案。

Z先生5年前 (2020-05-19)前端694

首先小程序获取二维码接口有三个,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);
	}
}


分享给朋友:

相关文章

npm如何使用国内镜像源?

通过命令配置1. 命令淘宝源npm config set registry https://registry.npmmirror.com腾讯源npm ...

VUE打包时from UglifyJs Unexpected token: punc (()错误解决方案

归其原因是因为缺少ES2015的语法解析。因此进行如下2步操作即可解决问题:1、安装babel-preset-es2015npm install babel-preset-es20...

ColorUI色系

ColorUI色系

                          ...

MUMU模拟器调试APP注意事项

MUMU模拟器默认ADB端口7555,所以要么修改MUMU默认端口,要么修改IDE编辑器链接端口为7555。做好这个MARK!...

微信小程序强制热更新

微信小程序强制热更新

微信小程序分为冷启动和热启动,在更新后,一般需要一个周期,用户端才会重新更新。官方从小程序基础库版本1.9.90开始支持强制更新异步更新 + 强制更新方案介绍从基础库 1.9.90 开始,我们提供了&...

微信html链接小程序原始写法(暂未测试)

微信html链接小程序原始写法(暂未测试)

无意间发现了微信的这个链接,这几天比较忙,暂时还没有测试,等空了再测试一下。<a class="weapp_text_link"   &nbs...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。
请先 登录 再评论,若不是会员请先 注册