import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router';
|
import PageRouter from './page/';
|
import ViewsRouter from './views/';
|
import AvueRouter from './avue-router';
|
import i18n from '@/lang';
|
import Store from '@/store/';
|
import getBaseConfig from '@/buildConfig/config';
|
const { routerHash } = getBaseConfig()
|
//创建路由
|
const Router = createRouter({
|
base: import.meta.env.VITE_APP_BASE,
|
history: routerHash ? createWebHashHistory(import.meta.env.VITE_APP_BASE) : createWebHistory(import.meta.env.VITE_APP_BASE),
|
routes: [...PageRouter, ...ViewsRouter],
|
});
|
AvueRouter.install({
|
store: Store,
|
router: Router,
|
i18n: i18n,
|
});
|
|
Router.$avueRouter.formatRoutes(Store.getters.menuAll, true);
|
|
export function resetRouter() {
|
// 重置路由 比如用于身份验证失败,需要重新登录时 先清空当前的路有权限
|
const newRouter = createRouter();
|
Router.matcher = newRouter.matcher; // reset router
|
AvueRouter.install(Vue, {
|
router: Router,
|
store: Store,
|
i18n: i18n,
|
});
|
}
|
|
export default Router;
|