diff --git a/im-uniapp/App.vue b/im-uniapp/App.vue
index ab6121d..8e8fdc7 100644
--- a/im-uniapp/App.vue
+++ b/im-uniapp/App.vue
@@ -243,18 +243,32 @@
// this.audioTip = uni.createInnerAudioContext();
// this.audioTip.src = "/static/audio/tip.wav";
// this.audioTip.play();
- }
+ },
+ isExpired(loginInfo){
+ if(!loginInfo || !loginInfo.expireTime){
+ return true;
+ }
+ return loginInfo.expireTime < new Date().getTime();
+ },
},
onLaunch() {
// 登录状态校验
- if (uni.getStorageSync("loginInfo")) {
+ let loginInfo = uni.getStorageSync("loginInfo")
+ if (!this.isExpired(loginInfo)) {
+ console.log("初始化")
// 初始化
- this.init()
- } else {
- // 跳转到登录页
- uni.navigateTo({
- url: "/pages/login/login"
+ this.init();
+ // 跳转到聊天页面
+ uni.switchTab({
+ url: "/pages/chat/chat"
})
+ } else{
+ // 跳转到登录页
+ // #ifdef H5
+ uni.navigateTo({
+ url: "/pages/login/login"
+ })
+ // #endif
}
}
}
diff --git a/im-uniapp/common/request.js b/im-uniapp/common/request.js
index 461ff6b..ea9ed94 100644
--- a/im-uniapp/common/request.js
+++ b/im-uniapp/common/request.js
@@ -41,7 +41,9 @@ const request = (options) => {
getApp().exit();
return;
}
- uni.setStorageSync("loginInfo", res.data.data);
+ let newInfo = res.data.data;
+ newInfo.expireTime = new Date().getTime() + newInfo.refreshTokenExpiresIn*1000;
+ uni.setStorageSync("loginInfo", newInfo);
requestList.forEach(cb => cb());
requestList = [];
isRefreshToken = false;
diff --git a/im-uniapp/pages/login/login.vue b/im-uniapp/pages/login/login.vue
index b0b996f..e3146b0 100644
--- a/im-uniapp/pages/login/login.vue
+++ b/im-uniapp/pages/login/login.vue
@@ -3,7 +3,7 @@
欢迎登录
-
+
@@ -45,11 +45,12 @@
url: '/login',
data: this.loginForm,
method: 'POST'
- }).then(data => {
+ }).then(loginInfo => {
console.log("登录成功,自动跳转到聊天页面...")
uni.setStorageSync("userName", this.loginForm.userName);
uni.setStorageSync("password", this.loginForm.password);
- uni.setStorageSync("loginInfo", data);
+ loginInfo.expireTime = new Date().getTime() + loginInfo.refreshTokenExpiresIn*1000;
+ uni.setStorageSync("loginInfo", loginInfo);
// 调用App.vue的初始化方法
getApp().init()
// 跳转到聊天页面
@@ -59,17 +60,10 @@
})
}
},
+
onLoad() {
this.loginForm.userName = uni.getStorageSync("userName");
this.loginForm.password = uni.getStorageSync("password");
- let loginInfo = uni.getStorageSync("loginInfo");
- if (loginInfo) {
- // 跳转到聊天页面
- uni.switchTab({
- url: "/pages/chat/chat"
- })
-
- }
}
}