H5跳转微信小程序query参数携带与获取
H5跳转小程序有四种方式:
1、使用wx-open-launch-weapp标签跳转
2、URL Scheme
3、URLLink
4、ShortLink
其中我感觉使用标签是最好的,参数什么的都是自定义可控的:
<wx-open-launch-weapp username="小程序原始id" path="小程序地址?query=123"> <script type="text/wxtag-template"> 这个部分写样式 </script> </wx-open-launch-weapp>
但是我还是选择了使用URL Scheme,对于前端来说三中url方式大差不差,都是用location.href来跳转
而且跳转的链接也是后端获取的,前端调接口就可以啦,很适合偷懒
但是url模式传参遇到了难题:
URL Scheme模式里面显示了可以传参,参数类型在URL Link的文档里才有:
而且只能带一个参数,很不巧我的项目需要多个参数,网上也没有看到关于多个参数该如何定义。
经过测试,这个参数和路由一样处理:
query:"aaaa=132&bbb=321"
需要注意的是,获取到的参数都会变成string,所以如果是number类型的就需要转一下。
参数传递ok啦,那么就是获取了,我使用的是uniapp开发的小程序,通常我使用onShow来处理数据(onLoad的话就是直接获取option),但是除了onLoad似乎并没有能够直接获取到路由参数的,这个时候就需要手动的去处理啦
let pagearr = getCurrentPages();//获取应用页面栈 let currentPage = pagearr[pagearr.length - 1];//获取当前页面信息 //currentPage.options就是query的数据啦 let query = currentPage.options; let aaa = query.aaa; let bbb = query.bbb;
完结,撒花