100 lines
2.3 KiB
JavaScript
100 lines
2.3 KiB
JavaScript
import userApi from './api/user';
|
|
const token = wx.getStorageSync('accessToken');
|
|
// console.log()
|
|
const date = new Date();
|
|
App({
|
|
verifyCodeWaitingTime:60,
|
|
onLaunch() {
|
|
if(!token){
|
|
wx.navigateTo({
|
|
url: '/pages/login/index',
|
|
})
|
|
}
|
|
wx.onAppShow((options) => {
|
|
if(token){
|
|
// this.getUserInfo();
|
|
}
|
|
})
|
|
},
|
|
forceGetUserInfo(){
|
|
this.globalData.userInfoGetTime = null;
|
|
return this.getUserInfo();
|
|
},
|
|
async getUserInfo(){
|
|
if(this.globalData.userInfoGetTime&&
|
|
this.globalData.userInfo&&
|
|
new Date()-this.globalData.userInfoGetTime<1000*60*5){
|
|
return this.globalData.userInfo;
|
|
}
|
|
const data = await userApi.userInfo();
|
|
this.globalData.userInfo = data;
|
|
this.globalData.userInfoGetTime = new Date();
|
|
return data;
|
|
},
|
|
|
|
|
|
forceGetSummary(){
|
|
this.globalData.summaryGetTime = null;
|
|
return this.getSummary();
|
|
},
|
|
async getSummary(){
|
|
if(this.globalData.summaryGetTime&&
|
|
this.globalData.summary&&
|
|
new Date()-this.globalData.summaryGetTime<1000*60*5){
|
|
return this.globalData.summary;
|
|
}
|
|
const data = await userApi.summary();
|
|
this.globalData.summary = data;
|
|
this.globalData.summaryGetTime = new Date();
|
|
return data;
|
|
},
|
|
validateForm(rules,page){
|
|
const result = [];
|
|
for(var key in rules){
|
|
((rules[key] instanceof Array)?rules[key]:[rules[key]]).map((item)=>{
|
|
let valid = true;
|
|
//非空
|
|
if(item.required){
|
|
if(page.data[key].trim()==''){
|
|
valid = false;
|
|
}
|
|
}else if(item.length){
|
|
//绝对长度
|
|
if(page.data[key].trim().length!=item.length){
|
|
valid = false;
|
|
}
|
|
}
|
|
if(valid){
|
|
page.setData({
|
|
[`${key}Message`]:''
|
|
});
|
|
}else{
|
|
page.setData({
|
|
[`${key}Message`]:item.message
|
|
});
|
|
result.push({
|
|
[key]:item.message
|
|
})
|
|
}
|
|
})
|
|
}
|
|
return result;
|
|
},
|
|
validateInput(rule,page){
|
|
if(rule.required){
|
|
if(page.data[key].trim()==''){
|
|
page.setData({
|
|
[`${key}Message`]:rule.message
|
|
});
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
},
|
|
globalData: {
|
|
userInfo: null,
|
|
accessToken:token,
|
|
summary:null
|
|
}
|
|
})
|