app.js
// app.js
let util = require('./utils/util.js');
App({
onLaunch: function (options) {
this.globalData = {
apiurl: 'http://',
userInfo: []//用户信息
}
},
onShow() {
this.getUserInfo();
},
getUserInfo(callback) {
let th = this;
if (!util.isNull(th.globalData.userInfo) && !util.isNull(th.globalData.session_key)) {
if(typeof callback == 'function')
callback();
} else {
if (!th.globalData.userinfo_callbackList) {
th.globalData.userinfo_callbackList = [];
}
th.globalData.userinfo_callbackList.push(callback);
if (th.globalData.userinfo_apilock) {
return;
}
th.globalData.userinfo_apilock = true;
//注册/登录
wx.login({
success: res1 => {
wx.request({
url: th.globalData.apiurl + 'getbind',
data: {
code: res1.code
},
success: res => {
//设置为全局数据
th.globalData.userInfo = res.data.memberInfo;
th.globalData.session_key = res.data.session_key;
if(!util.isNull(th.globalData.userinfo_callbackList)){
//处理队列中的回调
for (let i = 0; i < th.globalData.userinfo_callbackList.length; i++) {
if(typeof th.globalData.userinfo_callbackList[i] == 'function')
th.globalData.userinfo_callbackList[i]();
}
}
th.globalData.config_callbackList = [];//清空回调列表
th.globalData.userinfo_apilock = false;
}
})
}
})
}
}
})
index.js
// index.js
const app = getApp()
Page({
data: {
},
onLoad: function (options) {
let th = this;//获取用户数据(登录|注册)
app.getUserInfo(function(){
th.setData({
userInfo:app.globalData.userInfo,
session_key:app.globalData.session_key
})
});
}
})