收藏
回答

wx.config config:fail,invalid signature?

前端代码

onMounted(() => {
  // 获取签名值
  getWxSignature().then((res) => {
    console.log(res)
    if (res.code === 200) {
      // wx.config({
      //   beta: true,
      //   debug: false,
      //   appId: res.data.appId,
      //   timestamp: res.data.timestamp,
      //   nonceStr: res.data.nonceStr,
      //   signature: res.data.signature,
      //   jsApiList: ['openSubscribe'],
      // });
      // loadWxJsSdk()
      wx.config({
        debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
        appId: 'wxe6c243e3ed9333ab', // 必填,公众号的唯一标识
        timestamp: res.data.timestamp, // 必填,生成签名的时间戳
        nonceStr: res.data.nonceStr, // 必填,生成签名的随机串
        signature: res.data.signature,// 必填,签名
        jsApiList: ['openCard'],
        openTagList: ['wx-open-subscribe', 'wx-open-launch-weapp', 'wx-open-launch-app']
      });

      wx.ready(() => {
        console.log('sdk加载ok--->',location.href.split('#')[0]);
      });
      wx.error((res) => {
        console.log('sdk加载失败--->', res + " " + location.href.split('#')[0]);
      });
    }
  })
});


后端代码

/**
 * 生成签名
 * @return
 */
@Override
public JSONObject generateWechatSignature() {
    String nonceStr = WechatSignatureUtil.generateNonceStr();
    String jsapiTicket = getJsSdkTicket();
    // 时间戳
    Long timestamp = WechatSignatureUtil.generateTimeStamp();
    // 签名url
    String url = "https://project.gxwx.org.cn/wxCheckAuthSuccess";
    String encryptStr = "jsapi_ticket=" + jsapiTicket + "&noncestr=" + nonceStr + "×tamp=" + timestamp + "&url=" + url;
    // 对encryptStr进行sha1加密
    String signature = DigestUtils.sha1Hex(encryptStr);

    JSONObject signatureObject = new JSONObject();
    signatureObject.put("nonceStr", nonceStr);
    signatureObject.put("timestamp", timestamp);
    signatureObject.put("signature", signature);
    signatureObject.put("url", url);
    signatureObject.put("jsapi_ticket",jsapiTicket);
    return signatureObject;
}


控制台

签名验证

JS安全域名:project.gxwx.org.cn

为什么还是报错签名错误呢


############################已解决############################################

大家如果遇到类似的问题请跳转https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#66查看

附录5第二点给了几个大致的错误方向,可以先从这几个方面进行排查

我的就是出现在第三小点完整url的问题

最后一次编辑于  2025-05-08
回答关注问题邀请回答
收藏

2 个回答

  • 拜拜
    拜拜
    2025-05-27

    这个url是不是必须为你设置的安全域名才可以 本地的ip地址不行吧?那本地怎么调试啊...

    2025-05-27
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    发表于移动端
    2025-05-07
    微信故障了
    2025-05-07
    有用
    回复 19
    • on & on
      on & on
      2025-05-08
      哪个地方有公告吗
      2025-05-08
      回复
    • Mr.Zhao
      Mr.Zhao
      2025-05-08回复on & on
      2025-05-08
      回复
    • on & on
      on & on
      2025-05-08
      这个粘贴格式有点问题,idea里边是这样的
      2025-05-08
      回复
    • Mr.Zhao
      Mr.Zhao
      发表于小程序端
      2025-05-08回复on & on

      截个图吧

      2025-05-08
      回复
    • on & on
      on & on
      2025-05-08
      你想看哪个地方?
      2025-05-08
      回复
    查看更多(14)
登录 后发表内容