import type { AppRouteRecordRaw, AppRouteModule } from '/@/router/types'; import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE, QIANKUN_ROUTE } from '/@/router/routes/basic'; import { LAYOUT } from '/@/router/constant'; // import { mainOutRoutes } from './mainOut'; import { PageEnum } from '/@/enums/pageEnum'; import { t } from '/@/hooks/web/useI18n'; import { useGlobSetting, getRemoteSetting } from '/@/hooks/setting'; // const modules = import.meta.glob('./modules/**/*.ts', { eager: true }); const routeModuleList: AppRouteModule[] = []; // 加入到路由集合中 // Object.keys(modules).forEach((key) => { // const mod = (modules as Recordable)[key].default || {}; // const modList = Array.isArray(mod) ? [...mod] : [mod]; // routeModuleList.push(...modList); // }); export const asyncRoutes = [PAGE_NOT_FOUND_ROUTE, QIANKUN_ROUTE, ...routeModuleList]; export const RootRoute: AppRouteRecordRaw = await (async () => { await getRemoteSetting(); const glob = useGlobSetting(); return { path: '/', name: 'Root', redirect: glob.homePath || PageEnum.BASE_HOME, meta: { title: 'Root', }, ver: '1', } as AppRouteRecordRaw; })(); export const LoginRoute: AppRouteRecordRaw = { path: '/login', name: 'Login', //新版后台登录,如果想要使用旧版登录放开即可 component: () => import('/@/views/sys/login/Login.vue'), //数据中心登录 // component: () => import('/@/views/sys/login/LoginDataCenter.vue'), // 内页登录 // component: () => import('/@/views/sys/login/LoginNeiye.vue'), // component: () => import('/@/views/system/loginmini/MiniLogin.vue'), meta: { title: t('routes.basic.login'), }, ver: '1', }; export const Oauth2LoginRoute: AppRouteRecordRaw = { path: '/oauth2-app/login', name: 'oauth2-app-login', //新版钉钉免登录,如果想要使用旧版放开即可 // component: () => import('/@/views/sys/login/OAuth2Login.vue'), component: () => import('/@/views/system/loginmini/OAuth2Login.vue'), meta: { title: t('routes.oauth2.login'), }, ver: '1', }; /** * 【通过token直接静默登录】流程办理登录页面 中转跳转 */ export const TokenLoginRoute: AppRouteRecordRaw = { path: '/tokenLogin', name: 'TokenLoginRoute', component: () => import('/@/views/sys/login/TokenLoginPage.vue'), meta: { title: '带token登录页面', ignoreAuth: true, }, ver: '1', }; export const ventModelRedirect: AppRouteRecordRaw = { path: '/redirectMicro', name: '', component: () => LAYOUT, meta: { title: '', ignoreAuth: true, }, ver: '1', redirect: '', }; // Basic routing without permission export const basicRoutes = [ LoginRoute, RootRoute, ventModelRedirect, // QIANKUN_ROUTE, // ...mainOutRoutes, REDIRECT_ROUTE, PAGE_NOT_FOUND_ROUTE, TokenLoginRoute, Oauth2LoginRoute, ];