微信小程式之登入
阿新 • • 發佈:2019-01-10
直接獲取使用者資料
wx.getUserInfo({ success: function (res) { var userInfo = res.userInfo console.log("獲取登入使用者的所有資訊") console.log(res.userInfo) } })
如果使用者拒絕,提示模態框,點選確定,進入設定,再次讓使用者選擇允許。
fail: function (res) { wx.showModal({ title: '提示'
如果點選允許
前臺解析並顯示
如果點選拒絕,讓你重新選擇
點選是,就進入設定介面
點選勾選,返回即可登入。
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('使用者取消授權個人資訊');
}
}
})
}
})
}