index.ts 1.39 KB
import type { App } from 'vue'
import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'
import { RedirectRoute } from '@/router/base'
// import { createRouterGuards } from './router-guards'
import { PageEnum } from '@/enums/pageEnum'
import { HttpErrorPage, LoginRoute, ReloadRoute } from '@/router/base'
import { Layout } from '@/router/constant'

import modules from '@/router/modules'
// THINGS_KIT 重写路由拦截逻辑
import { setupRouterGuard } from './external/guard'
// THINGS_KIT 新增分享路由
import { shareRoutes } from './external/share.route'

const RootRoute: Array<RouteRecordRaw> = [
  {
    path: '/',
    name: 'Root',
    redirect: PageEnum.BASE_HOME,
    component: Layout,
    meta: {
      title: 'Root',
    },
    children: [
      ...HttpErrorPage,
      modules.projectRoutes,
      modules.chartRoutes,
      modules.previewRoutes,
      modules.editRoutes,
      modules.threeRoutes,
      // THINGS_KIT 新增分享路由
      shareRoutes
    ]
  }
]


export const constantRouter: any[] = [LoginRoute, ...RootRoute, RedirectRoute, ReloadRoute];

const router = createRouter({
  history: createWebHashHistory(''),
  routes: constantRouter,
  strict: true,
})

export function setupRouter(app: App) {
  app.use(router);
  // 创建路由守卫
  // THINGS_KIT 修改路由拦截
  // createRouterGuards(router)
  setupRouterGuard(router)

}
export default router