user token

3.x
smallchill 3 years ago
parent 671a1907d1
commit 19e11af758
  1. 8
      src/mixins/index.js
  2. 31
      src/store/modules/user.js
  3. 33
      src/utils/auth.js

@ -14,7 +14,7 @@ export default {
this.refreshToken();
},
methods: {
// 10分钟检测一次token
//实时检测刷新token
refreshToken () {
this.refreshTime = setInterval(() => {
const token = getStore({
@ -22,8 +22,8 @@ export default {
debug: true
}) || {};
let date1 = this.$dayjs(token.datetime);
let date2 = this.$dayjs()
const date = date1.diff(date2, 'month')
let date2 = this.$dayjs();
const date = date1.diff(date2, 'month');
if (validatenull(date)) return;
if (date >= this.website.tokenTime && !this.refreshLock) {
this.refreshLock = true;
@ -39,4 +39,4 @@ export default {
}, 1000);
}
}
}
}

@ -1,4 +1,4 @@
import { setToken, removeToken } from 'utils/auth'
import { setToken, setRefreshToken, removeToken, removeRefreshToken } from 'utils/auth'
import { setStore, getStore } from 'utils/store'
import { validatenull } from 'utils/validate'
import { deepClone } from 'utils/util'
@ -121,13 +121,15 @@ const user = {
return new Promise((resolve, reject) => {
logout().then(() => {
commit('SET_TOKEN', '')
commit('SET_MENUALL_NULL', []);
commit('SET_MENU_ALL_NULL', []);
commit('SET_MENU', [])
commit('SET_ROLES', [])
commit('DEL_ALL_TAG', []);
commit('CLEAR_LOCK');
removeToken()
resolve()
removeToken();
removeRefreshToken();
removeToken();
resolve();
}).catch(error => {
reject(error)
})
@ -137,13 +139,15 @@ const user = {
FedLogOut ({ commit }) {
return new Promise(resolve => {
commit('SET_TOKEN', '')
commit('SET_MENUALL_NULL', []);
commit('SET_MENU_ALL_NULL', []);
commit('SET_MENU', [])
commit('SET_ROLES', [])
commit('DEL_ALL_TAG', []);
commit('CLEAR_LOCK');
removeToken()
resolve()
removeToken();
removeRefreshToken();
removeToken();
resolve();
})
},
GetTopMenu () {
@ -185,6 +189,7 @@ const user = {
setStore({ name: 'token', content: state.token })
},
SET_REFRESH_TOKEN: (state, token) => {
setRefreshToken(refreshToken)
state.refreshToken = token;
setStore({ name: 'refreshToken', content: state.token })
},
@ -205,8 +210,8 @@ const user = {
SET_MENU_ALL: (state, menuAll) => {
let menu = state.menuAll;
menuAll.forEach(ele => {
let index = menu.findIndex(item => item.path == ele.path)
if (index == -1) {
let index = menu.findIndex(item => item.path === ele.path)
if (index === -1) {
menu.push(ele);
} else {
menu[index] = ele;
@ -215,7 +220,7 @@ const user = {
state.menuAll = menu
setStore({ name: 'menuAll', content: state.menuAll })
},
SET_MENUALL_NULL: (state) => {
SET_MENU_ALL_NULL: (state) => {
state.menuAll = []
setStore({ name: 'menuAll', content: state.menuAll })
},
@ -231,10 +236,10 @@ const user = {
function getCode (list) {
list.forEach(ele => {
if (typeof (ele) === 'object') {
const chiildren = ele.children;
const children = ele.children;
const code = ele.code;
if (chiildren) {
getCode(chiildren)
if (children) {
getCode(children)
} else {
result.push(code);
}

@ -1,15 +1,28 @@
import Cookies from 'js-cookie'
import website from '@/config/website'
const Authorization = website.tokenHeader
var inFifteenMinutes = new Date(new Date().getTime() + website.tokenTime * 1000);
export function getToken () {
return Cookies.get(Authorization)
const TokenKey = 'saber3-access-token'
const RefreshTokenKey = 'saber3-refresh-token'
export function getToken() {
return Cookies.get(TokenKey)
}
export function setToken (token) {
return Cookies.set(Authorization, token, { expires: inFifteenMinutes })
export function setToken(token) {
return Cookies.set(TokenKey, token)
}
export function removeToken () {
return Cookies.remove(Authorization)
}
export function getRefreshToken() {
return Cookies.get(RefreshTokenKey)
}
export function setRefreshToken(token) {
return Cookies.set(RefreshTokenKey, token)
}
export function removeToken() {
return Cookies.remove(TokenKey)
}
export function removeRefreshToken() {
return Cookies.remove(RefreshTokenKey)
}

Loading…
Cancel
Save