Commit Graph

24 Commits

Author SHA1 Message Date
386fe42f76 feat(权限): 完善所有策略的权限检查
- 更新 DocumentPolicy 添加权限检查
  - viewAny/view/create/update/delete/download 都检查相应权限
  - 保留现有的分组访问控制逻辑
  - 保留安全日志记录功能
- 更新 TerminalPolicy 添加权限检查
  - 所有方法都基于 terminal.* 权限
  - 新增 sync 方法用于配置同步权限检查
- 更新 SopTemplatePolicy 添加权限检查
  - 所有方法都基于 sop-template.* 权限
  - 保留现有的状态检查逻辑(已发布不可编辑/删除)
- 创建 SystemSettingPolicy
  - 实现 viewAny/view/update 权限检查
- 创建 ActivityLogPolicy
  - 实现 viewAny/view/export 权限检查
- 创建 GroupPolicy
  - 实现完整的 CRUD 权限检查
  - 删除前检查关联文档和用户
- 在 AppServiceProvider 中注册所有策略
2026-03-11 10:08:22 +08:00
dfe0ff42bc feat(权限): 实现用户权限管理功能
- 更新 UserResource 添加角色和权限管理
  - 添加角色选择字段(多选)
  - 添加直接权限配置(按模块分组的复选框列表)
  - 在用户列表中显示角色和权限数量
  - 添加角色筛选器
  - 防止删除超级管理员
- 创建 ViewUser 页面显示用户详细权限信息
  - 显示所有权限(角色权限 + 直接权限)
  - 按模块分组展示权限
  - 区分显示直接权限
- 创建 UserPolicy 控制用户管理权限
  - 基于 user.* 权限控制访问
  - 保护超级管理员不被编辑和删除
  - 防止用户删除自己
