init: 数字员工平台初始代码
包含前端(Vue3 + VueFlow 画布)、后端(Go)、文档体系。 - 工作台画布:节点拖放、连线模式、右键菜单、AI 助手 - 后端:连接器 API、专员种子数据 - 导航:左侧导航、工坊、市场、控制台
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
import { createRouter, createWebHashHistory } from 'vue-router'
|
||||
|
||||
const routes = [
|
||||
{
|
||||
path: '/login',
|
||||
name: 'Login',
|
||||
component: () => import('@/views/Login.vue'),
|
||||
},
|
||||
{
|
||||
path: '/',
|
||||
component: () => import('@/layout/MainLayout.vue'),
|
||||
redirect: '/home',
|
||||
children: [
|
||||
{ path: 'home', name: 'Home', component: () => import('@/views/home/HomePage.vue') },
|
||||
{ path: 'knowledge-hub', name: 'KnowledgeHub', component: () => import('@/views/workbench/KnowledgeHub.vue') },
|
||||
{ path: 'market', name: 'Market', meta: { requiresAdmin: true }, component: () => import('@/views/workbench/MarketPage.vue') },
|
||||
{ path: 'studio', name: 'Studio', meta: { requiresAdmin: true }, component: () => import('@/views/workbench/StudioPage.vue') },
|
||||
{ path: 'console', name: 'Console', meta: { requiresAdmin: true }, component: () => import('@/views/workbench/ConsolePage.vue') },
|
||||
{ path: 'apps/contract-review', name: 'ContractReviewApp', meta: { workspaceKey: 'contract-review' }, component: () => import('@/views/workbench/BusinessAppPage.vue') },
|
||||
{ path: 'apps/solution-proposal', name: 'SolutionProposalApp', meta: { workspaceKey: 'solution-proposal' }, component: () => import('@/views/workbench/BusinessAppPage.vue') },
|
||||
{ path: 'apps/training-delivery', name: 'TrainingDeliveryApp', meta: { workspaceKey: 'training-delivery' }, component: () => import('@/views/workbench/BusinessAppPage.vue') },
|
||||
{ path: 'apps/knowledge-operations', name: 'KnowledgeOperationsApp', meta: { workspaceKey: 'knowledge-operations' }, component: () => import('@/views/workbench/BusinessAppPage.vue') },
|
||||
{ path: 'apps/process-coordination', name: 'ProcessCoordinationApp', meta: { workspaceKey: 'process-coordination' }, component: () => import('@/views/workbench/BusinessAppPage.vue') },
|
||||
{ path: 'apps/report-generation', name: 'ReportGenerationApp', meta: { workspaceKey: 'report-generation' }, component: () => import('@/views/workbench/BusinessAppPage.vue') },
|
||||
{ path: 'apps/logistics-fulfillment', name: 'LogisticsFulfillmentApp', meta: { workspaceKey: 'logistics-fulfillment' }, component: () => import('@/views/workbench/BusinessAppPage.vue') },
|
||||
{ path: 'apps/hr-email-sorter', name: 'HrEmailSorter', meta: { workspaceKey: 'hr-email-sorter' }, component: () => import('@/views/workbench/BusinessAppPage.vue') },
|
||||
{ path: 'apps/resume-processor', name: 'ResumeProcessor', meta: { workspaceKey: 'resume-processor' }, component: () => import('@/views/workbench/BusinessAppPage.vue') },
|
||||
{ path: 'company-train', name: 'CompanyTrain', component: () => import('@/views/companyTrain/CompanyTrain.vue') },
|
||||
{ path: 'products', name: 'ProductList', component: () => import('@/views/product/ProductList.vue') },
|
||||
{ path: 'products/:id', name: 'ProductDetail', component: () => import('@/views/product/ProductDetail.vue') },
|
||||
{ path: 'courses', name: 'CourseList', component: () => import('@/views/salesTrain/CourseList.vue') },
|
||||
{ path: 'courses/:id', name: 'CourseDetail', component: () => import('@/views/salesTrain/CourseDetail.vue') },
|
||||
{ path: 'exam/self-test', name: 'ExamSelfTest', component: () => import('@/views/exam/ExamSelfTest.vue') },
|
||||
{ path: 'exam/formal', name: 'ExamFormal', component: () => import('@/views/exam/ExamFormal.vue') },
|
||||
{ path: 'exam/my-records', name: 'ExamMyRecord', component: () => import('@/views/exam/ExamMyRecord.vue') },
|
||||
{ path: 'exam/my-position', name: 'MyPosition', component: () => import('@/views/exam/MyPosition.vue') },
|
||||
{ path: 'exam/my-mistakes', name: 'MyMistakes', component: () => import('@/views/exam/MyMistakes.vue') },
|
||||
{ path: 'exam/my-profile', name: 'MyProfile', component: () => import('@/views/exam/MyProfile.vue') },
|
||||
{ path: 'exam/my-certificates', name: 'MyCertificates', component: () => import('@/views/exam/MyCertificates.vue') },
|
||||
{ path: 'exam/leaderboard', name: 'Leaderboard', component: () => import('@/views/exam/Leaderboard.vue') },
|
||||
{ path: 'notifications', name: 'Notification', component: () => import('@/views/Notification.vue') },
|
||||
{ path: 'knowledge/materials', name: 'MaterialManage', meta: { requiresAdmin: true }, component: () => import('@/views/knowledge/MaterialManage.vue') },
|
||||
{ path: 'knowledge/audit', name: 'MaterialAudit', meta: { requiresAdmin: true }, component: () => import('@/views/knowledge/MaterialAudit.vue') },
|
||||
{ path: 'knowledge/questions', name: 'ExamQuestionBank', meta: { requiresAdmin: true }, component: () => import('@/views/knowledge/ExamQuestionBank.vue') },
|
||||
{ path: 'knowledge/exam-records', name: 'ExamRecordManage', meta: { requiresAdmin: true }, component: () => import('@/views/knowledge/ExamRecordManage.vue') },
|
||||
{ path: 'system/positions', name: 'PositionManage', meta: { requiresAdmin: true }, component: () => import('@/views/system/PositionManage.vue') },
|
||||
{ path: 'system/departments', name: 'DepartmentManage', meta: { requiresAdmin: true }, component: () => import('@/views/system/DepartmentManage.vue') },
|
||||
{ path: 'system/users', name: 'UserManage', meta: { requiresAdmin: true }, component: () => import('@/views/system/UserManage.vue') },
|
||||
{ path: 'system/company-config', name: 'CompanyConfig', meta: { requiresAdmin: true }, component: () => import('@/views/system/CompanyConfigPage.vue') },
|
||||
{ path: 'system/config', name: 'SystemConfig', meta: { requiresAdmin: true }, component: () => import('@/views/system/SystemConfigPage.vue') },
|
||||
{ path: 'system/ai-usage', name: 'AiUsage', meta: { requiresAdmin: true }, component: () => import('@/views/system/AiUsage.vue') },
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
const router = createRouter({
|
||||
history: createWebHashHistory(),
|
||||
routes,
|
||||
})
|
||||
|
||||
export default router
|
||||
Reference in New Issue
Block a user