找到问题所在了,原来是架构师的锅 在进入页面的时候,引用了一段代码,插入iframe,路径是bridge_loaded 貌似是兼容页面在ios的app打开用的
2024/11/21tabbar页面使用webview 报错无法访问bridge_loaded求解?<web-view src="{{webUrl}}" bindmessage="handleGetMessage"></web-view> tabbar的页面里这样使用webview组件的 [图片]
12-06自己的经验,可以按顺序排查 1、如果是单页应用,需要取进入页面时的页面路径来验签,安卓动态取链接来延签 2、检查进入链接时,是否有特殊字符,比如!'()*。因为有一个特殊场景,encodeURIComponent是不会转义这些字符的,如果是小程序webview打开H5链接的场景,参数的值有这些特殊字符,也会无法转义,然后进入到页面,微信就会拿第一个进入的链接来验签(待括号的),但是浏览器又会把括号转义,造成H5的js获取到的是括号被转义的链接(举例,没转义:a.b.com/f=(k),转义的a.b.com/f=%28k%29)
wx.config realAuthUrl invalid signature?直接说问题,先看公众号配置 [图片] 附加: js安全域名 例如: 线上是www.aa.com/bb 我配置了多个(js安全域名最多配置5个) www.aa.com/bb和www.aa.com [图片] [图片][图片] 这里后端返回的nonceStr长度36位,这里我看到别人返回的一般是16位或者32位,(这里我也是有疑问的) 这里 官方说的是 签名用的 noncestr 和timestamp必须与 wx.config 中的 nonceStr 和timestamp相同。签名用的 url 必须是调用 JS 接口页面的完整URL。出于安全考虑,开发者必须在服务器端实现签名的逻辑。但是 附录5-常见错误及解决方法 invalid signature 3.确认 url 是页面完整的url(请在当前页面alert(location.href.split('#')[0])确认),包括[代码]'http(s)://'[代码]部分,以及'?'后面的 GET 参数部分,但不包括'#'hash后面的部分。 6. 确保你获取用来签名的 url 是动态获取的,动态页面可参见实例代码中 php 的实现方式。如果是 html 的静态页面在前端通过 ajax 将url传到后台签名,前端需要用 js 获取当前页面除去'#'hash部分的链接(可用location.href.split('#')[0]获取,而且需要encodeURIComponent),因为页面一旦分享,微信客户端会在你的链接末尾加入其它参数,如果不是动态获取当前链接,将导致分享后的页面签名失败。 这俩点和上面的 第 2 点 和 附录5的第三点 又出现冲突 后端代码: [图片] [图片] [图片] [图片] 真机报错: [图片]
11-13自己的经验,可以按顺序排查 1、如果是单页应用,需要取进入页面时的页面路径来验签,安卓动态取链接来延签 2、检查进入链接时,是否有特殊字符,比如!'()*。因为有一个特殊场景,encodeURIComponent是不会转义这些字符的,如果是小程序webview打开H5链接的场景,参数的值有这些特殊字符,也会无法转义,然后进入到页面,微信就会拿第一个进入的链接来验签(待括号的),但是浏览器又会把括号转义,造成H5的js获取到的是括号被转义的链接(举例,没转义:a.b.com/f=(k),转义的a.b.com/f=%28k%29)
出现 realAuthUrl errMsg:config:invalid signature ?[图片] 已确保: 1.签名算法正确,已经过微信工具进行校验 2.前后端用于config的所有参数均一致,没有任何差异 3.access_token和jsapi_ticket均已进行7200秒缓存,失效后自动重新获取并缓存 4.公众号已配置js安全域名(https://applet.chinaant.net),并已配置该域名和后台所在服务器的公网IP白名单 目前怀疑原因: url不正确,但不知道为什么不正确,已参照网上说的方案,前端处理url后进行传递,但仍会出现报错 created() { const script = document.createElement("script"); script.type = "text/javascript"; script.src = "https://res2.wx.qq.com/open/js/jweixin-1.6.0.js"; document.body.appendChild(script); let url = location.href.split("#")[0]; this.$message.toast(url); setTimeout(async () => { let data = await this.$http.quitRequest(this.$app.h5Server + "/jsapi/configJsSdk", {url: encodeURIComponent(url)}); let config = data.list[0]; console.log(config) wx.config({ debug: true, appId: config.appId, // 必填,公众号的唯一标识 timestamp: config.timestamp, // 必填,生成签名的时间戳 nonceStr: config.nonceStr, // 必填,生成签名的随机串 signature: config.signature,// 必填,签名 jsApiList: ["openLocation"], // 必填,需要使用的JS接口列表 openTagList: ["wx-open-launch-weapp"] // 可选,需要使用的开放标签列表,例如['wx-open-launch-app'] }); wx.ready(() => { }); wx.error((res) => { console.log(res) }); }, 100); }
11-13const fundList = ['012956','019121','011009']; this.setData({ fundList: fundList.map(fundCode => (res?.data?.data||[]).find(fundItem => fundItem.fundCode === fundCode)) });
稍微找到些触发快照页的规律,大家看看?新建一个微信号,没关注过公众号个没授权过得,然后直接访问userinfo授权的页面,期间不要点击屏幕,必定会进入快照页 如果访问期间点击了屏幕,可能就命中的点击再授权的规则,不触发快照页了
06-06判断当前H5商城的环境,ua显示在小程序,跳转过渡页,再跳转对应小程序页面来支付(如果还有标识判断是在支付的小程序,直接应小程序路由方法跳转) ua显示不在小程序,判断是否在微信环境,在的话用开放标签跳转小程序 以上两种场景都不符合,才使用urlScheme
在小程序中使用web-view打开H5的商城,在H5商城无法拉起小程序支付?[图片][图片] 在小程序中使用web-view打开H5的商城,在H5商城下单成功以后,点击支付的时候,会推送一个支付单到小程序后台,小程序后台创建支付单成功以后,H5商城通过明文scheme拉起此小程序,提示错误,无法访问此网站,在谷歌浏览器直接打开H5商城,下单成功以后,点击支付是可以正常拉起小程序,并携带参数打开小程序的支付页面
05-28重定向地址需要encodeUriComponent处理吧
企业微信手动授权未触发授权弹出?https://open.work.weixin.qq.com/wwopen/sso/qrConnect?appid=appId&agentid=agentid&scope=snsapi_privateinfo&redirect_uri=https://his-yfb.meiweigroup.com/his-war/wechat/qyWeChatLogin&lang=zh&href=https://mw-video.oss-cn-shanghai.aliyuncs.com/wty/wechat-qrcode.css&state=TEST-&version=1.2.7&login_type=jssdk 大神们帮我来看看。这个为什么没有触发授权弹窗
01-04大概率是地址写错了
明文URL Scheme生成的链接提示”对不起,当前页面无法访问“?明文URL Scheme生成的链接使用外部浏览器 还有内部小程序直接打开都是提示“对不起,当前页面无法访问” 而且ios和安卓都试过了
01-04可以在wx.miniProgram.navigateTo的fail回调里查看报错信息的
小程序内webview H5页面跳转至小程序原生页面,该如何实现?小程序内webview H5页面跳转至小程序原生页面,在H5页面中使用wx.miniProgram.navigateTo({url:url}),无法打开小程序内指定的页面,该如何实现内嵌H5跳转至小程序内指定页面?
2023-09-07是否reLaunch的链接是不存在的
wx.reLaunch出现白屏,只显示tabbar,且屏幕一直闪烁某个功能实现后调用wx.reLaunch,之后出现白屏,只显示tabbar。当注释掉wx.reLaunch相关代码后恢复正常
2023-09-04同问,我也碰到这个情况了,用了官方demo,onNeedPrivacyAuthorization 时触发弹窗,但是点了不同意,resolve了dis-agree事件,但是后来又出现getLocation的授权弹窗,询问拒绝还是允许,按这给你来说,应该不会触发弹窗才对
onNeedPrivacyAuthorization调用隐私协议拒绝后,定位授权弹窗不会关闭?场景:需要在onshow里面调用地理位置授权getLocation, 授权前调用了wx.onNeedPrivacyAuthorization,参数接口都正常,成功调起隐私协议弹窗。 用户拒绝后,地理位置授权弹窗还是继续弹起(实际未同意隐私协议,授权接口无效)。 基础库:3.0.0
2023-08-29