添加一个点击事件
<text @click="bindGetUserInfo">登录/注册</text>
login() {
let _this = this;
// 获取登录用户code
uni.login({
success: (res) => {
// console.log('res',res)
if (res.code) {
this.wxcode = res.code
} else {
uni.showToast({
title: '微信登录失败!',
duration: 2000
});
}
},
});
},
//登录授权
bindGetUserInfo() {
var _this = this;
this.login()
uni.getUserProfile({
desc: '登录',
success: (response) => {
console.log('response', response)
try {
uni.showLoading({
title: '登录中...'
});
//请求后台,成功并隐藏加载
uni.hideLoading({
})
} catch (e) {
uni.showToast({
title: "微信登录失败",
icon: "none"
});
}
},
fail: (res) => {
uni.showToast({
title: "您已取消授权",
icon: "none"
});
}
});
},
以上就可以获取用户信息了
//微信登录状态监测
checkLogin() {
wx.checkSession({
success() {
console.log('ok');
},
fail() {
//wx.login() // 重新登录
console.log('expire');
}
})
},
//用户是否授权
wxGetUserInfo(res){
if (!res.detail.iv) {
uni.showToast({
title: "您取消了授权,登录失败",
icon: "none"
});
return false;
}
console.log(res.detail);
},