import Store from '@/utils/Store'
const TokenKey = 'Admin-Token'
function contrasttime() { 此处是判断登录事件 与 当前时间是否超过了一天 如果超过了一天 在下面的函数中就删除localstorage里面的token
const date = new Date().getTime();
const time = Math.floor(date / 1000);
const loadtime = localStorage.getItem('Loadtime');
if (!loadtime || loadtime == 0) {
return 0;
}
const ctime = (time - loadtime) / 86400;
if (ctime > 1) {
return 0;
} else {
return time;
}
}
export function getToken() { 此处在axios拦截器那里使用 通过此处与contrasttime()函数的逻辑来删除与否localstorage里面的token
var data;
if (Store.state.disabled_localStorage.star) {
data = {
token: Store.state.disabled_localStorage.TokenKey,}
} else {
if (contrasttime() == 0) {
removeToken();
}
data = {
token: localStorage.getItem('TokenKey'),}
}
// if(!data.user_id||data.user_id=='undefined'){
// // removeToken();
// // data.token=null
// }else
if (!data.token || data.token == 'undefined') {
removeToken();
data.token = null
}
return data
}
export function setToken(token) {登录完成后首先执行这里 获取当前事件存起来 并把token存起来
localStorage.setItem('TokenKey',token)
const date = new Date().getTime();
const time = Math.floor(date / 1000);
localStorage.setItem('Loadtime',time);
if (localStorage.getItem('TokenKey') == null) {
Store.state.disabled_localStorage.star = true;
Store.state.disabled_localStorage.TokenKey = token;
}
}
export function removeToken() {
localStorage.removeItem('TokenKey')
}
2.实现不根据时间推出登录
只需要把登录时获取的token 存起来放在localstorage中 和 vuex中 在axios中使用就行了 点击推出登录也没有删除 只是跳到了登录页面 再次登录时token自动代替原来的token