具体报错信息:
`{"errMsg":"login:fail rejected due to no permission currently"}`
场景解释:
- 用户进入小程序后,我们会直接调用 wx.login 来获取 code,
- 然后 code 发给我们自己的后端,在后端换取 open_id 和 session_key
- open_id 会用于唯一识别,创建一条用户记录(User model)等同于注册了一个用户账号。
- 然后返回 JSON Web Token(JWT) 给微信小程序,小程序会存起来,并且之后的请求中都会带上 JWT。
- 总结:发出去 code,收到 JWT。
简化版总结:
由于 wx.login 获取 code 这一步遇到问题,导致后续业务流程失败。
代码大概长这样:
wx.login({
success: (res) => {},
fail: (e) => {
log.error(e);
log.setFilterMsg("app.js_wx_login");
}
})
补充说明:我们用了微信提供的实时日志功能,具体请参考:https://developers.weixin.qq.com/miniprogram/dev/framework/realtimelog/
使用方法如下(表达个大概意思,引入+使用,请参照官方文档里给的那个 log.js 就明白了):
var log = require("./utils/log.js");
log.error(e);
# 在实时日志中看到上报了如下截图的信息。
总结:
- 当 wx.login 失败,我们用微信官方提供的"实时日志"功能,把错误上报。所以在网页后台(如上图)中看到了上述报错。
提问:
为什么 wx.login 会 fail?这里提示 no permission,那么要怎样让用户授权呢?
应该是这个原因吧:https://blog.csdn.net/m0_56541311/article/details/125645942