1. 获取用户头像、昵称
<view class="cu-btn shadow lg bg-gradual-green" @click="login">微信授权登录</view>
login() {
var that = this;
uni.getUserProfile({
desc: '获取您的微信信息以授权小程序',
lang: 'zh_CN',
success: UserProfileRes => {
uni.showLoading({
title: "登录中....",
mask: true
});
uni.login({
provider: 'weixin',
success: function(loginRes) {
let form = {};
form.wxCode = loginRes.code; //用户code 注:用户的code每次登录都是随机的,所以不需要进行存储
form.wxAvatar = UserProfileRes.userInfo.avatarUrl; //用户头像
form.nickName = UserProfileRes.userInfo.nickName; //用户微信名
form.sex = UserProfileRes.userInfo.gender; //性别
that.request('/open/login', form, 'POST').then(wxloginres => {
if (wxloginres.code==200) {
uni.hideLoading();
that.$refs.uToast.show({
type: 'default',
message: "登录成功!",
complete() {
if(wxloginres.appUser.phonenumber) {
that.$u.route({type: 'back',delta: 1});
}
else that.$u.route({type: 'redirect',url:'/pages/login/TelOperate',param:{type:'bindTel'}});
}
});
} else {
uni.hideLoading();
that.$refs.uToast.show({
type: 'default',
message: "登录失败,请稍后再试!",
complete() {
that.$u.route({type: 'back',delta: 1});
}
});
}
})
},
fail(err) {
console.log(err)
}
});
},
fail: err => {
console.log(err)
}
})
},
2. 获取手机号
<button class="cu-btn shadow lg bg-gradual-green" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">微信授权登录</button>
getPhoneNumber(e) {
let that = this;
if(["getPhoneNumber:fail user deny"].includes(e.detail.errMsg)) {
console.log("登录---用户拒绝授权");
return
/* that.$refs.uToast.show({
type: 'default',
message: "获取手机号失败!"
}); */
}
if (['getPhoneNumber:ok'].includes(e.detail.errMsg)) {
that.request('/open/phoneLogin', {wxCode: e.detail.code}, 'POST').then(wxloginres => {
if (wxloginres.code==200) {
uni.hideLoading();
that.$refs.uToast.show({
type: 'default',
message: "登录成功!",
complete() {
that.$u.route({type: 'back',delta: 1});
}
});
} else {
uni.hideLoading();
that.$refs.uToast.show({
type: 'default',
message: "登录失败,请稍后再试!",
complete() {
that.$u.route({type: 'back',delta: 1});
}
});
}
})
}
},