收藏
回答

wx-open-launch-app报错 console.log(e.detail)是 {} 空对象

问题描述

1、微信H5页面,能够通过鉴权,并可以显示开放标签按钮;(服务号和开放平台账号同主体,服务号js安全域名已设置,开放平台-管理中心-公众账号-移动应用已设置)

2、点击"APP打开"按钮,可以触发error事件(没有任何弹框)通过vConsole打印失败信息至控制台,发现e.detail是{};



3、核心代码:

  
					
				    App打开

				  
				


                               //微信鉴权
    				this.$api.order.getSignature({
    					param: encodeURIComponent(window.location.href.split('#')[0])
    				}).then(res => {
					if (res.data.code === 200) {
						let data = res.data.data;
						jweixin.config({
							debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印
							appId: data.appid, // 必填,公众号的唯一标识
							timestamp: data.timestamp, // 必填,生成签名的时间戳
							nonceStr: data.noncestr, // 必填,生成签名的随机串
							signature: data.sign, // 必填,签名
							jsApiList: ['hideMenuItems', 'hideAllNonBaseMenuItem'], // 必填,需要使用的JS接口列表
							openTagList: ['wx-open-launch-app',
								'wx-open-launch-weapp'
							] // 可选,需要使用的开放标签列表,例如['wx-open-launch-app']
						});
						jweixin.ready((result) => {
							this.weixinInit = true;
							jweixin.hideAllNonBaseMenuItem();
						});
						jweixin.error((result) => {
							this.weixinInit = false;
							console.log('签名获取失败,请刷新页面重试!');
							// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
						});
					}
				})
                   //打印错误日志
                    appError(e) {
    				console.log(e)
    			}

4、复现地址:

最后一次编辑于  2021-11-01
回答关注问题邀请回答
收藏

2 个回答

  • 🇲 🇷 🇱 🇺 🇴
    🇲 🇷 🇱 🇺 🇴
    2022-07-12

    解决了吗,是什么问题呢

    2022-07-12
    有用
    回复
  • 大路
    大路
    2021-12-20

    同样问题+1

    2021-12-20
    有用
    回复
登录 后发表内容