Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions ui/src/router/ROUTE_README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Workspace 根地址为 `/admin/workspace/:workspaceId`。`workspaceId` 只以当
地址、登录成功和从 System 返回 Workspace 时统一进入 `/admin/workspace/default`。父路由的
`scope` 会合并到匹配的子路由 `meta` 中。

触发器列表地址为 `/admin/workspace/:workspaceId/trigger`,渲染 `views/trigger/TriggerView.vue`。
触发器列表地址为 `/admin/workspace/:workspaceId/trigger`,渲染 `views/trigger/index.vue`。

每个业务模块在 `admin/workspace/modules` 中独立维护。模块的列表、创建、详情、编辑等页面应放在同一个路由文件中。

Expand All @@ -60,7 +60,7 @@ System 根地址为 `/admin/system`,默认进入首页 `/admin/system/home`。
`users`(`system-chat-users`)。子路由还包括 `groups`
(`system-chat-groups`)、`authentication`(`system-chat-authentication`)
和 `portal-setting`(`system-portal-setting`),页面组件统一位于 `views/system/chat-management/`。
门户访问设置渲染 `views/system/chat-management/portal-setting/PortalSettingView.vue`,提供门户访问
门户访问设置渲染 `views/system/chat-management/portal-setting/index.vue`,提供门户访问
配置和右侧界面预览。

各子路由通过 `meta.resource` 向页面传入对应的后端资源类型。
Expand All @@ -85,7 +85,7 @@ Login、Workflow 路由没有挂载 `AppLayout`,因此不会出现在左侧导

登录页面地址为 `/login`;忘记密码使用独立页面 `/forgot-password`,两者均复用登录布局且不挂载 `AppLayout`。

Admin 使用末尾 catch-all 路由 `not-found` 渲染 `views/error/NotFoundView.vue`。直接访问不存在的
Admin 使用末尾 catch-all 路由 `not-found` 渲染 `views/error/index.vue`。直接访问不存在的
页面或 Admin API 返回需要全局处理的 404 时,统一进入该页面。

