| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 |
- import { createRouter, createWebHashHistory, type RouteRecordRaw } from 'vue-router'
- import { getToken, isAdminMode } from '@/api'
-
- // 导入页面组件
- import Login from '@/views/Login.vue'
- import Dashboard from '@/views/Dashboard.vue'
- import TenantManagement from '@/views/TenantManagement.vue'
- import RoleManagement from '@/views/RoleManagement.vue'
- import UserManagement from '@/views/UserManagement.vue'
- import ProjectManagement from '@/views/ProjectManagement.vue'
- import AgentManagement from '@/views/AgentManagement.vue'
- import SkillManagement from '@/views/SkillManagement.vue'
- import ConfigManagement from '@/views/ConfigManagement.vue'
-
- // 路由配置
- const routes: RouteRecordRaw[] = [
- {
- path: '/',
- redirect: '/dashboard',
- meta: { requiresAuth: true }
- },
- {
- path: '/login',
- name: 'Login',
- component: Login,
- meta: { title: '登录' }
- },
- {
- path: '/dashboard',
- name: 'Dashboard',
- component: Dashboard,
- meta: {
- requiresAuth: true,
- title: '仪表盘'
- }
- },
- // 租户管理相关路由
- {
- path: '/tenant/list',
- name: 'TenantList',
- component: TenantManagement,
- meta: {
- requiresAuth: true,
- title: '租户管理'
- }
- },
- {
- path: '/tenant/create',
- name: 'TenantCreate',
- component: TenantManagement,
- meta: {
- requiresAuth: true,
- title: '创建租户'
- }
- },
- // 角色管理相关路由
- {
- path: '/role/list',
- name: 'RoleList',
- component: RoleManagement,
- meta: {
- requiresAuth: true,
- title: '角色管理'
- }
- },
- {
- path: '/role/create',
- name: 'RoleCreate',
- component: RoleManagement,
- meta: {
- requiresAuth: true,
- title: '创建角色'
- }
- },
- // 用户管理相关路由
- {
- path: '/user/list',
- name: 'UserList',
- component: UserManagement,
- meta: {
- requiresAuth: true,
- title: '用户管理'
- }
- },
- {
- path: '/user/create',
- name: 'UserCreate',
- component: UserManagement,
- meta: {
- requiresAuth: true,
- title: '创建用户'
- }
- },
- // 项目管理相关路由
- {
- path: '/project/list',
- name: 'ProjectList',
- component: ProjectManagement,
- meta: {
- requiresAuth: true,
- title: '项目管理'
- }
- },
- {
- path: '/project/create',
- name: 'ProjectCreate',
- component: ProjectManagement,
- meta: {
- requiresAuth: true,
- title: '创建项目'
- }
- },
- // Agent管理相关路由
- {
- path: '/agent/list',
- name: 'AgentList',
- component: AgentManagement,
- meta: {
- requiresAuth: true,
- title: 'Agent管理'
- }
- },
- {
- path: '/agent/create',
- name: 'AgentCreate',
- component: AgentManagement,
- meta: {
- requiresAuth: true,
- title: '创建Agent'
- }
- },
- // Skill管理相关路由
- {
- path: '/skill/list',
- name: 'SkillList',
- component: SkillManagement,
- meta: {
- requiresAuth: true,
- title: 'Skill管理'
- }
- },
- {
- path: '/skill/create',
- name: 'SkillCreate',
- component: SkillManagement,
- meta: {
- requiresAuth: true,
- title: '创建Skill'
- }
- },
- // 配置管理相关路由
- {
- path: '/config/startup',
- name: 'ConfigStartup',
- component: ConfigManagement,
- meta: {
- requiresAuth: true,
- title: '启动配置'
- }
- },
- {
- path: '/config/meta',
- name: 'ConfigMeta',
- component: ConfigManagement,
- meta: {
- requiresAuth: true,
- title: '元数据初始化'
- }
- },
- {
- path: '/config/token',
- name: 'ConfigToken',
- component: ConfigManagement,
- meta: {
- requiresAuth: true,
- title: 'Token管理'
- }
- },
- // 404页面
- {
- path: '/:pathMatch(.*)*',
- name: 'NotFound',
- component: { template: '<div>页面未找到</div>' },
- meta: { title: '404' }
- }
- ]
-
- // 创建路由实例
- const router = createRouter({
- history: createWebHashHistory(),
- routes
- })
-
- // 路由守卫:认证检查
- router.beforeEach((to, from, next) => {
- // 设置页面标题
- if (to.meta.title) {
- document.title = `${to.meta.title} - 配置服务管理`
- }
-
- // 检查是否需要认证
- if (to.meta.requiresAuth) {
- const token = getToken()
- const adminMode = isAdminMode()
- if (!token && !adminMode) {
- // 未登录,重定向到登录页
- next('/login')
- return
- }
- }
-
- // 如果已经登录,访问登录页则重定向到首页
- if (to.path === '/login') {
- const token = getToken()
- if (token) {
- next('/dashboard')
- return
- }
- }
-
- next()
- })
-
- export default router
|