2级sidebar

This commit is contained in:
2025-12-13 15:56:12 +08:00
parent 3442f96214
commit b57a002de8
46 changed files with 1529 additions and 203 deletions

View File

@@ -0,0 +1,229 @@
# 管理后台路由架构说明
## 三层架构设计
### 第一层:外层主 Sidebar (platform 服务)
显示在平台主界面的侧边栏,包含用户应用和管理后台入口。
**布局**: `SidebarLayout`
**服务**: `platform`
#### 用户应用入口
- 泰豪AI助手 (`/aichat`)
- 全部应用 (`/agents`)
- 智能体编排 (`/app/workflow`) - iframe
- 招标助手 (`/app/bidding`) - iframe
- 泰豪小电 (`/app/workcase`) - iframe
#### 管理后台入口iframe类型
1. **平台管理后台** (`/admin/platform`)
- iframe_url: `/platform/admin`
- 权限: `perm_platform_admin`
2. **智能标书管理后台** (`/admin/bidding`)
- iframe_url: `/bidding/admin`
- 权限: `perm_bidding_admin`
3. **泰豪小电管理后台** (`/admin/workcase`)
- iframe_url: `/workcase/admin`
- 权限: `perm_workcase_admin`
---
### 第二层AdminSidebarLayout (各服务内部)
每个管理后台的内部二级菜单,使用 `AdminSidebarLayout` 布局。
**布局**: `AdminSidebarLayout`
**类型**: `route`(非 iframe
---
## Platform 管理后台(第二层)
**服务**: `platform`
**布局**: `AdminSidebarLayout`
### 视图列表
| 序号 | 视图名称 | URL | 组件路径 | 权限 |
|------|---------|-----|----------|------|
| 1 | 数据概览 | `/admin/overview` | `admin/overview/OverviewView.vue` | `perm_platform_admin_overview` |
| 2 | 用户管理 | `/admin/user` | `admin/user/UserView.vue` | `perm_platform_admin_user` |
| 3 | 知识库 | `/admin/knowledge` | `admin/knowledge/KnowledgeView.vue` | `perm_platform_admin_knowledge` |
| 4 | 系统配置 | `/admin/config` | `admin/config/ConfigView.vue` | `perm_platform_admin_config` |
### 权限配置
```sql
-- 管理后台入口权限
PERM-0601: perm_platform_admin (platform:admin:view)
-- 内部功能权限
PERM-0602: perm_platform_admin_overview (platform:admin:overview)
PERM-0603: perm_platform_admin_user (platform:admin:user)
PERM-0604: perm_platform_admin_knowledge (platform:admin:knowledge)
PERM-0605: perm_platform_admin_config (platform:admin:config)
```
---
## Bidding 管理后台(第二层)
**服务**: `bidding`
**布局**: `AdminSidebarLayout`
### 权限配置
```sql
-- 管理后台入口权限
PERM-0611: perm_bidding_admin (bidding:admin:view)
```
*注: bidding 管理后台的具体视图需要后续配置*
---
## Workcase 管理后台(第二层)
**服务**: `workcase`
**布局**: `AdminSidebarLayout`
### 视图列表
| 序号 | 视图名称 | URL | 组件路径 | 权限 |
|------|---------|-----|----------|------|
| 1 | 数据概览 | `/admin/overview` | `admin/overview/OverviewView.vue` | `perm_workcase_overview` |
| 2 | 知识库管理 | `/admin/knowledge` | `admin/knowledge/KnowLedgeView.vue` | `perm_workcase_knowledge` |
| 3 | 工单管理 | `/admin/workcase` | `admin/workcase/WorkcaseView.vue` | `perm_workcase_tickets` |
| 4 | 对话数据 | `/admin/customerChat` | `admin/customerChat/CustomerChatView.vue` | `perm_workcase_conversation` |
| 5 | 智能体管理 | `/admin/agent` | `admin/agent/AgentView.vue` | `perm_workcase_agent` |
| 6 | 日志管理 | `/admin/log` | *(目录)* | `perm_workcase_log` |
| 6.1 | └ 知识库日志 | `/admin/log/knowledge` | `admin/log/knowledgeLog/KnowledgeLogView.vue` | `perm_workcase_log` |
| 6.2 | └ 工单日志 | `/admin/log/workcase` | `admin/log/workcaseLog/WorkcaseLogView.vue` | `perm_workcase_log` |
| 6.3 | └ 系统日志 | `/admin/log/system` | `admin/log/systemLog/SystemLogView.vue` | `perm_workcase_log` |
### 权限配置
```sql
-- 管理后台入口权限
PERM-0621: perm_workcase_admin (workcase:admin:view)
-- 内部功能权限
PERM-0622: perm_workcase_overview (workcase:overview:view)
PERM-0623: perm_workcase_knowledge (workcase:knowledge:view)
PERM-0624: perm_workcase_tickets (workcase:tickets:view)
PERM-0625: perm_workcase_conversation (workcase:conversation:view)
PERM-0626: perm_workcase_agent (workcase:agent:view)
PERM-0627: perm_workcase_log (workcase:log:view)
```
---
## 路由过滤规则
### 外层主 Sidebar (platform/SidebarLayout)
显示所有 `service='platform'``layout='SidebarLayout'` 的视图:
- 用户应用入口普通路由和iframe
- 管理后台入口iframe类型
### 内层 AdminSidebarLayout
各服务内部,显示 `layout='AdminSidebarLayout'``url.startsWith('/admin')` 的视图:
#### Platform AdminSidebar
```typescript
service === 'platform' &&
layout === 'AdminSidebarLayout' &&
url.startsWith('/admin')
```
#### Bidding AdminSidebar
```typescript
service === 'bidding' &&
layout === 'AdminSidebarLayout' &&
url.startsWith('/admin')
```
#### Workcase AdminSidebar
```typescript
service === 'workcase' &&
layout === 'AdminSidebarLayout' &&
url.startsWith('/admin')
```
---
## 数据库表关系
### 视图类型说明
| type | view_type | 说明 | 示例 |
|------|-----------|------|------|
| 1 | route | 普通路由视图 | 数据概览、用户管理 |
| 1 | iframe | iframe嵌入视图 | 管理后台入口、Dify编排 |
| 0 | route | 目录(不可点击) | 日志管理 |
| 3 | route | 默认首页(隐藏) | 智能客服首页 |
### 视图权限关联
每个视图通过 `tb_sys_view_permission` 表关联到对应权限:
- 一个视图可以关联多个权限AND 逻辑)
- 用户需要拥有所有关联权限才能访问该视图
### 角色权限继承
- **超级管理员**: 自动拥有所有权限
- **系统管理员**: 拥有所有 module 的管理权限(除删除外)
- **普通用户**: 基础查看权限 + 平台基础菜单访问
- **访客**: 仅查看权限 + 部分平台菜单访问
---
## 前端实现注意事项
### 1. Layout 组件
- **SidebarLayout**: 外层主侧边栏platform 主界面)
- **AdminSidebarLayout**: 内层管理侧边栏(各管理后台内部)
- **BlankLayout**: 空白布局(如智能客服首页)
### 2. iframe 嵌套
- 外层 platform 的 iframe 菜单 → 加载各服务的管理后台
- 各服务内部使用 AdminSidebarLayout 渲染二级菜单
- iframe_url 必须正确指向实际服务地址
### 3. 路由配置
所有 `/admin/*` 路径统一用于管理后台:
- platform: `/admin/overview`, `/admin/user`
- bidding: `/admin/*` (待定义)
- workcase: `/admin/overview`, `/admin/knowledge`
### 4. 权限验证
前端需要根据 `loginDomain.userViews` 动态渲染菜单:
- 检查 `layout` 字段匹配当前布局
- 检查 `service` 字段匹配当前服务
- 检查用户是否拥有关联的权限
---
## 迁移说明
如果从旧的单层架构迁移到三层架构:
1. **视图迁移**
- 将原 platform 的管理视图改为 `layout='AdminSidebarLayout'`
- URL 统一改为 `/admin/*` 格式
- 在 platform 主侧边栏添加 iframe 入口
2. **权限迁移**
- 保留原有权限定义
- 新增管理后台入口权限(如 `perm_platform_admin`
- 更新视图权限关联
3. **前端组件**
- 创建 AdminSidebarLayout 组件(参考 workcase 实现)
- 更新 platform 路由配置支持 `/admin/*` 路径
- 配置 iframe 路由指向各服务管理后台
---
## 总结
这个三层架构设计实现了:
-**统一入口**: 所有管理后台统一在 platform 主侧边栏
-**独立管理**: 各服务管理后台相互独立,便于维护
-**权限细分**: 入口权限 + 功能权限双重控制
-**灵活扩展**: 新增服务只需添加 iframe 入口和内部视图
-**用户体验**: 统一的导航风格,清晰的层级结构

View File

@@ -158,7 +158,7 @@ CREATE TABLE sys.tb_sys_view (
url VARCHAR(255) DEFAULT NULL, -- 视图URL
component VARCHAR(255) DEFAULT NULL, -- 视图组件
icon VARCHAR(100) DEFAULT NULL, -- 视图图标
type INTEGER DEFAULT 0, -- 视图类型0=目录 1=菜单页面 2=按钮
type INTEGER DEFAULT 0, -- 视图类型0=导航栏 1=侧边栏 2=按钮,3空白页
view_type VARCHAR(20) DEFAULT 'route', -- 页面类型route=路由页面 iframe=嵌入页面
iframe_url VARCHAR(500) DEFAULT NULL, -- iframe URL仅当view_type=iframe时有效
service VARCHAR(20) DEFAULT 'platform', -- 所属服务platform=平台应用 bidding=招标应用 workcase=客服应用

View File

@@ -156,6 +156,38 @@ INSERT INTO sys.tb_sys_permission (
('PERM-0504', 'perm_platform_workcase', '泰豪小电访问', 'platform:workcase:view', '访问泰豪小电客服iframe', 'module_workcase',
true, 'system', NULL, now(), false),
('PERM-0505', 'perm_platform_workflow', '智能体编排访问', 'platform:workflow:view', '访问智能体编排iframe', 'module_system',
true, 'system', NULL, now(), false),
-- Platform 管理后台功能权限
('PERM-0601', 'perm_platform_admin', '平台管理后台', 'platform:admin:view', '访问平台管理后台', 'module_system',
true, 'system', NULL, now(), false),
('PERM-0602', 'perm_platform_admin_overview', '平台数据概览', 'platform:admin:overview', '访问平台数据概览', 'module_system',
true, 'system', NULL, now(), false),
('PERM-0603', 'perm_platform_admin_user', '平台用户管理', 'platform:admin:user', '访问平台用户管理', 'module_system',
true, 'system', NULL, now(), false),
('PERM-0604', 'perm_platform_admin_knowledge', '平台知识库', 'platform:admin:knowledge', '访问平台知识库', 'module_knowledge',
true, 'system', NULL, now(), false),
('PERM-0605', 'perm_platform_admin_config', '平台系统配置', 'platform:admin:config', '访问平台系统配置', 'module_config',
true, 'system', NULL, now(), false),
-- Bidding 管理后台功能权限
('PERM-0611', 'perm_bidding_admin', '招标管理后台', 'bidding:admin:view', '访问招标管理后台', 'module_bidding',
true, 'system', NULL, now(), false),
-- Workcase 管理后台功能权限
('PERM-0621', 'perm_workcase_admin', '客服管理后台', 'workcase:admin:view', '访问客服管理后台', 'module_workcase',
true, 'system', NULL, now(), false),
('PERM-0622', 'perm_workcase_overview', '数据概览', 'workcase:overview:view', '访问泰豪小电数据概览', 'module_workcase',
true, 'system', NULL, now(), false),
('PERM-0623', 'perm_workcase_knowledge', '知识库管理', 'workcase:knowledge:view', '访问知识库管理', 'module_workcase',
true, 'system', NULL, now(), false),
('PERM-0624', 'perm_workcase_tickets', '工单管理', 'workcase:tickets:view', '访问工单管理', 'module_workcase',
true, 'system', NULL, now(), false),
('PERM-0625', 'perm_workcase_conversation', '对话数据', 'workcase:conversation:view', '访问对话数据管理', 'module_workcase',
true, 'system', NULL, now(), false),
('PERM-0626', 'perm_workcase_agent', '智能体管理', 'workcase:agent:view', '访问智能体管理', 'module_workcase',
true, 'system', NULL, now(), false),
('PERM-0627', 'perm_workcase_log', '日志管理', 'workcase:log:view', '访问日志管理', 'module_workcase',
true, 'system', NULL, now(), false);
-- =============================
@@ -184,6 +216,24 @@ INSERT INTO sys.tb_sys_view (
('VIEW-P004', 'view_platform_workcase', '泰豪小电', NULL, '/app/workcase', NULL, 'Service', 1,
'iframe', '/workcase/', 'platform', 'SidebarLayout', 50, '客服应用iframe', 'system', now(), false),
-- 管理后台入口iframe类型显示在外层主sidebar
('VIEW-P101', 'view_platform_admin_entry', '平台管理后台', NULL, '/admin/platform', NULL, 'Setting', 1,
'iframe', '/platform/admin', 'platform', 'AdminIframeSidebarLayout', 100, '平台管理后台入口', 'system', now(), false),
('VIEW-P102', 'view_bidding_admin_entry', '智能标书管理后台', NULL, '/admin/bidding', NULL, 'Document', 1,
'iframe', '/bidding/admin', 'platform', 'AdminIframeSidebarLayout', 110, '智能标书管理后台入口', 'system', now(), false),
('VIEW-P103', 'view_workcase_admin_entry', '泰豪小电管理后台', NULL, '/admin/workcase', NULL, 'Service', 1,
'iframe', '/workcase/admin', 'platform', 'AdminIframeSidebarLayout', 120, '泰豪小电管理后台入口', 'system', now(), false),
-- 平台管理后台内部视图AdminSidebarLayout布局在platform服务内
('VIEW-P201', 'view_platform_admin_overview', '数据概览', NULL, '/admin/overview', 'admin/overview/OverviewView.vue', 'DataLine', 1,
'route', NULL, 'platform', 'AdminSidebarLayout', 210, '平台数据概览', 'system', now(), false),
('VIEW-P202', 'view_platform_admin_user', '用户管理', NULL, '/admin/user', 'admin/user/UserView.vue', 'User', 1,
'route', NULL, 'platform', 'AdminSidebarLayout', 220, '平台用户管理', 'system', now(), false),
('VIEW-P203', 'view_platform_admin_knowledge', '知识库', NULL, '/admin/knowledge', 'admin/knowledge/KnowledgeView.vue', 'Document', 1,
'route', NULL, 'platform', 'AdminSidebarLayout', 230, '平台知识库管理', 'system', now(), false),
('VIEW-P204', 'view_platform_admin_config', '系统配置', NULL, '/admin/config', 'admin/config/ConfigView.vue', 'Setting', 1,
'route', NULL, 'platform', 'AdminSidebarLayout', 240, '平台系统配置', 'system', now(), false),
-- -- 系统管理目录
-- ('VIEW-P100', 'view_system', '系统管理', NULL, '/system', NULL, 'Settings', 0,
-- 'route', NULL, 'platform', 'SidebarLayout', 100, '系统管理目录', 'system', now(), false),
@@ -228,14 +278,38 @@ INSERT INTO sys.tb_sys_view (
-- =========================
-- 客服应用菜单 (workcase)
-- =========================
('VIEW-W001', 'view_workcase_home', '智能客服', NULL, '/', 'public/AIChat/AIChatView.vue', 'House', 3,
-- 用户端视图
('VIEW-W001', 'view_workcase_home', '智能客服', NULL, '/aichat', 'public/AIChat/AIChatView.vue', 'House', 3,
'route', NULL, 'workcase', 'BlankLayout', 10, '智能客服首页', 'system', now(), false),
('VIEW-W002', 'view_workcase_list', '工单列表', NULL, '/list', 'workcase/List', 'Tickets', 1,
'route', NULL, 'workcase', 'SidebarLayout', 20, '工单列表页面', 'system', now(), false),
-- 管理端视图(使用 AdminSidebarLayout 布局)
('VIEW-W101', 'view_workcase_admin_overview', '数据概览', NULL, '/admin/overview', 'admin/overview/OverviewView.vue', 'DataLine', 1,
'route', NULL, 'workcase', 'AdminSidebarLayout', 110, '泰豪小电数据概览', 'system', now(), false),
('VIEW-W003', 'view_workcase_detail', '工单详情', NULL, '/detail', 'workcase/Detail', 'Document', 1,
'route', NULL, 'workcase', 'SidebarLayout', 30, '工单详情页面', 'system', now(), false);
('VIEW-W102', 'view_workcase_admin_knowledge', '知识库管理', NULL, '/admin/knowledge', 'admin/knowledge/KnowLedgeView.vue', 'Document', 1,
'route', NULL, 'workcase', 'AdminSidebarLayout', 120, '知识库文档管理', 'system', now(), false),
('VIEW-W103', 'view_workcase_admin_tickets', '工单管理', NULL, '/admin/workcase', 'admin/workcase/WorkcaseView.vue', 'Tickets', 1,
'route', NULL, 'workcase', 'AdminSidebarLayout', 130, '客服工单管理', 'system', now(), false),
('VIEW-W104', 'view_workcase_admin_conversation', '对话数据', NULL, '/admin/customerChat', 'admin/customerChat/CustomerChatView.vue', 'ChatDotRound', 1,
'route', NULL, 'workcase', 'AdminSidebarLayout', 140, '客户对话数据管理', 'system', now(), false),
('VIEW-W105', 'view_workcase_admin_agent', '智能体管理', NULL, '/admin/agent', 'admin/agent/AgentView.vue', 'Service', 1,
'route', NULL, 'workcase', 'AdminSidebarLayout', 150, '智能体配置管理', 'system', now(), false),
-- 日志管理(带子级的目录)
('VIEW-W106', 'view_workcase_admin_log', '日志管理', NULL, '/admin/log', NULL, 'List', 0,
'route', NULL, 'workcase', 'AdminSidebarLayout', 160, '日志管理目录', 'system', now(), false),
('VIEW-W107', 'view_workcase_admin_log_knowledge', '知识库日志', 'view_workcase_admin_log', '/admin/log/knowledge', 'admin/log/knowledgeLog/KnowledgeLogView.vue', 'Document', 1,
'route', NULL, 'workcase', 'AdminSidebarLayout', 161, '知识库操作日志', 'system', now(), false),
('VIEW-W108', 'view_workcase_admin_log_workcase', '工单日志', 'view_workcase_admin_log', '/admin/log/workcase', 'admin/log/workcaseLog/WorkcaseLogView.vue', 'Tickets', 1,
'route', NULL, 'workcase', 'AdminSidebarLayout', 162, '工单操作日志', 'system', now(), false),
('VIEW-W109', 'view_workcase_admin_log_system', '系统日志', 'view_workcase_admin_log', '/admin/log/system', 'admin/log/systemLog/SystemLogView.vue', 'Setting', 1,
'route', NULL, 'workcase', 'AdminSidebarLayout', 163, '系统运行日志', 'system', now(), false);
-- =============================
-- 6. 角色权限关联(超级管理员拥有所有权限)
@@ -318,10 +392,34 @@ INSERT INTO sys.tb_sys_view_permission (
('VP-P004', 'view_platform_workcase', 'perm_platform_workcase', 'system', NULL, now(), false),
('VP-P005', 'view_platform_workflow', 'perm_platform_workflow', 'system', NULL, now(), false),
-- Workcase服务内部视图关联使用同一个workcase访问权限
-- 管理后台入口权限关联iframe入口
('VP-P101', 'view_platform_admin_entry', 'perm_platform_admin', 'system', NULL, now(), false),
('VP-P102', 'view_bidding_admin_entry', 'perm_bidding_admin', 'system', NULL, now(), false),
('VP-P103', 'view_workcase_admin_entry', 'perm_workcase_admin', 'system', NULL, now(), false),
-- 平台管理后台内部视图权限关联AdminSidebarLayout
('VP-P201', 'view_platform_admin_overview', 'perm_platform_admin_overview', 'system', NULL, now(), false),
('VP-P202', 'view_platform_admin_user', 'perm_platform_admin_user', 'system', NULL, now(), false),
('VP-P203', 'view_platform_admin_knowledge', 'perm_platform_admin_knowledge', 'system', NULL, now(), false),
('VP-P204', 'view_platform_admin_config', 'perm_platform_admin_config', 'system', NULL, now(), false),
-- Workcase服务用户端视图关联使用同一个workcase访问权限
('VP-W001', 'view_workcase_home', 'perm_platform_workcase', 'system', NULL, now(), false),
('VP-W002', 'view_workcase_list', 'perm_platform_workcase', 'system', NULL, now(), false),
('VP-W003', 'view_workcase_detail', 'perm_platform_workcase', 'system', NULL, now(), false);
('VP-W003', 'view_workcase_detail', 'perm_platform_workcase', 'system', NULL, now(), false),
-- Workcase服务管理端视图关联
('VP-W101', 'view_workcase_admin_overview', 'perm_workcase_overview', 'system', NULL, now(), false),
('VP-W102', 'view_workcase_admin_knowledge', 'perm_workcase_knowledge', 'system', NULL, now(), false),
('VP-W103', 'view_workcase_admin_tickets', 'perm_workcase_tickets', 'system', NULL, now(), false),
('VP-W104', 'view_workcase_admin_conversation', 'perm_workcase_conversation', 'system', NULL, now(), false),
('VP-W105', 'view_workcase_admin_agent', 'perm_workcase_agent', 'system', NULL, now(), false),
-- 日志管理视图关联(包括父级和子级)
('VP-W106', 'view_workcase_admin_log', 'perm_workcase_log', 'system', NULL, now(), false),
('VP-W107', 'view_workcase_admin_log_knowledge', 'perm_workcase_log', 'system', NULL, now(), false),
('VP-W108', 'view_workcase_admin_log_workcase', 'perm_workcase_log', 'system', NULL, now(), false),
('VP-W109', 'view_workcase_admin_log_system', 'perm_workcase_log', 'system', NULL, now(), false);
-- -- 用户管理视图关联用户权限已注释因为view_user被注释掉了
-- -- ('VP-0001', 'view_user', 'perm_user_view', 'system', NULL, now(), false),

View File

@@ -0,0 +1,130 @@
# Workcase 管理端路由配置总结
## 已配置的管理端视图
### 1. 数据概览 (Overview)
- **view_id**: `view_workcase_admin_overview`
- **URL**: `/admin/overview`
- **组件**: `admin/overview/OverviewView.vue`
- **图标**: DataLine
- **权限**: `perm_workcase_overview` (workcase:overview:view)
- **描述**: 泰豪小电数据概览
### 2. 知识库管理 (Knowledge)
- **view_id**: `view_workcase_admin_knowledge`
- **URL**: `/admin/knowledge`
- **组件**: `admin/knowledge/KnowLedgeView.vue`
- **图标**: Document
- **权限**: `perm_workcase_knowledge` (workcase:knowledge:view)
- **描述**: 知识库文档管理
### 3. 工单管理 (Tickets)
- **view_id**: `view_workcase_admin_tickets`
- **URL**: `/admin/workcase`
- **组件**: `admin/workcase/WorkcaseView.vue`
- **图标**: Tickets
- **权限**: `perm_workcase_tickets` (workcase:tickets:view)
- **描述**: 客服工单管理
### 4. 对话数据 (Conversation)
- **view_id**: `view_workcase_admin_conversation`
- **URL**: `/admin/customerChat`
- **组件**: `admin/customerChat/CustomerChatView.vue`
- **图标**: ChatDotRound
- **权限**: `perm_workcase_conversation` (workcase:conversation:view)
- **描述**: 客户对话数据管理
### 5. 智能体管理 (Agent)
- **view_id**: `view_workcase_admin_agent`
- **URL**: `/admin/agent`
- **组件**: `admin/agent/AgentView.vue`
- **图标**: Service
- **权限**: `perm_workcase_agent` (workcase:agent:view)
- **描述**: 智能体配置管理
### 6. 日志管理 (Logs)
#### 6.1 日志管理目录
- **view_id**: `view_workcase_admin_log`
- **URL**: `/admin/log`
- **组件**: NULL (目录类型)
- **图标**: List
- **type**: 0 (目录)
- **权限**: `perm_workcase_log` (workcase:log:view)
- **描述**: 日志管理目录
#### 6.2 知识库日志
- **view_id**: `view_workcase_admin_log_knowledge`
- **parent_id**: `view_workcase_admin_log`
- **URL**: `/admin/log/knowledge`
- **组件**: `admin/log/knowledgeLog/KnowledgeLogView.vue`
- **图标**: Document
- **权限**: `perm_workcase_log` (workcase:log:view)
- **描述**: 知识库操作日志
#### 6.3 工单日志
- **view_id**: `view_workcase_admin_log_workcase`
- **parent_id**: `view_workcase_admin_log`
- **URL**: `/admin/log/workcase`
- **组件**: `admin/log/workcaseLog/WorkcaseLogView.vue`
- **图标**: Tickets
- **权限**: `perm_workcase_log` (workcase:log:view)
- **描述**: 工单操作日志
#### 6.4 系统日志
- **view_id**: `view_workcase_admin_log_system`
- **parent_id**: `view_workcase_admin_log`
- **URL**: `/admin/log/system`
- **组件**: `admin/log/systemLog/SystemLogView.vue`
- **图标**: Setting
- **权限**: `perm_workcase_log` (workcase:log:view)
- **描述**: 系统运行日志
## 权限配置
### 新增权限
1. **PERM-0601**: `perm_workcase_overview` - 数据概览
2. **PERM-0602**: `perm_workcase_knowledge` - 知识库管理
3. **PERM-0603**: `perm_workcase_tickets` - 工单管理
4. **PERM-0604**: `perm_workcase_conversation` - 对话数据
5. **PERM-0605**: `perm_workcase_agent` - 智能体管理
6. **PERM-0606**: `perm_workcase_log` - 日志管理
### 视图权限关联
- VP-W101 ~ VP-W105: 管理端主功能视图
- VP-W106 ~ VP-W109: 日志管理视图含父级和3个子级
## 布局配置
- **Layout**: `AdminSidebarLayout`
- **Service**: `workcase`
- **Type**: 1 (菜单项) / 0 (目录)
- **View Type**: `route`
## Order Number 排序
- 110: 数据概览
- 120: 知识库管理
- 130: 工单管理
- 140: 对话数据
- 150: 智能体管理
- 160: 日志管理(父级)
- 161: 知识库日志
- 162: 工单日志
- 163: 系统日志
## 路由过滤规则
`AdminSidebarLayout.vue``loadMenuFromStorage()` 中:
```typescript
const sidebarViews = userViews.filter((view: any) =>
view.layout === 'SidebarLayout' && // 使用 SidebarLayout 布局
!view.parentId && // 顶级菜单
view.type === 1 && // 菜单类型
view.service === 'workcase' && // workcase 服务
view.url?.startsWith('/admin') // admin 路由
)
```
## 注意事项
1. 所有管理端路由都以 `/admin/` 开头
2. 日志管理使用父子级结构type=0 的目录 + type=1 的子菜单)
3. 所有视图都使用 `AdminSidebarLayout` 布局
4. 权限都归属于 `module_workcase` 模块
5. 超级管理员和系统管理员默认拥有所有 workcase 管理端权限