## Admin 导航拦截器
Expand Down Expand Up @@ -244,7 +244,7 @@ System 共享资源页面:
/admin/system/share/tools
```

`system-shared-tools` 渲染 `views/system/shared-resources/ToolSharedView.vue`,提供共享工具管理页面。
`system-shared-tools` 渲染 `views/system/shared-resources/tool/index.vue`,提供共享工具管理页面。

共享资源路由是 System 导航的一部分,继续在 `admin/system/index.ts` 的 `share` 子路由中维护。
已实现的共享资源页面放在 `views/system/shared-resources/`,由页面处理 System 范围的查询和操作,
Expand All @@ -256,7 +256,7 @@ System 共享资源页面:
{
path: 'settings',
name: 'system-settings',
component: () => import('@/views/system/SystemView.vue'),
component: () => import('@/views/system/index.vue'),
meta: {
title: '系统设置',
icon: 'icon_setting',
Expand All @@ -281,7 +281,7 @@ System 共享资源页面:
{
path: 'users',
name: 'system-users',
component: () => import('@/views/system/identity/users/UserListView.vue'),
component: () => import('@/views/system/identity/users/index.vue'),
meta: {
title: '用户管理',
order: 10,
Expand All @@ -301,7 +301,7 @@ System 共享资源页面:
{
path: 'users/:id/edit',
name: 'system-user-edit',
component: () => import('@/views/system/UserEditView.vue'),
component: () => import('@/views/system/user-edit/index.vue'),
meta: {
title: '编辑用户',
hidden: true,
Expand Down Expand Up @@ -332,7 +332,7 @@ System 共享资源页面:
检索优化使用 `/retrieval/recall`、`/retrieval/question`、`/retrieval/dictionary`;
授权与集成使用 `/integration/chat-user`、`/integration/external-retrieval`。
分组不挂载页面组件,直接访问分组时重定向到首个子页。新增七个页面暂为占位 View。`setting`
渲染 `knowledge-detail/setting/KnowledgeSettingView.vue`,使用容器提供的知识库详情。`workflow-entry`
渲染 `knowledge-detail/setting/index.vue`,使用容器提供的知识库详情。`workflow-entry`
仅作为目录跳转入口,重定向到独立的 `workflow-knowledge` 全屏画布。画布返回知识库详情。
文档详情路由当前尚未启用;后续接入时通过 `detailActiveMenu` 高亮“文档”。

Expand Down Expand Up @@ -360,7 +360,7 @@ Workspace 父路由为 `workspace-application-detail-layout`;System 详情实
### System 资源管理模型与工具

`/system/resource/models`、`/system/resource/tools` 分别渲染
`views/system/resource-management/ModelResourceView.vue` 和 `ToolResourceView.vue`,
`views/system/resource-management/model/index.vue` 和 `tool/index.vue`,
继承 `resourceScope: 'system-resource'`,保留原导航名称、顺序与权限。
资源管理工具的全屏工作流使用 `system-resource-workflow-tool`,地址为
`/system/resource/tool/:toolId/workflow`,在 `admin/workflow/index.ts`
Expand Down
2 changes: 1 addition & 1 deletion ui/src/router/admin/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ const router = createRouter({
...workflowRoutes,
workspaceRoutes,
systemRoutes,
{ path: '/:pathMatch(.*)*', name: 'not-found', component: () => import('@/views/error/NotFoundView.vue'), meta: { title: '页面不存在' } },
{ path: '/:pathMatch(.*)*', name: 'not-found', component: () => import('@/views/error/index.vue'), meta: { title: '页面不存在' } },
],
})

Expand Down
4 changes: 2 additions & 2 deletions ui/src/router/admin/login/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ import type { RouteRecordRaw } from 'vue-router'

/** 登录及账户安全相关独立页面,不使用 AppLayout,也不会出现在左侧导航中。 */
export const loginRoutes: RouteRecordRaw[] = [
{ path: '/login', name: 'login', component: () => import('@/views/login/LoginView.vue'), meta: { title: '登录' } },
{ path: '/forgot-password', name: 'forgot-password', component: () => import('@/views/login/ForgotPasswordView.vue'), meta: { title: '忘记密码' } },
{ path: '/login', name: 'login', component: () => import('@/views/login/index.vue'), meta: { title: '登录' } },
{ path: '/forgot-password', name: 'forgot-password', component: () => import('@/views/login/forgot-password/index.vue'), meta: { title: '忘记密码' } },
]
48 changes: 24 additions & 24 deletions ui/src/router/admin/system/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export const systemRoutes: RouteRecordRaw = {
{
path: 'home',
name: 'system-home',
component: () => import('@/views/system/SystemView.vue'),
component: () => import('@/views/system/index.vue'),
meta: {
title: '首页',
activeIcon: 'icon_screen_filled',
Expand Down Expand Up @@ -48,25 +48,25 @@ export const systemRoutes: RouteRecordRaw = {
{
path: 'users',
name: 'system-users',
component: () => import('@/views/system/identity/users/UserListView.vue'),
component: () => import('@/views/system/identity/users/index.vue'),
meta: { title: '用户管理', order: 10, permission: perm.system.user.read, next: 'system-workspace' },
},
{
path: 'workspace',
name: 'system-workspace',
component: () => import('@/views/system/identity/workspaces/WorkspaceListView.vue'),
component: () => import('@/views/system/identity/workspaces/index.vue'),
meta: { title: '工作空间', order: 20, permission: perm.system.workspace.read, next: 'system-roles' },
},
{
path: 'roles',
name: 'system-roles',
component: () => import('@/views/system/identity/roles/RoleListView.vue'),
component: () => import('@/views/system/identity/roles/index.vue'),
meta: { title: '角色管理', order: 30, permission: perm.system.role.read, next: 'system-groups' },
},
{
path: 'groups',
name: 'system-groups',
component: () => import('@/views/system/identity/groups/GroupsListView.vue'),
component: () => import('@/views/system/identity/groups/index.vue'),
meta: { title: '用户组', order: 40, permission: perm.system.userGroup.read, next: 'system-authorization' },
},
{
Expand All @@ -90,7 +90,7 @@ export const systemRoutes: RouteRecordRaw = {
{
path: 'applications',
name: 'system-authorization-applications',
component: () => import('@/views/system/identity/resource-authorization/ResourceAuthorizationView.vue'),
component: () => import('@/views/system/identity/resource-authorization/index.vue'),
meta: {
title: '智能体',
order: 10,
Expand All @@ -102,7 +102,7 @@ export const systemRoutes: RouteRecordRaw = {
{
path: 'knowledge',
name: 'system-authorization-knowledge',
component: () => import('@/views/system/identity/resource-authorization/ResourceAuthorizationView.vue'),
component: () => import('@/views/system/identity/resource-authorization/index.vue'),
meta: {
title: '知识库',
order: 20,
Expand All @@ -114,7 +114,7 @@ export const systemRoutes: RouteRecordRaw = {
{
path: 'tools',
name: 'system-authorization-tools',
component: () => import('@/views/system/identity/resource-authorization/ResourceAuthorizationView.vue'),
component: () => import('@/views/system/identity/resource-authorization/index.vue'),
meta: {
title: '工具',
order: 30,
Expand All @@ -126,7 +126,7 @@ export const systemRoutes: RouteRecordRaw = {
{
path: 'models',
name: 'system-authorization-models',
component: () => import('@/views/system/identity/resource-authorization/ResourceAuthorizationView.vue'),
component: () => import('@/views/system/identity/resource-authorization/index.vue'),
meta: {
title: '模型',
order: 40,
Expand Down Expand Up @@ -157,25 +157,25 @@ export const systemRoutes: RouteRecordRaw = {
{
path: 'applications',
name: 'system-resource-applications',
component: () => import('@/views/system/SystemView.vue'),
component: () => import('@/views/system/index.vue'),
meta: { title: '智能体', order: 10, permission: perm.application.system.jumpRead, next: 'system-resource-knowledge' },
},
{
path: 'knowledge',
name: 'system-resource-knowledge',
component: () => import('@/views/system/SystemView.vue'),
component: () => import('@/views/system/index.vue'),
meta: { title: '知识库', order: 20, permission: perm.knowledge.system.jumpRead, next: 'system-resource-tools' },
},
{
path: 'tools',
name: 'system-resource-tools',
component: () => import('@/views/system/resource-management/ToolResourceView.vue'),
component: () => import('@/views/system/resource-management/tool/index.vue'),
meta: { title: '工具', order: 30, permission: perm.tool.system.read, next: 'system-resource-models' },
},
{
path: 'models',
name: 'system-resource-models',
component: () => import('@/views/system/resource-management/ModelResourceView.vue'),
component: () => import('@/views/system/resource-management/model/index.vue'),
meta: { title: '模型', order: 40, permission: perm.model.system.read, next: 'system-share' },
},
],
Expand All @@ -200,20 +200,20 @@ export const systemRoutes: RouteRecordRaw = {
{
path: 'knowledge',
name: 'system-shared-knowledge',
component: () => import('@/views/system/SystemView.vue'),
component: () => import('@/views/system/index.vue'),
meta: { title: '知识库', order: 10, permission: perm.knowledge.share.jumpRead, next: 'system-shared-tools' },
},

{
path: 'tools',
name: 'system-shared-tools',
component: () => import('@/views/system/shared-resources/ToolSharedView.vue'),
component: () => import('@/views/system/shared-resources/tool/index.vue'),
meta: { title: '工具', order: 20, permission: perm.tool.share.read, next: 'system-shared-models' },
},
{
path: 'models',
name: 'system-shared-models',
component: () => import('@/views/system/shared-resources/ModelSharedview.vue'),
component: () => import('@/views/system/shared-resources/model/index.vue'),
meta: { title: '模型', order: 30, permission: perm.model.share.read, next: 'system-chat-management' },
},
],
Expand All @@ -235,25 +235,25 @@ export const systemRoutes: RouteRecordRaw = {
{
path: 'users',
name: 'system-chat-users',
component: () => import('@/views/system/chat-management/users/UserListView.vue'),
component: () => import('@/views/system/chat-management/users/index.vue'),
meta: { title: '对话用户', order: 10, permission: perm.system.chatUser.read, next: 'system-chat-management-groups' },
},
{
path: 'groups',
name: 'system-chat-groups',
component: () => import('@/views/system/chat-management/user-groups/GroupsListView.vue'),
component: () => import('@/views/system/chat-management/user-groups/index.vue'),
meta: { title: '对话用户组', order: 20, permission: perm.system.chatUserGroup.read, next: 'system-chat-management-authentication' },
},
{
path: 'authentication',
name: 'system-chat-authentication',
component: () => import('@/views/system/chat-management/authentication/AuthenticationView.vue'),
component: () => import('@/views/system/chat-management/authentication/index.vue'),
meta: { title: '对话用户认证', order: 30, permission: perm.system.chatAuth.read, next: 'system-portal-setting' },
},
{
path: 'portal-setting',
name: 'system-portal-setting',
component: () => import('@/views/system/chat-management/portal-setting/PortalSettingView.vue'),
component: () => import('@/views/system/chat-management/portal-setting/index.vue'),
meta: { title: '门户访问设置', order: 40, permission: perm.system.portal.read, next: 'system-settings' },
},
],
Expand All @@ -275,27 +275,27 @@ export const systemRoutes: RouteRecordRaw = {
{
path: 'authentication',
name: 'system-login-authentication',
component: () => import('@/views/system/settings/authentication/AuthenticationView.vue'),
component: () => import('@/views/system/settings/authentication/index.vue'),
meta: { title: '系统用户认证', order: 10, permission: perm.system.loginAuth.read, next: 'system-theme' },
},
{
path: 'theme',
name: 'system-theme',
component: () => import('@/views/system/settings/theme/ThemeSettingView.vue'),
component: () => import('@/views/system/settings/theme/index.vue'),
meta: { title: '外观设置', order: 20, permission: perm.system.appearance.read, next: 'system-email' },
},
{
path: 'email',
name: 'system-email',
component: () => import('@/views/system/settings/email/EmailSettingsView.vue'),
component: () => import('@/views/system/settings/email/index.vue'),
meta: { title: '邮箱设置', order: 30, permission: perm.system.email.read, next: 'system-logs' },
},
],
},
{
path: 'logs',
name: 'system-logs',
component: () => import('@/views/system/operate-logs/OperateLogListView.vue'),
component: () => import('@/views/system/operate-logs/index.vue'),
meta: {
title: '操作日志',
icon: 'icon_logs_outlined',
Expand Down
10 changes: 5 additions & 5 deletions ui/src/router/admin/workflow/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,33 +5,33 @@ export const workflowRoutes: RouteRecordRaw[] = [
{
path: '/workspace/:workspaceId/application/:applicationId/workflow',
name: 'workflow-application',
component: () => import('@/views/workflow/application/ApplicationWorkflowView.vue'),
component: () => import('@/views/workflow/application/index.vue'),
meta: { title: '智能体工作流', resourceScope: 'workspace' },
},
{
path: '/workspace/:workspaceId/tool/:toolId/workflow',
name: 'workflow-tool',
component: () => import('@/views/workflow/tool/ToolWorkflowView.vue'),
component: () => import('@/views/workflow/tool/index.vue'),
meta: { title: '工具工作流', resourceScope: 'workspace' },
},

{
path: '/system/resource/tool/:toolId/workflow',
name: 'system-resource-workflow-tool',
component: () => import('@/views/workflow/tool/ToolWorkflowView.vue'),
component: () => import('@/views/workflow/tool/index.vue'),
meta: { title: '工具工作流', resourceScope: 'system-resource' },
},
{
path: '/system/shared/tool/:toolId/workflow',
name: 'system-shared-workflow-tool',
component: () => import('@/views/workflow/tool/ToolWorkflowView.vue'),
component: () => import('@/views/workflow/tool/index.vue'),
meta: { title: '工具工作流', resourceScope: 'system-shared' },
},

{
path: '/workspace/:workspaceId/knowledge/:knowledgeId/workflow',
name: 'workflow-knowledge',
component: () => import('@/views/workflow/knowledge/KnowledgeWorkflowView.vue'),
component: () => import('@/views/workflow/knowledge/index.vue'),
meta: { title: '知识库工作流', resourceScope: 'workspace' },
},
]
Loading
Loading