开发中涉及到一个需求,就是从一个预约票购买的页面 需要跳转到 查看行程轨迹 的小程序。试过其他方法才知道微信h5或小程序中是无法直接跳转到小程序的。这里微信提供了一个开放标签,wx-open-launch-weapp,通过它可以满足需求。
开放对象:
- 已认证的服务号,服务号绑定“JS接口安全域名”下的网页可使用此标签跳转任意合法合规的小程序。
- 已认证的非个人主体的小程序,使用小程序云开发的静态网站托管绑定的域名下的网页,可以使用此标签跳转任意合法合规的小程序。
下面是具体步骤和代码:
1. 绑定域名
登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
2. 引入JS文件
在需要调用JS接口的页面(index.html)引入如下JS文件:
http://res.wx.qq.com/open/js/jweixin-1.6.0.js (支持https)
如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:http://res2.wx.qq.com/open/js/jweixin-1.6.0.js (支持https)
//index.html <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
3. 通过config接口注入权限验证配置并申请所需开放标签
与使用JS-SDK配置方式相同,所有需要使用开放标签的页面必须先注入配置信息,并通过openTagList
字段申请所需要的开放标签,否则将无法使用(同一个url仅需调用一次)。开放标签的申请和JS接口的申请相互独立,因此是可以同时申请的。
wx.config({debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印appId: '', // 必填,公众号的唯一标识timestamp: , // 必填,生成签名的时间戳nonceStr: '', // 必填,生成签名的随机串signature: '',// 必填,签名jsApiList: ['showMenuItems'], // 必填,需要使用的JS接口列表,不能为空,为空的话安卓会有问题openTagList: ['wx-open-launch-weapp'] // 可选,需要使用的开放标签列表,例如['wx-open-launch-app']
});
4. 所需要的页面写入(vue为例)
<wx-open-launch-weappid="launch-btn"username="gh_xxxxxxx" //此处为所需要的跳转的小程序原始idpath="" //path可以不传,但是传一定要加html后缀><script type="text/wxtag-template"><style>.btn { padding: 6px}</style><div class="btn">查看行程码</div></script></wx-open-launch-weapp>
如果页面报错找不到模板wx-open-launch-weapp,可以在main.js配置
//main.js
Vue.config.ignoredElements = ['wx-open-launch-weapp'];
5.功能实现效果
原文地址:微信h5跳转小程序 - 知乎
参考文章1:H5如何跳转微信小程序? | 微信开放社区
参考文章2:外部h5页面跳转微信小程序 - 简书
参考文章3:H5页面跳转微信小程序_风高物燥的博客-CSDN博客_h5跳转到微信小程序
参考文章4:H5跳转小程序_夜神夜神的博客-CSDN博客_h5跳转小程序