Bootstrap

【微信公众号H5】H5 使用 jssdk 出现的问题 错误码:63002 invalid signature (安卓注册config正常 则ios注册config 签名错误问题 )

1.微信开发者,jssdk报config:fail,Error: 系统错误,错误码:63002,invalid signature

1.检查URL跟服务端接收到的URL 是否正确 URL Http用post方式  保证后端拿到的url是完整的 

2.服务端 检验签名是否正确 哪怕是测试检测签名正确 也要让服务端从头检查 重点要前端注册的时候不出错

3.非常重要的是 一定要检查后端的jsapi_ticket 是否正确

出现错误的情况有如下:

3.1.出现反复请求jsapi_ticket 导致过期不是最新  应缓存jsapi_ticket 及 token

3.2.后端获取 jsapi_ticket  请求的路径出错

注释:正确的是https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi 

4.注意参数type是否正确  微信官方有两个type

4.1.JS-SDK使用权限签名算法 type = jsapi

4.2.卡券扩展字段及签名生成算法  type = wx_card

微信文档

2.系统错误,错误码:40048

1.如果是开发者工具的话 直接换成手机测试

2.检查appid是否是对应公众号的appid 

往往出错的不是不会 而且在于疏忽 过于自信导致

 

3.解决安卓注册config正常 则ios注册config 签名错误问题 

原因是ios 无论路由跳转多少次,复制出来的链接都是首次进入的页面的链接 所以重点来了

Vue.prototype.href = window.location.href

记录第一次 进入的链接 在注册的时候 判断是否是ios 进行相对于的修改

let url = location.href.split('#')[0]
let isIOS = function () {
    var isIphone = navigator.userAgent.includes('iPhone')
    var isIpad = navigator.userAgent.includes('iPad')
    return isIphone || isIpad
  }
if (isIOS()) {
   url = this.firstUrl
}
const data = await wechatConfig(url)
;