1、使用微信开放标签(wx-open-launch-weapp)跳转
<wx-open-launch-weapp
id="launch-btn"
username="gh_xxxxxxxx"
path="pages/index/index?yybh=XXX&tradeno=XXX">
<script type="text/wxtag-template">
<style>.btn { padding: 12px }</style>
<button class="btn">打开小程序</button>
</script>
</wx-open-launch-weapp>
<script>
var btn = document.getElementById('launch-btn');
btn.addEventListener('launch', function (e) {
console.log('success');
});
btn.addEventListener('error', function (e) {
console.log('fail', e.detail);
});
</script>
其中:
username:目标小程序的原始id;
path:所需跳转的小程序内页面路径及参数(传参采取挂参的形式传递);
ps:目标小程序接收参数时要在index的onload里面接收直接options.XXX就可以。
2、使用微信官方文档提供的URL Scheme或URL Link
https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/url-link/urllink.generate.html
2.1、官方对二者的描述:
自 2022 年 4 月 11 日起,URL Link有效期最长 30 天,不再支持永久有效的URL Link、不再区分短期有效URL Link与长期有效URL Link。若在微信外打开,用户可以在浏览器页面点击进入小程序。每个独立的URL Link被用户访问后,仅此用户可以再次访问并打开对应小程序,其他用户无法再次通过相同URL Link打开该小程序。 在本次规则调整生效前已经生成的URL Link,如果有效期超过30天或长期会被降级为30天有效,只能被1个用户访问,开始时间从调整日期开始计算。
2.2、区别:
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/url-scheme.html
iOS系统支持识别 URL Scheme,可在短信等应用场景中直接通过Scheme跳转小程序。
Android系统不支持直接识别 URL Scheme,用户无法通过 Scheme 正常打开小程序,开发者需要使用 H5 页面中转,再跳转到 Scheme 实现打开小程序
2.3、传参(由此判断还是使用URL Link多一些)
具体生成方式可参考官方文档,URL Link传参时向下面地址发送组装后的参数,
POST https://api.weixin.qq.com/wxa/generate_urllink?access_token=ACCESS_TOKEN
可将H5向小程序传递的参数放入query中:
parameters.put("query","a=" + a+ "&b=" +b);
小程序接收同上。