user token

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

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

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

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