问题:(大部分机器跳小程序成功,个别机器跳小程序失败)wx.config的ready触发、error不触发,wx-open-launch-weapp标签事件不触发
操作系统:ios/15.1.1, micromessenger/8.0.7
操作:wx.config的ready触发、error不触发,wx-open-launch-weapp标签ready不触发;点击按钮, wx-open-launch-weapp的父级click 事件触发,wx-open-launch-weapp的launch和error没有触发。
代码:
const init = () => {
return new Promise((resolve, reject) => {
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印
appId: res.app_id, // 必填,公众号的唯一标识
timestamp: res.timestamp, // 必填,生成签名的时间戳
nonceStr: res.nonce_str, // 必填,生成签名的随机串
signature: res.signature, // 必填,签名
jsApiList: [ 'wx-open-launch-weapp'], // 必填,需要使用的JS接口列表
openTagList: ['wx-open-launch-weapp'], // 可选,需要使用的开放标签列表,例如['wx-open-launch-app']
});
// 通过ready接口处理成功验证
wx.ready(function () {
console.log('ready');
// wx.hideOptionMenu();
resolve(true);
});
wx.error(function (err: Error) {
console.log('error', err);
reject(err);
});
});
};
<div class="btn-1" @click="toMiniprogram">
<div class="btn-text">马上前往</div>
<wx-open-launch-weapp
id="launch-btn"
:username="originalId"
:path="path"
@launch="ifReLoad"
@error="errorHandler"
@ready="onReady"
>
<div v-is="'script'" type="text/wxtag-template">
<div
style="
display: block;
width: 231px;
height: 64px;
border-radius: 32px;
font-size: 16px;
font-weight: 600;
color: #ff431e;
line-height: 64px;
text-align: center;
"
></div>
</div>
</wx-open-launch-weapp>
</div>
解决了,在社区看到别的同仁解答(谢谢分享),问题原因:ios 15.x,但是微信版本不是最新的(确认8.0.16可以跳小程序)就会跳不了小程序,解决方法:ios升级到15 微信版本也要升级到最新