logan
|
be2d6f3894
|
feat: LDAP 账号管理 — OU管理/添加用户/删除用户/批量导入
后端新增 4 个 LDAP 管理端点:
- POST /ldap-config/create-ou: 创建组织单元
- POST /ldap-config/create-user: 创建单个用户 (SSHA加密)
- POST /ldap-config/delete-user: 删除用户
- POST /ldap-config/batch-import-ldap: 批量导入用户
- POST /ldap-config/user-list: 查询用户列表(恢复)
前端 LdapConfigPage 增强:
- LDAP 账号管理折叠区(配置存在即显示)
- OU 下拉选择 + 根节点选项 + 数量统计
- 用户列表表格(全选/单选/DN显示)
- 新建 OU 弹框(名称+父级DN+描述)
- 添加用户弹框(用户名+密码+显示名+邮箱+目标OU)
- 删除选中用户按钮(确认后批量删除)
前端 UsersPage BatchImportModal 三 Tab:
- 本地导入 / 导入到 LDAP / 从 LDAP 导入
测试修复:
- test_user_endpoint.py: 分页格式兼容
- test_users.py: 分页格式兼容
- test_system_settings.py: 精简后配置项匹配
|
2026-05-25 17:34:53 +08:00 |
|
logan
|
a9e214ef1a
|
feat: 审核规则持久化到DB + 全面配置去硬编码化
- AuditRule模型: 新增code/config_json字段,支持规则编码和阈值参数持久化
- audit_engine_v2: _load_rules从DB读config_json覆盖默认config
- audit_rule_sync: 启动时自动从_RULE_REGISTRY同步规则到DB(239条)
- settings API: update后刷新query_service配置缓存
- query_service: MAX_ROWS/QUERY_TIMEOUT/MAX_QUERY_LENGTH/MAX_RESULT_MEMORY改为动态读取system_settings
- ticket_executor: SQL_TIMEOUT/REDIS_TIMEOUT/MONGO_TIMEOUT改为动态获取
- settings_seeds: 新增executor分组(sql/redis/mongo超时) + query_result_max_memory_mb
- audit_rule endpoint: 移除无效的AuditEngine缓存清理(每次audit是新实例)
- 测试: 1057 passed(修复所有新引入失败,17个历史遗留)
|
2026-05-25 02:29:52 +08:00 |
|
logan
|
00db0e5bca
|
feat: 日志自动清理 — 系统设置+定时任务+手动操作
1. 系统设置新增 cleanup 分组(6项配置):
- 启用自动清理(开关)
- 清理执行时间(默认凌晨3点)
- 工单保留天数(默认90天)
- 审计日志保留天数(默认180天)
- 查询历史保留天数(默认30天)
- 定时任务日志保留天数(默认30天)
2. log_cleanup.py: 自动清理服务
- 只清理已完成/已拒绝的工单
- 按保留天数过滤
- 0天=不清理
3. APScheduler cron job: 每天03:00自动清理
4. API endpoints:
- POST /settings/cleanup/run — 手动触发清理
- GET /settings/cleanup/preview — 预览待清理数量
5. 前端 PlatformConfigPage:
- GROUP_META 新增 cleanup 分组
- CleanupActions 子组件: 预览+手动清理按钮
6. 清空所有历史工单数据(tickets/ticket_approvals/audit_logs/query_histories)
|
2026-05-25 00:19:38 +08:00 |
|
logan
|
8b921c6c83
|
refactor: mock清理+安全配置+通用组件+菜单优化
P0安全: SECRET_KEY/ADMIN_PASSWORD/CORS环境变量化, seed仅admin
P1Mock: mock.ts 301->88行, 删8数据mock+5generateMock, net-1300行
P2组件: useToast/useFetchList+ConfirmDialog/FormDialog
P3菜单: menuSections/menuItems->constants/menu.ts
P4API: NotificationsPage/WorkflowPage重写+RolesPage演示
测试: 1050passed, tsc clean
|
2026-05-24 02:42:29 +08:00 |
|