From 4385d84f01147d4c3547e192fbd4e17f242bbe7e Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 8 Sep 2020 20:11:59 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=AF=B7=E6=B1=82=E6=97=B6=E5=88=B7?= =?UTF-8?q?=E6=96=B0session=20age?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/users.js | 4 ++++ src/utils/request.js | 15 +++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/api/users.js b/src/api/users.js index 21a67932d..84b302629 100644 --- a/src/api/users.js +++ b/src/api/users.js @@ -65,3 +65,7 @@ export function logout() { method: 'post' }) } + +export function refreshSessionIdAge() { + return getProfile() +} diff --git a/src/utils/request.js b/src/utils/request.js index 7ec5c5258..fc8318617 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,6 +1,7 @@ import axios from 'axios' import i18n from '@/i18n/i18n' import { getTokenFromCookie } from '@/utils/auth' +import { refreshSessionIdAge } from '@/api/users' import { Message, MessageBox } from 'element-ui' import store from '@/store' @@ -88,6 +89,19 @@ export function flashErrorMsg({ response, error }) { } } +let timer = null +function refreshSessionAgeDelay(response) { + if (response.request.responseURL.indexOf('/users/profile/') !== -1) { + return + } + if (timer) { + clearTimeout(timer) + } + timer = setTimeout(function() { + refreshSessionIdAge() + }, 60 * 10) +} + // response interceptor service.interceptors.response.use( /** @@ -102,6 +116,7 @@ service.interceptors.response.use( */ response => { // NProgress.done() + refreshSessionAgeDelay(response) const res = response.data if (response.config.raw === 1) {