From 43bc0ca39be664ffaeea6256a9f2160f5a8f7e40 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Sat, 01 Aug 2020 18:28:30 +0800
Subject: [PATCH] OAuth自动刷新续签Token
---
ruoyi-ui/src/views/index.vue | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/ruoyi-ui/src/views/index.vue b/ruoyi-ui/src/views/index.vue
index 4828d88..2fda0b8 100644
--- a/ruoyi-ui/src/views/index.vue
+++ b/ruoyi-ui/src/views/index.vue
@@ -35,6 +35,7 @@
import RaddarChart from './dashboard/RaddarChart'
import PieChart from './dashboard/PieChart'
import BarChart from './dashboard/BarChart'
+import { getToken, getExpiresIn, setExpiresIn } from '@/utils/auth'
const lineChartData = {
newVisitis: {
@@ -66,12 +67,39 @@
},
data() {
return {
+ //刷新token锁
+ refreshLock: false,
+ //刷新token的时间
+ refreshTime: '',
lineChartData: lineChartData.newVisitis
}
+ },
+ created() {
+ this.refreshToken()
},
methods: {
handleSetLineChartData(type) {
this.lineChartData = lineChartData[type]
+ },
+ // 实时检测刷新token
+ refreshToken() {
+ this.refreshTime = setInterval(() => {
+ if (null === getToken()) {
+ return;
+ }
+ const expires_in = getExpiresIn();
+ if (expires_in <= 1000 && !this.refreshLock) {
+ this.refreshLock = true
+ this.$store
+ .dispatch('RefreshToken')
+ .catch(() => {
+ clearInterval(this.refreshTime)
+ });
+ this.refreshLock = false
+ }
+ this.$store.commit("SET_EXPIRES_IN", expires_in - 10);
+ setExpiresIn(expires_in - 10);
+ }, 10000);
}
}
}
--
Gitblit v1.9.3