补充说明:使用http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 进行签名结果校验,输出的结果与后端返回的结果是一致的。但是还是会提示文章中的弹框报错信息
wx.config初始化提示 "config:invalid signature"?网页引入JS-SDK,在微信环境加载,wx.config初始化过程中,总是提示{"realAuthUrl": "", "errMsg": "config:fail"},没有更具体的报错信息,很难定位排查,微信客服和技术支持不知道如何联系,只能在这里留贴待处理了,真的很难用!!! 我的项目时react hooks 框架写的 在 index.js 中,判断微信环境,引入了 微信环境 依赖文件 const UA = window.navigator.userAgent; let isWechatMP = UA.indexOf("MicroMessenger") > -1 || UA.indexOf("miniProgram") > -1; let isAliPayMP = UA.indexOf("AlipayClient") > -1; if(isWechatMP) { console.log("初始化微信小程序依赖") let script = document.createElement("script"); script.src = "https://res.wx.qq.com/open/js/jweixin-1.6.0.js"; document.body.appendChild(script); script.onload = function () { // 使用公众号appid 进行定位权限等的注册 initWxConfig({ appId: "wx7243576362df1f78" }) } } } import { getWxSignData } from "api" export default async function initWxConfig({ appId }) { if (window.wx) { const url = window.location.href.split('#')[0]; const { result, errcode } = await getWxSignData( {appId, url }) if (errcode === "0000") { const { timestamp, nonceStr, signature } = result; window.wx.config({ debug: true, appId, timestamp, // 必填,生成签名的时间戳 nonceStr, // 必填,生成签名的随机串 signature,// 必填,签名 jsApiList: ["getLocation"], }) window.wx.ready(function(){ console.log('微信JS-SDK注册的appId:', appId) // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。 console.log("微信JS-SDK初始化完成===") }); window.wx.error(function(res){ // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。 console.error("微信JS-SDK初始化失败===", res) }); } else { return false } } else { console.error("微信小程序环境未初始化") setTimeout(() => { initWxConfig({appId}) }, 1000) return false } } 当前页面,使用hash路由,按照微信JS-SDK技术文档,使用#之前的地址:https://xxxxx/app-h5/h5-travel-planning 对比微信JS-SDK技术文档,公众号管理台已经补充了js安全域名的配置:xxxxx/app-h5/h5-travel-planning 安全域名的校验文件:https://xxxxx/app-h5/h5-travel-planning/xxxx.txt 也可以访问到的; 但是在微信客户端加载该页面时,还是提示如下截图所示的问题,没有具体的报错信息,很难定位问题 [图片]
02-20