xiejun
2023-07-19 a4d7993d0b44faffe2e548250a9d2bc27c77e521
Source/UBCS-WEB/dist/src/router/router.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,41 @@
/**
 * å…¨ç«™è·¯ç”±é…ç½®
 *
 * meta参数说明
 * keepAlive是否缓冲页面
 * isTab是否加入到tag导航
 * isAuth是否需要授权
 */
import Vue from 'vue';
import VueRouter from 'vue-router';
import PageRouter from './page/' // é¡µé¢è·¯ç”±
import ViewsRouter from './views/' // é¡µé¢è·¯ç”±
import AvueRouter from './avue-router'; //封装的路由控制方法
import i18n from '@/lang' // Internationalization å›½é™…化 å¤šè¯­è¨€
import Store from '../store/'; // vuex
Vue.use(VueRouter)
//创建路由
export const createRouter = () => new VueRouter({
  routes: [...PageRouter, ...ViewsRouter]
})
const Router = createRouter() // èŽ·å¾— route å®žä¾‹
// åˆå§‹åŒ–和注册 AvueRouter
AvueRouter.install(Vue, {
  router: Router,
  store: Store,
  i18n: i18n,
  keepAlive: false,
});
Router.$avueRouter.formatRoutes(Store.state.user.menuAll, true); // åŠ¨æ€è·¯ç”±æ ¸å¿ƒæ–¹æ³•
Router.addRoutes([...PageRouter, ...ViewsRouter]);
export function resetRouter () {  // é‡ç½®è·¯ç”± æ¯”如用于身份验证失败,需要重新登录时 å…ˆæ¸…空当前的路有权限
  const newRouter = createRouter()
  Router.matcher = newRouter.matcher // reset router
  AvueRouter.install(Vue, {
    router: Router,
    store: Store,
    i18n: i18n,
  });
}
export default Router