打开 manifest.json -> App模块权限配置,勾选 OAuth(登录鉴权)。
打开 manifest.json -> App SDK配置,查看到登录鉴权。在说明中有蓝色链接,其中包括向微信、QQ、微博等平台申请sdk的链接。
向微信、QQ、微博等平台申请到sdk的信息后,回填到manifest里。
这些配置需要打包生效,真机运行仍然是HBuilder基座的设置,可使用自定义基座包 (opens new window)。离线打包请参考离线打包文档在原生工程中配置。
配置并打包后,通过uni.getProvider可以得到配置的结果列表,注意这里返回的是manifest配置的,与手机端是否安装微信、QQ、微博无关。
// 微信登录
wechatLogin() {
let _this = this;
if(uni.getSystemInfoSync().platform == 'android' || uni.getSystemInfoSync().platform == 'ios') {
uni.getProvider({
service: 'oauth',
success: function (res) {
// console.log(111,res)
uni.login({
provider: 'weixin',
// onlyAuthorize: true,
success: function(loginRes) {
// console.log(loginRes)
// 获取用户信息
uni.getUserInfo({
provider: 'weixin',
success: function (infoRes) {
// console.log('用户昵称为:' + JSON.stringify(infoRes));
let obj = JSON.parse(JSON.stringify(infoRes))
let newObj = {
access_token: loginRes.authResult.access_token,
openId: obj.userInfo.openId,
nickName: obj.userInfo.nickName,
avatarUrl: obj.userInfo.avatarUrl,
unionId: obj.userInfo.unionId,
};
// console.log(newObj)
_this.getOpenidAndUserinfo(newObj)
},
fail:function(fail){
console.log(fail)
}
});
}
});
}
});
}
},