Commit Graph

6 Commits

Author SHA1 Message Date
b74ba1a3f8 refactor: kb & station & terminal 2026-03-23 23:55:24 +08:00
58f42de9df refactor: 修复知识库和操作指引 2026-03-16 00:05:06 +08:00
3e7083d7c1 fix(权限): 修复权限编辑时的自动勾选显示问题
问题:
- 使用 Tabs 组件时,每个 Tab 中的 CheckboxList 都使用相同的字段名 'permissions'
- 导致字段冲突,无法正确加载和保存已有权限

解决方案:
- 为每个模块使用唯一的字段名(permissions_document, permissions_user 等)
- 添加 afterStateHydrated 钩子,在编辑时自动加载该模块的已有权限
- 添加隐藏字段 all_permissions 收集所有模块的权限
- 在 mutateFormDataBeforeSave/mutateFormDataBeforeCreate 中处理权限数据
- 在 afterSave/afterCreate 中使用 syncPermissions 同步权限到数据库

改进:
- RoleResource: 编辑角色时,每个模块的权限会自动勾选显示
- UserResource: 编辑用户时,直接权限会自动勾选显示
- 保存时正确收集所有模块的权限并同步到数据库
- super-admin 角色的权限字段保持禁用状态

现在编辑角色或用户时,已有的权限会正确显示为勾选状态
2026-03-11 10:25:43 +08:00
788101d21f feat(权限): 优化角色和用户详情页的权限列表显示
- ViewRole 页面优化:
  - 使用 HTML 格式按模块分组显示权限
  - 每个模块使用 Emoji 图标标识(📄 文档管理、⚙️ 系统设置等)
  - 模块名称加粗显示,权限操作用顿号分隔
  - 模块之间使用空行分隔,更加清晰
  - super-admin 角色显示特殊说明

- ViewUser 页面优化:
  - 所有权限:显示用户拥有的全部权限(角色+直接)
  - 直接权限:单独显示直接分配的权限
  - 同样使用 Emoji 图标和分组显示
  - 使用 HTML 格式提升可读性

优化后的显示效果:
📄 文档管理:查看详情、创建、编辑、删除、下载

⚙️ 系统设置:查看详情、编辑

更加直观、易读,用户可以快速了解权限分布情况
2026-03-11 10:21:01 +08:00
dfe0ff42bc feat(权限): 实现用户权限管理功能
- 更新 UserResource 添加角色和权限管理
  - 添加角色选择字段(多选)
  - 添加直接权限配置(按模块分组的复选框列表)
  - 在用户列表中显示角色和权限数量
  - 添加角色筛选器
  - 防止删除超级管理员
- 创建 ViewUser 页面显示用户详细权限信息
  - 显示所有权限(角色权限 + 直接权限)
  - 按模块分组展示权限
  - 区分显示直接权限
- 创建 UserPolicy 控制用户管理权限
  - 基于 user.* 权限控制访问
  - 保护超级管理员不被编辑和删除
  - 防止用户删除自己
- 在 AppServiceProvider 中注册 UserPolicy
2026-03-11 10:03:21 +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