- 在 AppServiceProvider 中注册 UserPolicy
2026-03-11 10:03:21 +08:00
a17fe167b0 feat(权限): 创建角色管理资源(RoleResource)
- 创建 RoleResource 及其所有页面类
- 实现角色列表、创建、编辑、查看功能
- 权限选择器按模块分组显示,支持批量选择
- 实现 super-admin 角色保护(不可编辑和删除)
- 实现角色删除前检查(有关联用户时不可删除)
- 创建 RolePolicy 控制角色管理权限
- 在 AppServiceProvider 中注册 RolePolicy
- 角色列表显示权限数量和用户数量
- 完整的中文界面和提示信息
2026-03-11 10:00:29 +08:00
7d13a560f3 feat(权限): 安装和配置 Spatie Permission 包
- 安装 spatie/laravel-permission 包(v6.24.1)
- 发布配置文件和迁移文件
- 运行迁移创建权限表
- 在 User 模型中添加 HasRoles trait
- 添加 isSuperAdmin 和 isAdmin 辅助方法
- 创建 PermissionSeeder 定义 45 个权限
- 创建 3 个预设角色(super-admin、admin、user)
- 为角色分配相应权限
- 为第一个用户分配超级管理员角色
2026-03-11 09:55:40 +08:00
5dc6188802 fix: 修复操作日志导出功能错误
- 移除不存在的 getFilteredTableQuery() 方法调用
- 改为使用 Activity::query() 直接获取查询
- 更新导出说明文字
2026-03-09 14:13:22 +08:00
9f411b742a fix: 修复操作日志用户筛选器错误
- 将 relationship 方式改为 options 方式
- 修复 'no such column: activity_log.name' 错误
- 用户筛选器现在可以正常工作
2026-03-09 14:10:38 +08:00
d37d1101fe fix: 显式注册所有策略以确保资源正确显示
- 在 AppServiceProvider 中注册 DocumentPolicy
- 在 AppServiceProvider 中注册 TerminalPolicy
- 修复文档管理、终端管理、SOP模板在导航中不显示的问题
- 确保所有资源的权限检查正常工作
2026-03-09 13:41:12 +08:00
74de79e4c3 feat(阶段四): 添加 SOP 模板权限策略
- 创建 SopTemplatePolicy 策略类
- 实现查看、创建、更新、删除权限
- 实现发布和归档权限
- 已发布的模板不能编辑和删除
- 只有草稿状态可以发布
- 只有已发布状态可以归档
- 在 AppServiceProvider 中注册策略
2026-03-09 13:25:05 +08:00
ebd1392580 feat(阶段四): 实现 SOP 模板导入导出功能
- 创建导出 Action(ExportSopTemplateAction)
- 创建导入 Action(ImportSopTemplateAction)
- 支持导出为 JSON 格式
- 支持从 JSON 文件导入
- 导入时验证文件格式和数据有效性
- 导入成功后跳转到编辑页面
- 文件大小限制 5MB
2026-03-09 13:24:37 +08:00
f0c207693b feat(阶段四): 创建 SOP 模板服务类
- 实现 exportToJson 方法(导出为 JSON)
- 实现 importFromJson 方法(从 JSON 导入)
- 实现 publish 方法(发布模板)
- 实现 createVersion 方法(创建版本快照)
- 实现 archive 方法(归档模板)
- 实现 duplicate 方法(复制模板)
- 导入时验证数据结构和必需字段
- 复制时包含所有步骤和交互任务
2026-03-09 13:24:24 +08:00
6102ec95d2 feat(阶段四): 实现 SOP 模板状态管理功能
- 创建发布 Action(PublishSopTemplateAction)
- 创建归档 Action(ArchiveSopTemplateAction)
- 创建预览 Action(PreviewSopTemplateAction)
- 发布前验证模板是否有步骤
- 发布时自动创建版本快照
- 预览模式显示完整模板内容
2026-03-09 13:24:14 +08:00
c4ab592fd5 feat(阶段四): 创建 SOP 模板资源和页面
- 创建 SopTemplateResource 资源类
- 实现模板列表、创建、编辑、查看页面
- 添加步骤编辑器(Repeater 组件)
- 支持富文本编辑步骤内容
- 支持拖拽排序步骤
- 添加状态筛选和分类筛选
- 显示步骤数统计
2026-03-09 13:24:02 +08:00
6b6afd1b75 feat(阶段三): 实现配置同步功能
- 创建 TerminalSyncService 服务类
- 实现配置快照生成(包含终端、知识库、提示词)
- 创建 SyncTerminalConfigJob 异步任务
- 实现重试机制(最多3次,指数退避)
- 创建 SyncConfigAction(单个和批量同步)
- 在终端列表页添加同步状态列
- 在终端详情页添加同步历史展示
- 支持同步状态追踪(pending/syncing/synced/failed)
2026-03-09 10:59:50 +08:00
1d30fb1d4c feat(阶段三): 实现AI提示词编辑功能
- 集成 Monaco Editor 用于提示词编辑
- 创建提示词变量配置(14个可用变量)
- 创建提示词模板库(5个预设模板)
- 实现 PromptTemplateService 服务类
- 创建变量替换和预览功能
- 添加 PreviewPromptAction 用于预览提示词
- 创建变量帮助文档和模板选择器视图组件
- 支持变量验证和自动替换
2026-03-09 10:59:45 +08:00
3b90d97f02 feat(阶段三): 添加终端知识库关联功能
- 在 Terminal 模型中添加 knowledgeBases 关联关系
- 在 TerminalResource 表单中添加知识库关联选择器
- 使用 Repeater 组件实现多选和优先级管理
- 支持搜索、拖拽排序、防重复选择
- 自动保存和加载关联数据
2026-03-09 10:59:37 +08:00
6a6c59e3e4 feat(阶段三): 实现终端管理基础功能
- 创建 TerminalResource 及其所有页面(列表、创建、编辑、查看)
- 实现终端基本信息管理(名称、编码、IP、线站、组态图)
- 添加显示配置管理(KeyValue 组件)
- 实现在线状态显示和筛选
- 添加按线站分组功能
- 创建 TerminalPolicy 权限策略
- 支持搜索、排序、批量删除等功能
2026-03-09 10:59:29 +08:00
333034d2f1 feat(阶段三): 添加知识库模型和迁移
- 创建 knowledge_bases 表迁移
- 创建 KnowledgeBase 模型
- 创建 KnowledgeBaseFactory 工厂类
- 支持与终端的多对多关联关系
2026-03-09 10:59:20 +08:00
b9c897cd64 feat: 实现操作日志管理界面
- ActivityLogResource: Filament 资源类
  - 只读模式(禁用创建、编辑、删除)
  - 表格列:时间、用户、操作类型、对象、详情
  - 按时间倒序排序
  - 支持多维度筛选(时间范围、操作类型、用户、对象类型)
  - 集成导出功能(Excel/CSV)

