微信JSSDK的使用总结

326 阅读1分钟

很久没做公众号了,最近朋友问关于签名错误的问题,都忘记了。做一下笔记 demo中的地址是我花生壳的地址,需要测试的自己搞个花生壳或者处理一个hosts。appid到这里申请测试号
DEMO

概要

  • 服务:Eggjs, redis(win可以用phpstudy方便,mac homebrew安装)
  • 工具:花生壳(可以使用其他内网穿透或者修改hosts)

接口配置信息

这里有个需要注意的地方:验证通过后, 返回过去的echostr,不要写成对象啥的,就这个字符串,不然会配置失败

// 验证是否经过微信服务器
async verifyWechat() {
    try {
        const { ctx, service } = this
        const { signature, echostr, timestamp, nonce } = ctx.query
        const verifyRes = await service.wechat.verifySignature(timestamp, nonce, signature)
        if (verifyRes) {
            // echostr 把这个返回给微信,其他的什么都不要
            ctx.body = echostr
        }
    } catch (error) {
        console.log(error)
    }
}

WechatIMG375.jpeg

授权登录的问题

  • Scope参数错误或没有Scope权限解决方法
    没有配置接口,找到接口配置,把回调的地址填上去,注意不要填http WechatIMG377.png WechatIMG378.png
  • redirect_uri错误
    查看回调地址是否写错了,这个跳转的地址是需要http或者https的和上面的配置的不一样
  • 签名错误问题 主要关注文档附录5-常见错误及解决方法这几个问题是否出错,基本可以解决。