import Vue from 'vue';
|
import ViewUI from 'view-design';
|
import Util from '../libs/util';
|
import VueRouter from 'vue-router';
|
import Cookies from 'js-cookie';
|
import { routers } from './router';
|
|
Vue.use(VueRouter);
|
|
// 路由配置
|
const RouterConfig = {
|
mode: 'history',
|
routes: routers
|
};
|
|
/**
|
* 解决重复点击菜单会控制台报错bug
|
*/
|
const routerPush = VueRouter.prototype.push
|
VueRouter.prototype.push = function push(location) {
|
return routerPush.call(this, location).catch(error => error)
|
}
|
|
export const router = new VueRouter(RouterConfig);
|
|
router.beforeEach((to, from, next) => {
|
ViewUI.LoadingBar.start();
|
Util.title(to.meta.title);
|
|
next();
|
|
const name = to.name;
|
|
if (!Cookies.get('userInfoSeller') && name !== 'login') {
|
if (name === 'forgetPassword') {
|
console.log(name)
|
Util.toDefaultPage([...routers], name, router, next);
|
} else {
|
// 判断是否已经登录且前往的页面不是登录页
|
next({
|
name: 'login'
|
});
|
}
|
} else if (Cookies.get('userInfoSeller') && name === 'login') {
|
// 判断是否已经登录且前往的是登录页
|
Util.title();
|
next({
|
name: 'home_index'
|
});
|
} else {
|
Util.toDefaultPage([...routers], name, router, next);
|
}
|
});
|
|
router.afterEach((to) => {
|
Util.openNewPage(router.app, to.name, to.params, to.query);
|
ViewUI.LoadingBar.finish();
|
window.scrollTo(0, 0);
|
});
|