import { createRouter, createWebHistory } from 'vue-router';
|
import ExtRouter from './ext/';
|
import PageRouter from './page/';
|
import ViewsRouter from './views/';
|
import AvueRouter from './avue-router';
|
import i18n from '@/lang';
|
import Store from '@/store/';
|
//创建路由
|
const Router = createRouter({
|
base: import.meta.env.VITE_APP_BASE,
|
history: createWebHistory(import.meta.env.VITE_APP_BASE),
|
routes: [...ExtRouter, ...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;
|