¶Ô±ÈÐÂÎļþ |
| | |
| | | /** |
| | | * å
¨ç«è·¯ç±é
ç½® |
| | | * |
| | | * 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 |