- 直接獲取用戶數(shù)據(jù)
wx.getUserInfo({
success: function (res) {
var userInfo = res.userInfo
console.log("獲取登錄用戶的所有信息")
console.log(res.userInfo)
}
})
- 如果用戶拒絕,提示模態(tài)框椅邓,點擊確定柠逞,進入設置,再次讓用戶選擇允許景馁。
fail: function (res) {
wx.showModal({
title: '提示',
content: '獲取用戶信息失敗板壮,這將影響您使用小程序,是否重新設置授權合住?',
showCancel: true,
cancelText: "否",
confirmText: "是",
success: function (res) {
if (res.confirm) { //點擊是
wx.openSetting({ //打開設置
success: function (res) {
console.log(res)
if (res.authSetting['scope.userInfo'] === true) {
wx.getUserInfo({
success: function (res) {
console.log("重新登錄成功")
var userInfo = res.userInfo
var nickName = userInfo.nickName //用戶名
var avatarUrl = userInfo.avatarUrl //頭像
console.log("獲取登錄用戶的所有信息")
console.log(res.userInfo)
that.setData({
imageInfo: avatarUrl,
userName: nickName,
hasUserInfo: true,
isLogin: true,
})
t.globalData.imageInfo = avatarUrl;//全局變量表示登錄用戶頭像
t.globalData.userName = nickName;//登錄用戶名
}
})
}
}
})
} else if (res.cancel) {
console.log('用戶取消授權個人信息');
}
}
初始狀態(tài)
點擊登錄
如果點擊允許
從微信后臺獲取到的信息
前臺解析并顯示
得到用戶名和頭像
如果點擊拒絕绰精,讓你重新選擇
顯示模態(tài)框
點擊是撒璧,就進入設置界面
進入設置界面
點擊勾選,返回即可登錄笨使。
loginwx: function() {
var that = this
if(that.data.isLogin == false)
{
wx.getUserInfo({
success: function (res) {
var userInfo = res.userInfo
var nickName = userInfo.nickName //用戶名
var avatarUrl = userInfo.avatarUrl //頭像
console.log("獲取登錄用戶的所有信息")
console.log(res.userInfo)
// wx.showToast({
// title: nickName,
// });
that.setData({
imageInfo: avatarUrl,
userName: nickName,
hasUserInfo: true,
isLogin: true,
})
t.globalData.imageInfo = avatarUrl;//全局變量表示登錄用戶頭像
t.globalData.userName = nickName;//登錄用戶名
},
fail: function (res) {
wx.showModal({
title: '提示',
content: '獲取用戶信息失敗沪悲,這將影響您使用小程序,是否重新設置授權阱表?',
showCancel: true,
cancelText: "否",
confirmText: "是",
success: function (res) {
if (res.confirm) {
wx.openSetting({
success: function (res) {
console.log(res)
if (res.authSetting['scope.userInfo'] === true) {
wx.getUserInfo({
success: function (res) {
console.log("重新登錄成功")
var userInfo = res.userInfo
var nickName = userInfo.nickName //用戶名
var avatarUrl = userInfo.avatarUrl //頭像
console.log("獲取登錄用戶的所有信息")
console.log(res.userInfo)
that.setData({
imageInfo: avatarUrl,
userName: nickName,
hasUserInfo: true,
isLogin: true,
})
t.globalData.imageInfo = avatarUrl;//全局變量表示登錄用戶頭像
t.globalData.userName = nickName;//登錄用戶名
}
})
}
}
})
} else if (res.cancel) {
console.log('用戶取消授權個人信息');
}
}
})
}
})
}