wx-open-launch-app唤醒launch:fail
检查了各种参数都是正常的。
现在在开发者工具上成功的,在ios真机上面没有弹框,点击直接提示launch:fail
代码如下
const WechatOpenApp = (props: any) => {
const launchBtn = useRef<HTMLButtonElement>(null!);
useEffect(() => {
if (!IS_WECHAT) {
return;
}
const ready = () => {
console.log('wx ready');
};
const launch = (e: any) => {
console.log('wx launch', e);
};
const error = (e: any) => {
console.log('wx error', e);
Toast.show({
content: '微信唤醒服务失败,错误信息:' + e.detail.errMsg,
});
};
const ref_ = launchBtn.current;
ref_.addEventListener('ready', ready);
ref_.addEventListener('launch', launch);
ref_.addEventListener('error', error);
return () => {
ref_.removeEventListener('ready', ready);
ref_.removeEventListener('launch', launch);
ref_.removeEventListener('error', error);
};
}, []);
const style = { position: 'absolute', top: 0, left: 0, right: 0, bottom: 0 };
return IS_WECHAT ? (
<wx-open-launch-app
ref={launchBtn}
id="launch-btn"
appid={WECHAT_OPEN_APP_ID}
extinfo={encodeURIComponent(window.location.href)}
style={style}
>
<script type="text/wxtag-template">
<button
></button>
</script>
</wx-open-launch-app>
) : null;
};
已解决!
微信bug!!!!!!!!!!!!!!!
总结:直接输入网址不行,需要用sdk分享卡片,或者使用开发者工具-打开后右上角扫码浏览。https://juejin.cn/post/7033757418085580831/
"launch:fail"调⽤失败,或安卓上该应用未安装,或iOS上用户在弹窗上点击确认但该应⽤未安装。 你这没弹窗? 有点诡异 啊
document.addEventListener('WeixinOpenTagsError', function (e) {
console.error(e.detail.errMsg); // 无法使用开放标签的错误原因,需回退兼容。仅无法使用开发标签,JS-SDK其他功能不受影响
});
https://developers.weixin.qq.com/doc/oplatform/Mobile_App/WeChat_H5_Launch_APP.html