# 微信获取用户信息和微信登陆
# 微信获取用户信息
用户打开小程序 ==> 查看本地是否有用户信息
==> 有,直接使用
==> 没有 ===> 调用查看是否授权
==> 未授权 ===> 显示
button
,调用授权弹窗(获取用户信息,存储到本地) ==> 用户离开小程序后再次进入 ==> 从本地获取用户信息 ==> 已授权 ===> 不显示
button
,调用wx.getUserInfo
(获取用户信息,存储到本地) ==> 用户离开小程序后再次进入 ==> 从本地获取用户信息
onload: function (){
var that = this;
var userInfo = wx.getStorageSync("userInfo");
if(userInfo){
this.setData({
userInfo: userInfo
})
}else{
// 查看是否授权
wx.getSetting({
success(res) {
// 如果已经授权,查看是否是获取用户信息授权
if (res.authSetting['scope.userInfo']) {
// 已经授权,可以直接调用 getUserInfo 获取头像/昵称/性别/地址
wx.getUserInfo({
success: function (res) {
// 设值
that.setData({
userInfo: res.userInfo
})
// 存储到本地
wx.setStorageSync("userInfo", res.userInfo)
}
})
}else{
// 未授权,显示button授权按钮
that.setData({
isShow: true
})
}
}
})
}
}
# 微信登陆
逻辑: 用户打开小程序 == > 查看本地是否有 openId(有,直接使用) 没有 ==> 调用登陆接口,调用后台接口,拿取openId
,存储到本地
// 微信登陆
var uid = wx.getStorageSync("uid");
if (!uid) {
wx.login({
success(res) {
// 成功返回 code 用户登录凭证(有效期五分钟)
if (res.code) {
// 将 code 码发送给后台
wx.request({
url: "http://59.110.138.169/admin/xy/lite/student/onLogin",
data: {
code: res.code,
},
success: function(res) {
console.log(res);
wx.setStorageSync("uid", "res.data.data.id");
},
});
} else {
console.log("登录失败!" + res.errMsg);
}
},
});
}