Page({
data: {},
onLoad: function (options) {},
onReady: function() {
let _self = this;
_self.handleWxCheckSession().then(() => {
_self.handleCheckUserLogin().then(() => {
_self.handleGetSomeInfo()
}).catch(()=>{
_self.handleWxUserLogin(()=>{
_self.handleGetSomeInfo()
})
})
}).catch(() => {
_self.handleWxUserLogin(()=>{
_self.handleGetSomeInfo()
})
})
},
onShow: function() {},
onHide: function() {},
onUnload: function() {},
onReachBottom: function() {},
onShareAppMessage: function () {},
onPageScroll: function() {},
/**
* @description 通过微信自带功能检测session是否过期
*/
handleWxCheckSession() {
let promise = new Promise((resolve, reject) => {
wx.checkSession({
success(data) {
data.errMsg === 'checkSession:ok' ? resolve() : reject();
},
fail(err) {
reject();
}
})
});
return promise;
},
/**
* @description 通过api接口检测第三方session是否过期
*/
handleCheckUserLogin(){
let _self = this;
let promise = new Promise((resolve, reject) => {
wx.request({
url: '',
data: '',
success(result) {
if ('logining') {
// 登录没失效
resolve();
} else {
reject()
}
},
fail(error) {reject(error)}
})
});
return promise;
},
/**
* @description 通过wx.login,生成code,发送给后台
*/
handleWxUserLogin(callback){
let _self = this;
wx.login({
success(data) {
let { code } = data;
wx.request({
url: '',
data: {code},
success(result) {
if (result.success) {
// 用户已经登录,将某个sessionid写到本地
callback();
}
},
fail(err) {
console.error(err);
}
})
}
})
},
/**
* @param { Object } obj 用户授权的信息
* @description 通过微信自带获取授权用户信息后,将信息提交到后台存储,通过用户点击操作
*/
handleRegisterUserInfo (obj) {
let _self = this;
wx.request({
url: '',
data: obj,
success(result) {
if (result.success) {
// 用户授权后,在获取一遍用户数据
_self.handleGetSomeInfo()
}
}
})
},
/**
* @description 获取一些信息
*/
handleGetSomeInfo() {
let _self = this;
_self.handleGetUserInfo();
_self.handleGetRankList();
},
/**
* @description 获取存储在数据库的用户信息,头像、昵称
*/
handleGetUserInfo() {},
/**
* @description 获取用户排名情况
*/
handleGetRankList() {}
})
小程序登录总结
最新推荐文章于 2022-03-21 14:45:45 发布