1
0
mirror of https://github.com/FatttSnake/Pinnacle-OA.git synced 2026-04-06 07:21:24 +08:00

Added login expiration reminder. Add logout reminder.

This commit is contained in:
2023-05-08 09:37:13 +08:00
parent 219f8cca3d
commit 881be1b0f9
15 changed files with 138 additions and 70 deletions

View File

@@ -1,6 +1,8 @@
import axios, { type AxiosError } from 'axios'
import { getToken, removeToken } from '@/utils/common'
import { clearLocalStorage, getToken } from '@/utils/common'
import router from '@/router'
import { TOKEN_HAS_EXPIRED, TOKEN_IS_ILLEGAL, UNAUTHORIZED } from '@/constants/Common.constants'
import { ElMessage } from 'element-plus'
const service = axios.create({
baseURL: 'http://localhost:8621',
@@ -23,17 +25,26 @@ service.interceptors.request.use(
service.interceptors.response.use(
(response) => {
switch (response.data.code) {
case UNAUTHORIZED:
case TOKEN_IS_ILLEGAL:
case TOKEN_HAS_EXPIRED:
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
console.log(`request error: ${response.data.code} - ${response.data.msg}`)
clearLocalStorage()
ElMessage.error({
dangerouslyUseHTMLString: true,
message: '<strong>登录已过期</strong>'
})
setTimeout(function () {
void router.push({ name: 'Login' })
}, 1500)
}
return response
},
async (error) => {
if (error.response != null) {
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
console.log(`request error: ${error.response.code} - ${error.response.msg}`)
switch (error.response.code) {
case 30010:
removeToken()
await router.push({ name: 'Login' })
}
/* empty */
}
return await Promise.reject(error?.response?.data)
}