fix cookie token bug

This commit is contained in:
Pan 2017-07-20 13:26:09 +08:00
parent c8856741c6
commit a0a011e985
4 changed files with 26 additions and 10 deletions

View file

@ -19,6 +19,7 @@ import IconSvg from 'components/Icon-svg';// svg 组件
import vueWaves from './directive/waves';// 水波纹指令
import errLog from 'store/errLog';// error log组件
import './mock/index.js'; // 该项目所有请求使用mockjs模拟
import { getToken } from 'utils/auth';
// register globally
Vue.component('multiselect', Multiselect);
@ -43,7 +44,7 @@ function hasPermission(roles, permissionRoles) {
const whiteList = ['/login', '/authredirect', '/reset', '/sendpwd'];// 不重定向白名单
router.beforeEach((to, from, next) => {
NProgress.start(); // 开启Progress
if (store.getters.token) { // 判断是否有token
if (getToken()) { // 判断是否有token
if (to.path === '/login') {
next({ path: '/' });
} else {

View file

@ -1,12 +1,12 @@
import { loginByEmail, logout, getInfo } from 'api/login';
import Cookies from 'js-cookie';
import { getToken, setToken, removeToken } from 'utils/auth';
const user = {
state: {
user: '',
status: '',
code: '',
token: Cookies.get('Admin-Token'),
token: getToken(),
name: '',
avatar: '',
introduction: '',
@ -56,7 +56,7 @@ const user = {
return new Promise((resolve, reject) => {
loginByEmail(email, userInfo.password).then(response => {
const data = response.data;
Cookies.set('Admin-Token', response.data.token);
setToken(response.data.token);
commit('SET_TOKEN', data.token);
resolve();
}).catch(error => {
@ -87,7 +87,7 @@ const user = {
commit('SET_CODE', code);
loginByThirdparty(state.status, state.email, state.code).then(response => {
commit('SET_TOKEN', response.data.token);
Cookies.set('Admin-Token', response.data.token);
setToken(response.data.token);
resolve();
}).catch(error => {
reject(error);
@ -101,7 +101,7 @@ const user = {
logout(state.token).then(() => {
commit('SET_TOKEN', '');
commit('SET_ROLES', []);
Cookies.remove('Admin-Token');
removeToken();
resolve();
}).catch(error => {
reject(error);
@ -113,7 +113,7 @@ const user = {
FedLogOut({ commit }) {
return new Promise(resolve => {
commit('SET_TOKEN', '');
Cookies.remove('Admin-Token');
removeToken();
resolve();
});
},
@ -123,7 +123,7 @@ const user = {
return new Promise(resolve => {
commit('SET_ROLES', [role]);
commit('SET_TOKEN', role);
Cookies.set('Admin-Token', role);
setToken(role);
resolve();
})
}

15
src/utils/auth.js Normal file
View file

@ -0,0 +1,15 @@
import Cookies from 'js-cookie'
const TokenKey = 'Admin-Token'
export function getToken() {
return Cookies.get(TokenKey)
}
export function setToken(token) {
return Cookies.set(TokenKey, token)
}
export function removeToken() {
return Cookies.remove(TokenKey)
}

View file

@ -1,7 +1,7 @@
import axios from 'axios';
import { Message } from 'element-ui';
import store from '../store';
// import router from '../router';
import { getToken } from 'utils/auth';
// 创建axios实例
const service = axios.create({
@ -13,7 +13,7 @@ const service = axios.create({
service.interceptors.request.use(config => {
// Do something before request is sent
if (store.getters.token) {
config.headers['X-Token'] = store.getters.token; // 让每个请求携带token--['X-Token']为自定义key 请根据实际情况自行修改
config.headers['X-Token'] = getToken(); // 让每个请求携带token--['X-Token']为自定义key 请根据实际情况自行修改
}
return config;
}, error => {