开发微信H5项目时,需要从h5直接跳转至app,绞尽脑汁调研一番后,发现微信开放标签能实现,but 环境配置和测试流程真的很复杂,真的配置四小时,开发仅需30分钟,经过不断踩坑终于上线,踩过的坑都给你们总结出来啦,如果能帮助到你,帮忙点赞收藏关注一下吧。
准备工作:
增加js安全域
需要在微信开放平台(https://open.weixin.qq.com/)和微信公众号两个地方配置。
注意点:
测试
把线上地址代理到测试地址。域名不能带端口 所以无法不能增加测试地址。在生成signature的时候 需要在服务端写死线上地址。
调试
尽量多输出错误log信息 判断是哪里出错
常见错误以及处理方法:
参考资料:
微信开放标签: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html
权限失败 fail_check:
https://developers.weixin.qq.com/community/develop/doc/0006023c71c5a81e233b1277252000?_at=1652247480330
终于配置完成到了开发阶段,环境配置OK后,开发阶段很简单。
前端代码:
// 配置jssdk
wx.config({
debug: false, // 测试时可开启查看是否配置成功
appId,
timestamp,
nonceStr,
signature,
openTagList: ['wx-open-launch-app'],
jsApiList: ['', ''] // 必须,里面两个值不用相同
});
// 接入配置失败
wx.error(res => {
// 配置失败处理
});
// 页面
<wx-open-launch-app
id="wechat-launch-btn"
appid="" // 要跳转到的移动应用的appid,需在微信开放平台配置
style="width: 100%; height: 100%; background: transparent; position: absolute; bottom: 0px; left: 0px;z-index:10001;"
extinfo="" // 要跳转到的url
>
<script type="text/wxtag-template">
<style>
.btn {background: transparent;}
</style>
<div class="btn" style="width: 100%; height: 100%; position: absolute; bottom: 0px; left: 0px;">
</div>
</script>
</wx-open-launch-app>
// js
this.$nextTick(() => {
const btn = document.getElementById('wechat-launch-btn');
if (btn) {
btn.addEventListener('launch', function (e) { // 成功调起
console.log('launch', e.detail, e);
});
btn.addEventListener('ready', function (e) {// 准备调起
console.log(e, 'ready', e.detail);
});
btn.addEventListener('error', e => { // 调起失败
console.log('fail', e.detail, e);
});
}
});
总结不易,如果能帮助到你,帮忙点赞收藏关注一下吧,支持原创,转发请标明原创链接https://blog.csdn.net/weixin_43522687/article/details/126035548