今天做微信小程序登录时,发现uni.login这个方法一直进不去,后来经研究发现了是appId的问题,首先要在hbuilderx的manifest.json下的App模块配置把OAuth打开,然后添加AppID,这里的AppID要跟小程序开发工具的AppID一致(注:记得要关闭开发者工具重新导入项目,一定)
<u-button type="default" @click="wxLogin">微信登陆</button>
wxLogin() {
// 获取服务供应商
uni.getProvider({
service: 'oauth',
success: (res) => {
console.log(14, res);
if (~res.provider.indexOf("weixin")) {
// uni微信登陆
uni.login({
provider: 'weixin',
success: function (loginRes) {
// let access_token = loginRes.authResult.access_token
// let openid = loginRes.authResult.openid
// console.log('openid', openid)
console.log(11,JSON.stringify(loginRes));
// 获取用户信息
uni.getUserInfo({
provider: 'weixin',
success: function (infoRes) {
console.log('-------获取微信用户所有-----');
console.log('获取微信用户所有',infoRes);
uni.request({
url: "/wxLogin", //后端接口
method: 'POST',
data: {
code: loginRes.code,
encryptedIv: infoRes.iv,
encryptedData: infoRes.encryptedData,
},
success: (wxLoginRes) => {
console.log(
"wxLoginRes: ",
wxLoginRes);
}
})
}
});
},
fail(e) {
console.log(e);
},
complete(e) {
console.log(e);
}
});
}
}
})
}
这样就成功啦