index.js文件引入es6-promise并在onLoad中寫下函數(shù):
var Promise = require('../../es6-promise.min.js');//引入ES6
onLoad: function () {
var that = this;
//第一步:更新用戶信息
var getUserInfo = function(){
return new Promise(function(resolve,reject){
app.getUserInfo();
resolve();
});
};
getUserInfo().then(function(){
//第二步:其它操作
});
},
|
并在app.js文件寫入下面代碼
//app.js
var Promise = require('es6-promise.min.js');//引入ES6
App({
onError:function(res){
console.log(res);
},
//獲取session
getSession:function(){
var info=wx.getStorageSync('session');
return info.session;
},
//獲取用戶信息
getUserInfo:function(){
var timestamp=getTimestamp();//獲取當(dāng)前時(shí)間戳
//檢查微信登錄態(tài)是否過期
var checkSession = function(){
return new Promise(function(resolve,reject){
wx.checkSession({
fail: function(){
console.log('SESSION登錄態(tài)過期!');
reject();
},
success:function(){
resolve();
}
});
});
};
//檢查SESSION緩存是否過期
var checkStorage = function () {
return new Promise(function(resolve,reject){
wx.getStorage({
key: 'session',
success: function(res) {
if(res.data.expires){
if(timestamp>res.data.expires){//超時(shí)
resolve();
}else{
reject();
}
}else{
resolve();
}
},
fail:function(){
resolve();
}
});
});
};
//刷新用戶信息
var updateUserInfo=function(){
return new Promise(function(resolve,reject){
wx.showToast({
title: '加載中',
icon: 'loading',
duration: 10000,
mask:true
});
resolve();
});
}
//用戶授權(quán)登錄
var login= function(){
return new Promise(function(resolve,reject){
wx.login({
success: function(loginRes) {
resolve(loginRes);
},
fail:function(res){
reject(res);
}
});
});
}
//獲取用戶信息
var getUserInfo = function (loginRes) {
return new Promise(function(resolve,reject){
var that=this;
wx.getUserInfo({
success: function (userinfoRes) {
var data={
loginRes:loginRes,
userinfoRes:userinfoRes
}
resolve(data);
},
fail:function(res){
reject(res);
}
});
});
};
//用戶信息入庫
var request = function (data) {
return new Promise(function(resolve,reject){
var userInfoStr=JSON.stringify(data.userinfoRes);
wx.request({
url: 'https://www.soswen.com/weixin/Common/getSession',
data: {
|