| 1234567891011121314151617181920212223242526272829303132333435363738394041 | /** * 全站路由配置 * * 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/'; // vuexVue.use(VueRouter)//创建路由export const createRouter = () => new VueRouter({  routes: [...PageRouter, ...ViewsRouter]})const Router = createRouter() // 获得 route 实例// 初始化和注册 AvueRouterAvueRouter.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,    keepAlive: false,  });}export default Router
 |