...
|
...
|
@@ -7,6 +7,7 @@ import 'element-ui/lib/theme-default/index.css' |
|
|
import VueRouter from 'vue-router'
|
|
|
import store from './vuex/store'
|
|
|
import Vuex from 'vuex'
|
|
|
import axios from 'axios'
|
|
|
//import NProgress from 'nprogress'
|
|
|
//import 'nprogress/nprogress.css'
|
|
|
import rout from './routes'
|
...
|
...
|
@@ -18,7 +19,9 @@ Vue.filter('datefmt',function(input,fmtstring){ |
|
|
|
|
|
return moment(input).format(fmtstring)
|
|
|
|
|
|
})
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
Mock.bootstrap();
|
|
|
import 'font-awesome/css/font-awesome.min.css'
|
...
|
...
|
@@ -42,20 +45,81 @@ router.beforeEach((to, from, next) => { |
|
|
if (to.path == '/login') {
|
|
|
sessionStorage.removeItem('user');
|
|
|
sessionStorage.removeItem('menu');
|
|
|
sessionStorage.removeItem('token');
|
|
|
}
|
|
|
let user = JSON.parse(sessionStorage.getItem('user'));
|
|
|
if (!user && to.path != '/login' && !sessionStorage.getItem('menu')) {
|
|
|
if (!user && to.path != '/login' && !sessionStorage.getItem('menu') && !sessionStorage.getItem('token')) {
|
|
|
next({ path: '/login' })
|
|
|
} else {
|
|
|
next()
|
|
|
}
|
|
|
})
|
|
|
});
|
|
|
|
|
|
axios.interceptors.response.use(
|
|
|
res => {
|
|
|
//对响应数据做些事
|
|
|
if (res.data && res.status===200) {
|
|
|
this.$message({
|
|
|
// 饿了么的消息弹窗组件,类似toast
|
|
|
showClose: true,
|
|
|
message: res.data.error.message.message ? res.data.error.message.message : res.data.error.message,
|
|
|
type: "error"
|
|
|
});
|
|
|
return Promise.reject(res.data.error.message);
|
|
|
}
|
|
|
return res;
|
|
|
},
|
|
|
error => {
|
|
|
// 用户登录的时候会拿到一个基础信息,比如用户名,token,过期时间戳
|
|
|
// 直接丢localStorage或者sessionStorage
|
|
|
if (!sessionStorage.getItem("token")) {
|
|
|
// 若是接口访问的时候没有发现有鉴权的基础信息,直接返回登录页
|
|
|
router.push({
|
|
|
path: "/login"
|
|
|
});
|
|
|
} else {
|
|
|
|
|
|
// 下面是接口回调的satus ,因为我做了一些错误页面,所以都会指向对应的报错页面
|
|
|
if (error.response.status === 401) {
|
|
|
router.push({
|
|
|
path: "/login"
|
|
|
});
|
|
|
}
|
|
|
|
|
|
// 下面是接口回调的satus ,因为我做了一些错误页面,所以都会指向对应的报错页面
|
|
|
if (error.response.status === 403) {
|
|
|
router.push({
|
|
|
path: "/error/403"
|
|
|
});
|
|
|
}
|
|
|
if (error.response.status === 500) {
|
|
|
router.push({
|
|
|
path: "/error/500"
|
|
|
});
|
|
|
}
|
|
|
if (error.response.status === 502) {
|
|
|
router.push({
|
|
|
path: "/error/502"
|
|
|
});
|
|
|
}
|
|
|
if (error.response.status === 404) {
|
|
|
router.push({
|
|
|
path: "/error/404"
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
// 返回 response 里的错误信息
|
|
|
let errorInfo = error.data.error ? error.data.error.message : error.data;
|
|
|
return Promise.reject(errorInfo);
|
|
|
}
|
|
|
);
|
|
|
|
|
|
|
|
|
//router.afterEach(transition => {
|
|
|
//NProgress.done();
|
|
|
//});
|
|
|
|
|
|
new Vue({
|
|
|
let vue = new Vue({
|
|
|
//el: '#app',
|
|
|
//template: '<App/>',
|
|
|
router,
|
...
|
...
|
|