判断用户登录是否过期
wx.checkSession({
success() {
//session_key 未过期,并且在本生命周期一直有效
},
fail() {
// session_key 已经失效,需要重新执行登录流程
wx.login() //重新登录
}
})
用户授权登录
var that = this
wx.login({
success(res) {
// 发送 res.code 到后台换取 openId, sessionKey, unionId
var Params = {
code: res.code, //临时登录凭证
key: that.globalData.MD5Key
};
//生成加密key
Params.key = that.MD5(Params.code + "&" + that.getNowTime() + "&"Params.key);
wx.request({
url: '', //此处填写第三方的接口地址
data: JSON.stringify(Params),
header: {
'content-type': 'application/json'
},
method: 'POST', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
success: function(res) {
var openid = res.data.RntData.openid //返回openid
that.globalData.openid = openid;
console.log(openid);
}
})
}
})
获取用户信息
wx.getSetting({
success(res) {
if (res.authSetting['scope.userInfo']) {
// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
wx.getUserInfo({
success(res) {
// 可以将 res 发送给后台解码出 unionId
that.globalData.userInfo = res.userInfo
// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
// 所以此处加入 callback 以防止这种情况
if (that.userInfoReadyCallback) {
that.userInfoReadyCallback(res)
}
}
})
}
}
})