赶时间的同学直接看下面这段即可
data: {errcode: 40013, errmsg: "invalid appid rid: xxxxxxxxxxx"} appid的值错了
data: {errcode: 41002, errmsg: "appid missing rid: xxxxxxxxxxx"} 错用成post请求
data: {errcode: 41004, errmsg: "appsecret missing, rid: xxxxxxxxxxx"} 请求时键名错了,应为 secret
data: {errcode: 41008, errmsg: "missing code, req_id: xxxxxx "} 请求时键名错了,应为 js_code
在常见的工作中,获取用户信息一般分为手机号注册登录、微信授权登录。下方简单介绍微信登录的流程及出现错误频率较高的错误。
打开项目的manifest.json文件,在“App模块配置”项的“OAuth(登录鉴权)”下,勾选“微信登录”:
定义微信登录的方法
//微信登录
function toWXLogin(){
uni.login({
"provider": "weixin",
"onlyAuthorize": true, // 微信登录仅请求授权认证
success: function(event){
const {code} = event
//客户端成功获取授权临时票据(code),向业务服务器发起登录请求。
uni.request({
url: 'https://api.weixin.qq.com/sns/jscode2session',
data: {
js_code: code, //调取微信登录的code
appid:APPID , //软件的的appid
secret : SECRET ,//软件的appsecret密钥
grant_type : "authorization_code" //授权类型 填authorization_code即可
},
success: (res) => {
//获得token完成登录
uni.setStorageSync('token',res.token)
},
fail: (err) => {
console.log('获取微信登录失败',err);
}
});
},
fail: function (err) {
console.log('授权失败',err);
// 登录授权失败
// err.code是错误码
}
})
}
比较常见的4种错误
data: {errcode: 40013, errmsg: "invalid appid rid: xxxxxxxxxxx"} appid的值错了
data: {errcode: 41002, errmsg: "appid missing rid: xxxxxxxxxxx"} 错用成post请求
data: {errcode: 41004, errmsg: "appsecret missing, rid: xxxxxxxxxxx"} 请求时键名错了,应为 secret
data: {errcode: 41008, errmsg: "missing code, req_id: xxxxxx "} 请求时键名错了,应为 js_code