docs: 添加管理后台功能增强规格文档

- requirements.md: 需求文档
- design.md: 设计文档
- tasks.md: 任务列表
- validation-rules-summary.md: 验证规则总结

阶段二(系统设置与操作日志功能)已完成 ✓
This commit is contained in:
2026-03-09 10:09:28 +08:00
parent aee27ec4c0
commit 29f72eb65e
4 changed files with 1602 additions and 0 deletions

View File

@@ -0,0 +1,408 @@
# 管理后台功能增强 - 任务列表
## 阶段一:基础设施和数据模型(优先级:高)
### 1. 环境准备和依赖安装
- [x] 1.1 安装spatie/laravel-activitylog包
- [x] 1.2 安装amidesfahani/filament-monaco-editor包
- [x] 1.3 安装maatwebsite/excel包
- [x] 1.4 发布配置文件和迁移文件
### 2. 数据库迁移文件创建
- [x] 2.1 创建system_settings表迁移
- [x] 2.2 创建terminals表迁移
- [x] 2.3 创建terminal_knowledge_bases表迁移
- [x] 2.4 创建terminal_prompts表迁移
- [x] 2.5 创建terminal_sync_logs表迁移
- [x] 2.6 创建sop_templates表迁移
- [x] 2.7 创建sop_steps表迁移
- [x] 2.8 创建sop_interactive_tasks表迁移
- [x] 2.9 创建sop_template_versions表迁移
- [x] 2.10 运行所有迁移
### 3. 模型创建
- [x] 3.1 创建SystemSetting模型
- [x] 3.2 创建Terminal模型及关联关系
- [x] 3.3 创建TerminalKnowledgeBase模型
- [x] 3.4 创建TerminalPrompt模型
- [x] 3.5 创建TerminalSyncLog模型
- [x] 3.6 创建SopTemplate模型及关联关系
- [x] 3.7 创建SopStep模型
- [x] 3.8 创建SopInteractiveTask模型
- [x] 3.9 创建SopTemplateVersion模型
- [x] 3.10 配置所有模型的LogsActivity trait
### 4. 模型工厂和种子数据
- [x] 4.1 创建SystemSetting工厂和种子
- [x] 4.2 创建Terminal工厂和种子
- [x] 4.3 创建SopTemplate工厂和种子
- [x] 4.4 运行种子数据填充
## 阶段二:系统设置与操作日志功能(优先级:高)
### 5. 系统设置功能
- [x] 5.1 创建SystemSettingResource
- [x] 5.1.1 定义表单字段使用Tabs按group分组
- [x] 5.1.2 配置嵌入模型配置字段
- [x] 5.1.3 配置分块参数字段
- [x] 5.1.4 配置全局参数字段
- [x] 5.1.5 添加表单验证规则
- [x] 5.2 创建SystemSettingService
- [x] 5.2.1 实现getGroupedSettings方法
- [x] 5.2.2 实现updateSettings方法
- [x] 5.2.3 实现配置缓存逻辑
- [x] 5.3 创建系统设置页面
- [x] 5.3.1 创建Filament Page
- [x] 5.3.2 集成SystemSettingResource表单
- [x] 5.3.3 添加保存和重置按钮
- [x] 5.4 测试系统设置功能
- [x] 5.4.1 测试配置保存
- [x] 5.4.2 测试配置读取
- [x] 5.4.3 测试配置验证
### 6. 操作日志功能
- [x] 6.1 创建ActivityLogResource
- [x] 6.1.1 定义表格列(时间、用户、操作类型、对象、详情)
- [x] 6.1.2 配置只读模式(禁用创建、编辑、删除)
- [x] 6.1.3 添加默认排序(按时间倒序)
- [x] 6.2 实现日志筛选功能
- [x] 6.2.1 添加时间范围筛选器
- [x] 6.2.2 添加操作类型筛选器
- [x] 6.2.3 添加用户筛选器
- [x] 6.2.4 添加对象类型筛选器
- [x] 6.3 实现日志详情功能
- [x] 6.3.1 创建LogDiffViewer组件
- [x] 6.3.2 实现JSON diff对比视图
- [x] 6.3.3 创建自定义ViewAction
- [x] 6.3.4 添加详情弹窗
- [x] 6.4 实现日志导出功能
- [x] 6.4.1 创建ExportActivityLogAction
- [x] 6.4.2 实现CSV导出
- [x] 6.4.3 实现Excel导出
- [x] 6.4.4 添加导出按钮到表格
- [x] 6.5 测试操作日志功能
- [x] 6.5.1 测试日志自动记录
- [x] 6.5.2 测试日志筛选
- [x] 6.5.3 测试日志详情查看
- [x] 6.5.4 测试日志导出
## 阶段三:大屏配置管理功能(优先级:中)
### 7. 终端管理基础功能
- [ ] 7.1 创建TerminalResource
- [ ] 7.1.1 定义表格列名称、编码、IP、线站、在线状态
- [ ] 7.1.2 添加在线状态Badge组件
- [ ] 7.1.3 配置按线站分组
- [ ] 7.1.4 添加搜索功能
- [ ] 7.2 创建终端表单
- [ ] 7.2.1 添加基本信息字段
- [ ] 7.2.2 添加线站绑定选择器
- [ ] 7.2.3 添加组态图URL字段
- [ ] 7.2.4 添加显示配置字段
- [ ] 7.2.5 添加表单验证
- [ ] 7.3 测试终端CRUD功能
- [ ] 7.3.1 测试终端创建
- [ ] 7.3.2 测试终端编辑
- [ ] 7.3.3 测试终端删除
- [ ] 7.3.4 测试终端列表
### 8. 知识库关联功能
- [ ] 8.1 创建知识库关联选择器
- [ ] 8.1.1 使用Select组件多选模式
- [ ] 8.1.2 添加搜索功能
- [ ] 8.1.3 显示已选知识库列表
- [ ] 8.1.4 添加优先级排序功能
- [ ] 8.2 实现关联关系保存
- [ ] 8.2.1 在终端表单中集成选择器
- [ ] 8.2.2 实现关联数据保存逻辑
- [ ] 8.2.3 实现关联数据加载逻辑
- [ ] 8.3 测试知识库关联功能
- [ ] 8.3.1 测试多选功能
- [ ] 8.3.2 测试搜索功能
- [ ] 8.3.3 测试优先级排序
### 9. AI提示词编辑功能
- [ ] 9.1 集成Monaco Editor
- [ ] 9.1.1 在终端表单中添加MonacoEditor字段
- [ ] 9.1.2 配置语法高亮
- [ ] 9.1.3 配置编辑器主题
- [ ] 9.2 实现变量提示功能
- [ ] 9.2.1 定义可用变量列表
- [ ] 9.2.2 实现自动补全
- [ ] 9.2.3 添加变量说明文档
- [ ] 9.3 创建提示词模板
- [ ] 9.3.1 创建常用模板库
- [ ] 9.3.2 添加模板选择器
- [ ] 9.3.3 实现模板应用功能
- [ ] 9.4 实现提示词预览
- [ ] 9.4.1 创建预览组件
- [ ] 9.4.2 实现变量替换预览
- [ ] 9.4.3 添加预览按钮
- [ ] 9.5 测试提示词编辑功能
- [ ] 9.5.1 测试编辑器功能
- [ ] 9.5.2 测试变量提示
- [ ] 9.5.3 测试模板应用
- [ ] 9.5.4 测试预览功能
### 10. 配置同步功能
- [ ] 10.1 创建TerminalSyncService
- [ ] 10.1.1 实现syncConfiguration方法
- [ ] 10.1.2 实现getConfigSnapshot方法
- [ ] 10.1.3 实现同步状态更新逻辑
- [ ] 10.2 创建SyncTerminalConfigJob
- [ ] 10.2.1 实现任务处理逻辑
- [ ] 10.2.2 实现错误处理
- [ ] 10.2.3 实现重试机制
- [ ] 10.3 创建同步Action
- [ ] 10.3.1 创建SyncConfigAction
- [ ] 10.3.2 添加到终端资源
- [ ] 10.3.3 添加批量同步功能
- [ ] 10.4 实现同步状态展示
- [ ] 10.4.1 创建同步状态Badge
- [ ] 10.4.2 在列表页显示同步状态
- [ ] 10.4.3 创建同步历史查看页面
- [ ] 10.5 测试配置同步功能
- [ ] 10.5.1 测试单个终端同步
- [ ] 10.5.2 测试批量同步
- [ ] 10.5.3 测试同步失败处理
- [ ] 10.5.4 测试同步历史记录
## 阶段四SOP模板管理功能优先级
### 11. SOP模板基础功能
- [ ] 11.1 创建SopTemplateResource
- [ ] 11.1.1 定义表格列(名称、分类、版本、状态)
- [ ] 11.1.2 添加状态Badge
- [ ] 11.1.3 配置卡片视图
- [ ] 11.1.4 添加搜索和筛选
- [ ] 11.2 创建模板表单
- [ ] 11.2.1 添加基本信息字段
- [ ] 11.2.2 添加分类和标签字段
- [ ] 11.2.3 添加适用范围字段
- [ ] 11.2.4 添加版本管理字段
- [ ] 11.2.5 添加表单验证
- [ ] 11.3 实现状态管理
- [ ] 11.3.1 创建状态转换逻辑
- [ ] 11.3.2 添加状态转换Action
- [ ] 11.3.3 实现发布前验证
- [ ] 11.4 测试模板CRUD功能
- [ ] 11.4.1 测试模板创建
- [ ] 11.4.2 测试模板编辑
- [ ] 11.4.3 测试模板删除
- [ ] 11.4.4 测试状态转换
### 12. 步骤可视化编辑功能
- [ ] 12.1 创建步骤编辑器组件
- [ ] 12.1.1 使用Repeater组件
- [ ] 12.1.2 配置步骤字段
- [ ] 12.1.3 添加富文本编辑器
- [ ] 12.1.4 实现拖拽排序
- [ ] 12.2 实现步骤管理功能
- [ ] 12.2.1 实现步骤添加
- [ ] 12.2.2 实现步骤删除
- [ ] 12.2.3 实现步骤复制
- [ ] 12.2.4 实现步骤编号自动更新
- [ ] 12.3 优化编辑体验
- [ ] 12.3.1 实现步骤折叠/展开
- [ ] 12.3.2 添加快捷操作按钮
- [ ] 12.3.3 实现自动保存
- [ ] 12.4 测试步骤编辑功能
- [ ] 12.4.1 测试步骤CRUD
- [ ] 12.4.2 测试拖拽排序
- [ ] 12.4.3 测试富文本编辑
### 13. 交互任务配置功能
- [ ] 13.1 创建任务配置组件
- [ ] 13.1.1 使用Builder组件
- [ ] 13.1.2 定义任务类型(确认、输入、选择、拍照、扫码)
- [ ] 13.1.3 为每种类型创建配置表单
- [ ] 13.2 实现任务参数配置
- [ ] 13.2.1 实现必填项配置
- [ ] 13.2.2 实现验证规则配置
- [ ] 13.2.3 实现默认值配置
- [ ] 13.2.4 实现超时设置
- [ ] 13.3 实现条件分支配置
- [ ] 13.3.1 创建条件编辑器
- [ ] 13.3.2 实现条件逻辑配置
- [ ] 13.3.3 实现分支跳转配置
- [ ] 13.4 测试交互任务功能
- [ ] 13.4.1 测试任务创建
- [ ] 13.4.2 测试参数配置
- [ ] 13.4.3 测试条件分支
### 14. 模板预览与发布功能
- [ ] 14.1 创建模板预览功能
- [ ] 14.1.1 创建PreviewAction
- [ ] 14.1.2 实现预览页面
- [ ] 14.1.3 模拟实际使用场景
- [ ] 14.2 实现发布流程
- [ ] 14.2.1 创建PublishAction
- [ ] 14.2.2 实现发布前验证
- [ ] 14.2.3 添加发布确认弹窗
- [ ] 14.2.4 实现版本快照创建
- [ ] 14.3 实现版本管理
- [ ] 14.3.1 创建版本历史页面
- [ ] 14.3.2 实现版本对比功能
- [ ] 14.3.3 实现版本回滚功能
- [ ] 14.4 测试预览和发布功能
- [ ] 14.4.1 测试预览功能
- [ ] 14.4.2 测试发布流程
- [ ] 14.4.3 测试版本管理
### 15. 模板导入导出功能
- [ ] 15.1 创建SopTemplateService
- [ ] 15.1.1 实现exportToJson方法
- [ ] 15.1.2 实现exportToPdf方法
- [ ] 15.1.3 实现importFromJson方法
- [ ] 15.2 创建导出Action
- [ ] 15.2.1 创建ExportAction
- [ ] 15.2.2 添加格式选择
- [ ] 15.2.3 实现文件下载
- [ ] 15.3 创建导入功能
- [ ] 15.3.1 创建ImportAction
- [ ] 15.3.2 实现文件上传
- [ ] 15.3.3 实现数据验证
- [ ] 15.3.4 实现批量导入
- [ ] 15.4 测试导入导出功能
- [ ] 15.4.1 测试JSON导出
- [ ] 15.4.2 测试PDF导出
- [ ] 15.4.3 测试JSON导入
- [ ] 15.4.4 测试批量导入
## 阶段五:权限和安全(优先级:中)
### 16. 权限策略实现
- [ ] 16.1 创建SystemSettingPolicy
- [ ] 16.1.1 实现viewAny权限
- [ ] 16.1.2 实现update权限
- [ ] 16.2 创建TerminalPolicy
- [ ] 16.2.1 实现viewAny权限
- [ ] 16.2.2 实现create权限
- [ ] 16.2.3 实现update权限
- [ ] 16.2.4 实现delete权限
- [ ] 16.2.5 实现sync权限
- [ ] 16.3 创建SopTemplatePolicy
- [ ] 16.3.1 实现viewAny权限
- [ ] 16.3.2 实现create权限
- [ ] 16.3.3 实现update权限
- [ ] 16.3.4 实现delete权限
- [ ] 16.3.5 实现publish权限
- [ ] 16.4 注册所有策略
- [ ] 16.5 测试权限控制
- [ ] 16.5.1 测试管理员权限
- [ ] 16.5.2 测试普通用户权限
- [ ] 16.5.3 测试特殊权限
### 17. 安全加固
- [ ] 17.1 实现敏感配置加密
- [ ] 17.1.1 创建加密服务
- [ ] 17.1.2 在SystemSetting模型中集成
- [ ] 17.1.3 更新表单字段类型
- [ ] 17.2 实现操作确认
- [ ] 17.2.1 为删除操作添加确认
- [ ] 17.2.2 为发布操作添加确认
- [ ] 17.2.3 为同步操作添加确认
- [ ] 17.3 实现输入验证和过滤
- [ ] 17.3.1 添加XSS过滤
- [ ] 17.3.2 添加SQL注入防护
- [ ] 17.3.3 添加文件上传验证
- [ ] 17.4 测试安全功能
- [ ] 17.4.1 测试加密存储
- [ ] 17.4.2 测试操作确认
- [ ] 17.4.3 测试输入验证
## 阶段六:测试和优化(优先级:低)
### 18. 单元测试
- [ ] 18.1 SystemSetting模型测试
- [ ] 18.1.1 测试get方法
- [ ] 18.1.2 测试set方法
- [ ] 18.2 Terminal模型测试
- [ ] 18.2.1 测试关联关系
- [ ] 18.2.2 测试作用域
- [ ] 18.3 SopTemplate模型测试
- [ ] 18.3.1 测试关联关系
- [ ] 18.3.2 测试状态转换
- [ ] 18.4 Service类测试
- [ ] 18.4.1 测试SystemSettingService
- [ ] 18.4.2 测试TerminalSyncService
- [ ] 18.4.3 测试SopTemplateService
### 19. 功能测试
- [ ] 19.1 系统设置功能测试
- [ ] 19.1.1 测试配置保存
- [ ] 19.1.2 测试配置读取
- [ ] 19.2 操作日志功能测试
- [ ] 19.2.1 测试日志记录
- [ ] 19.2.2 测试日志筛选
- [ ] 19.2.3 测试日志导出
- [ ] 19.3 终端管理功能测试
- [ ] 19.3.1 测试终端CRUD
- [ ] 19.3.2 测试配置同步
- [ ] 19.4 SOP模板功能测试
- [ ] 19.4.1 测试模板CRUD
- [ ] 19.4.2 测试步骤编辑
- [ ] 19.4.3 测试模板发布
- [ ] 19.4.4 测试导入导出
### 20. 性能优化
- [ ] 20.1 数据库优化
- [ ] 20.1.1 添加必要索引
- [ ] 20.1.2 优化查询语句
- [ ] 20.1.3 实现Eager Loading
- [ ] 20.2 缓存优化
- [ ] 20.2.1 实现系统设置缓存
- [ ] 20.2.2 实现终端状态缓存
- [ ] 20.2.3 实现模板列表缓存
- [ ] 20.3 前端优化
- [ ] 20.3.1 实现Lazy Loading
- [ ] 20.3.2 优化Monaco Editor加载
- [ ] 20.3.3 优化图片加载
- [ ] 20.4 性能测试
- [ ] 20.4.1 测试日志查询性能
- [ ] 20.4.2 测试终端列表性能
- [ ] 20.4.3 测试模板编辑性能
## 阶段七:文档和部署(优先级:低)
### 21. 文档编写
- [ ] 21.1 编写用户手册
- [ ] 21.1.1 系统设置使用说明
- [ ] 21.1.2 操作日志使用说明
- [ ] 21.1.3 终端管理使用说明
- [ ] 21.1.4 SOP模板使用说明
- [ ] 21.2 编写开发文档
- [ ] 21.2.1 API文档
- [ ] 21.2.2 数据库设计文档
- [ ] 21.2.3 部署文档
- [ ] 21.3 编写测试文档
- [ ] 21.3.1 测试用例文档
- [ ] 21.3.2 测试报告模板
### 22. 部署准备
- [ ] 22.1 准备生产环境配置
- [ ] 22.1.1 更新.env.production
- [ ] 22.1.2 配置队列服务
- [ ] 22.1.3 配置缓存服务
- [ ] 22.2 数据迁移准备
- [ ] 22.2.1 准备迁移脚本
- [ ] 22.2.2 准备回滚脚本
- [ ] 22.2.3 准备种子数据
- [ ] 22.3 部署到生产环境
- [ ] 22.3.1 执行数据库迁移
- [ ] 22.3.2 发布静态资源
- [ ] 22.3.3 重启服务
- [ ] 22.4 生产环境验证
- [ ] 22.4.1 验证所有功能
- [ ] 22.4.2 验证性能指标
- [ ] 22.4.3 验证安全配置
## 任务统计
- 总任务数22个主任务
- 子任务数约200+个子任务
- 预计工作量40-60工作日
- 优先级分布:
- 高优先级阶段一、二约30%
- 中优先级阶段三、四、五约50%
- 低优先级阶段六、七约20%