- ViewActivityLog: 日志详情页面
  - 完整的变更信息展示
  - JSON diff 对比视图
  - 支持查看原始 JSON 数据

- activity-log-diff.blade.php: Diff 对比组件
  - 字段级别的变更对比
  - 使用颜色区分新旧值(绿色/红色)
  - 支持 JSON 数据格式化显示
2026-03-09 10:08:44 +08:00
232db047f1 feat: 创建操作日志导出功能
- ActivityLogExport: 日志导出类
  - 支持 Excel (XLSX) 格式导出
  - 支持 CSV 格式导出
  - 自动格式化中文字段名和值
  - 支持根据筛选条件导出数据
2026-03-09 10:08:29 +08:00
752dd908f0 feat: 实现系统设置管理界面
- SystemSettingResource: Filament 资源类
  - 使用 Tabs 组件按 group 分组显示配置
  - 使用 KeyValue 组件编辑 JSON 配置
  - 支持筛选、排序、搜索功能
  - 配置彩色徽章显示分组

- ManageSystemSettings: 系统设置管理页面
  - 按配置类型分组(嵌入模型/分块参数/系统配置/搜索配置)
  - 完整的表单验证规则
  - 保存和重置功能
  - 集成 SystemSettingService

- 创建对应的 Blade 视图和页面类
2026-03-09 10:08:17 +08:00
088a088b89 feat: 创建系统设置服务类
- 实现 getGroupedSettings 方法: 按分组获取配置
- 实现 updateSettings 方法: 批量更新配置
- 实现 clearCache 方法: 清除配置缓存
- 集成 Laravel Cache 提升性能(24小时缓存)
2026-03-09 10:08:04 +08:00
9d0055138c feat: 创建数据模型
- SystemSetting: 系统设置模型,支持配置管理
- Terminal: 终端模型,支持终端管理
- TerminalKnowledgeBase: 终端知识库关联模型
- TerminalPrompt: 终端提示词模型
- TerminalSyncLog: 终端同步日志模型
- SopTemplate: SOP模板模型
- SopStep: SOP步骤模型
- SopInteractiveTask: SOP交互任务模型
- SopTemplateVersion: SOP模板版本模型

所有模型集成 LogsActivity trait 用于操作日志记录
2026-03-09 10:07:31 +08:00
3c206e9e06 feat: 新增 Docker 部署支持、Swoole/Octane 集成及相关优化
- 添加 Dockerfile 与多套 docker-compose 配置(开发/生产环境)
- 集成 Laravel Octane (Swoole) 提升性能
- 新增健康检查、监控脚本及部署文档
- 新增 Docker 镜像离线导入包(MySQL/Redis/Meilisearch)
- 优化文档转换、预览服务及队列任务
- 添加 CreateAdminUser 命令与路由健康检查接口
- 新增 Swoole 队列兼容性测试套件

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 15:51:19 +08:00
Knowledge Base System
acf549c43c feat: 初始化知识库系统项目
- 实现基于 Laravel 11 和 Filament 3.X 的文档管理系统
- 添加用户认证和分组管理功能
- 实现文档上传、分类和权限控制
- 集成 Word 文档自动转换为 Markdown
- 集成 Meilisearch 全文搜索引擎
- 实现文档在线预览功能
- 添加安全日志和审计功能
- 完整的简体中文界面
- 包含完整的项目文档和部署指南

技术栈:
- Laravel 11.x
- Filament 3.X
- Meilisearch 1.5+
- Pandoc 文档转换
- Redis 队列系统
- Pest PHP 测试框架
2025-12-05 14:44:44 +08:00