小程序调用授权开发接口,getuserInfo时,外层必须是一个button按钮,且不能加点击事件
<button
open-type="getUserInfo"
withCredentials="true"
class="mc btn-auth"
@getuserinfo="getUserInfo"
>
授权登录
</button>
getUserInfo() {
let userInfo: any = {};
let _this = this;
uni.login({
provider: "weixin",
success: (res: any) => {
let code = res.code;
uni.getUserInfo({
provider: "weixin",
lang: "zh_CN",
success: function(res: any) {
let userInfo = {
avatarUrl: res.userInfo.avatarUrl,
nickName: res.userInfo.nickName,
iv: res.iv,
encryptedData: res.encryptedData,
};
},
fail: function(err: any) {
_this.Foundation.confirm(
"您点击了拒绝授权,将无法正常使用发布功能,点击确定重新获取授权。",
"温馨提示",
() => {
uni.openSetting({
success: (res: any) => {
_this.getUserInfo();
},
});
}
);
},
});
},
});
}
判断是否授过权
handleJudgeAuth() {
let _this = this;
uni.getSetting({
success: (res: any) => {
if (res.authSetting["scope.userInfo"]) {
_this.getUserInfo();
} else {
_this.isShowAuth =true;
}
},
});
}
手机号授权
<button
class="getPhone-btn"
open-type="getPhoneNumber"
@getphonenumber="getPhoneNumber"
v-show="loginBtn"
></button>
/*获取手机加密信息 */
getPhoneNumber(e: any) {
let { errMsg, encryptedData, iv } = e.detail;
let _this = this;
if (errMsg == "getPhoneNumber:ok") {
_this.phoneInfo = {
encryptedData: encryptedData,
iv: iv,
};
this.saveUser();
} else {
_this.Foundation.alert("手机号授权失败!");
}
}