1.需求
需要一款H5 能够携带邀请参数的程序 能够带着邀请参数 进行注册 或者绑定账号关系,但是有一个问题就是 微信重定向登录会导致这个参数丢失 登录成功以后 又需要保存用户信息内存 所以分为 新用户 和老用户 这个参数还有可能变化
2.实现
onLaunch(options) {
console.log(options.query, "options.queryoptions.queryoptions.query");
Taro.setStorageSync("registerCode", options.query.state);
// const isIOS = !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
// if (isIOS) {
// window.history.pushState({}, "title", "#");
// }
locationService.getLocation();
},
app.js 全局获取参数
local = encodeURIComponent(local);
// 获取 code 地址registerCode
let url = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId.value}&redirect_uri=${local}&response_type=code&connect_redirect=1&scope=snsapi_userinfo&state=${registerCode ? registerCode : Taro.getStorageSync("registerCode")}#wechat_redirect`;
window.location.href = url;
state参数 其实就是自己自定义的函数 所以每次 都可以将参数取到存在内存中 然后每次直接从内存取出
3.总结
我用的是Taro 框架 跟uni-app 有可能文件不一样 但是逻辑肯定是一样的 我在Taro 中实现的 在un-app 中肯定能同样实现