Bootstrap

微信H5(公众号)跳转微信小程序实现及其传参

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 SchemeURL 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);

小程序接收同上。

;