增加令牌自动续期功能

This commit is contained in:
pixel
2020-08-17 14:04:02 +08:00
parent 9679616935
commit 0239f7b97c
7 changed files with 62 additions and 55 deletions
-8
View File
@@ -7,14 +7,6 @@ const whiteList = ['login', 'register']
router.beforeEach(async(to, from, next) => {
const token = store.getters['user/token']
// if (token) {
// const expiresAt = store.getters['user/expiresAt']
// const nowUnix = new Date().getTime()
// const hasExpires = (expiresAt - nowUnix) < 0
// if (hasExpires) {
// store.dispatch['user/claerAll']
// }
// }
// 在白名单中的判断情况
if (whiteList.indexOf(to.name) > -1) {
if (token) {
+1 -10
View File
@@ -11,7 +11,6 @@ export const user = {
authority: "",
},
token: "",
expiresAt: ""
},
mutations: {
setUserInfo(state, userInfo) {
@@ -22,14 +21,9 @@ export const user = {
// 这里的 `state` 对象是模块的局部状态
state.token = token
},
setExpiresAt(state, expiresAt) {
// 这里的 `state` 对象是模块的局部状态
state.expiresAt = expiresAt
},
LoginOut(state) {
state.userInfo = {}
state.token = ""
state.expiresAt = ""
router.push({ name: 'login', replace: true })
sessionStorage.clear()
window.location.reload()
@@ -45,7 +39,6 @@ export const user = {
const res = await login(loginInfo)
commit('setUserInfo', res.data.user)
commit('setToken', res.data.token)
commit('setExpiresAt', res.data.expiresAt)
if (res.code == 0) {
const redirect = router.history.current.query.redirect
if (redirect) {
@@ -69,8 +62,6 @@ export const user = {
token(state) {
return state.token
},
expiresAt(state) {
return state.expiresAt
}
}
}
+10 -7
View File
@@ -21,13 +21,13 @@ const showLoading = () => {
}
const closeLoading = () => {
acitveAxios--
if (acitveAxios <= 0) {
clearTimeout(timer)
loadingInstance && loadingInstance.close()
acitveAxios--
if (acitveAxios <= 0) {
clearTimeout(timer)
loadingInstance && loadingInstance.close()
}
}
}
//http request 拦截器
//http request 拦截器
service.interceptors.request.use(
config => {
showLoading()
@@ -37,7 +37,7 @@ service.interceptors.request.use(
config.headers = {
'Content-Type': 'application/json',
'x-token': token,
'x-user-id':user.ID
'x-user-id': user.ID
}
return config;
},
@@ -57,6 +57,9 @@ service.interceptors.request.use(
service.interceptors.response.use(
response => {
closeLoading()
if (response.headers["new-token"]) {
store.commit('user/setToken', response.headers["new-token"])
}
if (response.data.code == 0 || response.headers.success === "true") {
return response.data
} else {