72 Commits

Author SHA1 Message Date
WuYongJie
7b9260d8d7 接入模板迁移前端预览 2026-05-28 17:26:20 +08:00
WuYongJie
0fcbd3bcb3 补充模板迁移预览 2026-05-28 17:12:32 +08:00
WuYongJie
a2776f68ae 收紧AI改图素材权限 2026-05-28 16:08:49 +08:00
WuYongJie
965871f8dc 前移上传模板可用性校验 2026-05-28 15:58:10 +08:00
WuYongJie
7157cd318a 补齐模板保存基础校验 2026-05-28 15:50:54 +08:00
WuYongJie
c52aff5245 保护使用中模板搜索和填写字段 2026-05-28 15:36:24 +08:00
WuYongJie
ebabeb94e2 阻断使用中模板取消分类字段 2026-05-28 15:23:32 +08:00
WuYongJie
5a1affe830 强化商业化地基权限与模板一致性 2026-05-28 15:11:36 +08:00
WuYongJie
111bb29a1a 完善付费模块包下载校验闭环 2026-05-26 17:25:48 +08:00
WuYongJie
2f6f051daf 接入付费模块凭证门槛 2026-05-26 16:58:44 +08:00
WuYongJie
3c9591cdeb 完善许可证防破解收尾闭环 2026-05-26 16:47:57 +08:00
WuYongJie
074b1e1bdc 加入本地时间回拨检测 2026-05-26 16:04:30 +08:00
WuYongJie
fc5c4fefe6 加入许可证请求签名防重放 2026-05-26 15:33:14 +08:00
WuYongJie
07192cf779 加入许可证在线租约校验 2026-05-26 15:10:35 +08:00
WuYongJie
b267b36486 启用生产镜像服务端混淆构建 2026-05-26 14:51:00 +08:00
WuYongJie
c7d93111c4 补充公开分享总开关并兼容转码恢复缺表场景 2026-05-26 11:18:18 +08:00
WuYongJie
1a9921c9fe 收敛工作台界面并完善安全分享入口 2026-05-25 17:30:11 +08:00
WuYongJie
5b6dd8b487 兼容转码恢复启动环境 2026-05-25 17:29:49 +08:00
WuYongJie
6a5077312e 收紧主应用接口权限与跨域边界 2026-05-25 17:12:11 +08:00
WuYongJie
c649b939c4 收紧安装 Agent 安全边界 2026-05-25 17:06:22 +08:00
WuYongJie
21f2efb0bf 清理历史运维脚本入口 2026-05-25 17:02:26 +08:00
WuYongJie
1aeadcc425 补齐数据库迁移链路并收紧初始化默认值 2026-05-25 16:59:59 +08:00
WuYongJie
25316809db 整理项目文档入口与历史资料 2026-05-25 16:57:08 +08:00
WuYongJie
1f46544991 收紧私有化部署配置与旧发布入口 2026-05-25 16:53:50 +08:00
WuYongJie
c759d0a37b 收紧模板管理权限并保护迁移数据 2026-05-25 16:48:19 +08:00
WuYongJie
720c163a6b 完善模板字段前端交互并收敛预览样式 2026-05-25 16:45:46 +08:00
WuYongJie
2ae7b9a067 补强模板字段保存校验与上传链路 2026-05-25 16:42:15 +08:00
WuYongJie
0b5bd8510a 支持自定义字段搜索并保护模板读取接口 2026-05-25 16:37:39 +08:00
WuYongJie
ab73b5ec75 保留素材硬删除审计并收紧清理权限 2026-05-25 16:32:51 +08:00
WuYongJie
b596c5d08b 收紧钉钉登录一次性票据安全 2026-05-25 16:20:26 +08:00
WuYongJie
f90c74fe6e 补强视频转码恢复与失败处理 2026-05-25 16:16:29 +08:00
WuYongJie
1a8087b406 收紧许可证激活与初始化安全 2026-05-25 16:10:18 +08:00
WuYongJie
45d1ad3adf 持久化视频转码任务并支持恢复 2026-05-25 16:05:01 +08:00
WuYongJie
bd50dbd6e0 收紧素材分享与文件访问安全 2026-05-25 15:36:51 +08:00
WuYongJie
0dabf6cee8 收紧管理权限与系统设置安全边界 2026-05-25 15:13:49 +08:00
WuYongJie
6b4ba0f861 完善许可证受限入口与外观管理 2026-05-25 14:52:24 +08:00
WuYongJie
ab29682ada 新增版本化 Registry 发布脚本 2026-05-25 14:36:37 +08:00
WuYongJie
b265cd7e5f 忽略本地运行与排查产物 2026-05-25 14:33:46 +08:00
WuYongJie
e705d9fe71 收紧主应用许可证与管理接口安全 2026-05-25 14:32:52 +08:00
WuYongJie
d9955b6835 完善许可证服务多项目交付地基 2026-05-25 14:31:58 +08:00
WuYongJie
1d03717ff9 refactor: 更新Harbor项目结构为flnxi-public(公开)+flnxi(私有)
- docker-compose.prod.yml: runtime镜像改为从flnxi-public拉取
- 发布管理.ps1: Agent推送到flnxi-public公开项目
- Runtime镜像同步到flnxi-public项目
- 素材系统保持在flnxi私有项目
2025-12-15 21:29:49 +08:00
WuYongJie
ba98bf22cc feat: 添加许可证系统、Agent部署模块和Harbor镜像管理
- 新增许可证服务器 (license-server/)
- 新增 Agent 部署模块 (flnxi-agent/)
- 添加许可证验证和激活页面
- 添加 Harbor 镜像同步脚本
- 更新素材系统支持许可证验证
2025-12-15 21:19:46 +08:00
WuYongJie
63ec6b7dfb fix: 修复排行榜按钮消失、tag排序和输入框浅色模式问题
1. 排行榜悬浮窗关闭后小按钮消失问题
   - 修复面板居中模式关闭时按钮位置错误
   - 保存并恢复按钮的居中状态

2. 首页tag按钮按素材数量排序
   - 添加按素材数量降序排序逻辑

3. 上传弹窗输入框浅色模式文字不可见
   - 添加 text-slate-900 确保浅色模式下文字可见
   - 添加 placeholder 样式确保占位符正确显示
2025-12-14 21:41:29 +08:00
WuYongJie
4360b0d5d8 docs: 完成用户手册编写(任务27)
创建完整的用户手册:
- 系统概述
  * 什么是自定义上传模板
  * 为什么需要自定义模板
  * 内置模板 vs 自定义模板

- 如何创建自定义模板(6个步骤)
  * 步骤1:进入模板管理页面
  * 步骤2:选择起始模板
  * 步骤3:配置基本信息
  * 步骤4:配置字段(详细说明)
  * 步骤5:预览和保存
  * 步骤6:启用模板

- 字段配置详解
  * 字段键名规则和示例
  * 8种字段类型说明
  * 字段属性配置
  * 字段操作(排序、复制、删除)

- 如何使用分类管理
  * 分类管理的作用
  * 哪些字段会进入分类管理
  * 如何管理分类选项
  * 分类字段的同步机制

- 常见问题解答(10个FAQ)
  * 字段键名规则
  * 模板修改注意事项
  * 版本冲突处理
  * 模板删除限制
  * 选项管理优化
  * 首页筛选配置
  * 字段填写率分析
  * 批量更新方案
  * 模板导入导出
  * 新模板测试流程

- 附录:字段类型详解
  * 8种字段类型的详细说明
  * 适用场景和配置选项

文档位置:docs/user-guide/template-system-guide.md
2025-12-13 15:44:15 +08:00
WuYongJie
473176997a docs: 完成API文档编写(任务26)
创建完整的API文档:
- 模板管理API(5个接口)
  * 获取模板列表
  * 获取模板详情(含使用统计)
  * 创建模板(含验证规则)
  * 更新模板(含版本控制)
  * 删除模板(含使用检查)

- 模板验证API
  * 内置模板验证逻辑
  * 自定义模板验证逻辑
  * 内置模板列表

- 字段池管理API(2个接口)
  * 获取字段池列表
  * 同步字段池

- 分类字段管理API
  * 获取分类管理字段

- 错误代码规范
  * 统一错误响应格式
  * 常见错误代码说明

- 性能指标
  * 响应时间目标
  * 数据库优化说明(20+个索引)

- 最佳实践
  * 版本控制使用方法
  * 错误处理示例
  * 字段验证示例
  * 性能优化建议

文档位置:docs/api/template-system-api.md
2025-12-13 15:42:39 +08:00
WuYongJie
b7776d468a test: 添加防抖Hooks单元测试
- 创建useDebounce测试(9个测试用例)
  * 测试基本功能(初始值、延迟更新、快速变化)
  * 测试延迟时间配置(自定义延迟、0延迟)
  * 测试不同数据类型(字符串、数字、对象、数组)

- 安装测试依赖
  * jest-environment-jsdom - 提供DOM环境
  * @testing-library/dom - React测试库依赖

- 优化useDebounce实现
  * 添加组件卸载时的定时器清理
  * 确保状态更新的正确性

测试结果:9个测试用例全部通过
2025-12-13 15:38:03 +08:00
WuYongJie
3c009350d7 feat: 前端性能优化(任务23)
- 创建防抖Hooks
  * useDebounce - 延迟更新值直到用户停止输入
  * useDebouncedCallback - 创建防抖的回调函数
  * 支持自定义延迟时间(默认300ms)

- 创建SWR缓存Hooks
  * useTemplates - 缓存模板列表
  * useTemplate - 缓存单个模板详情
  * 配置智能缓存策略(5秒去重、错误重试)
  * 支持手动刷新数据

- 现有优化
  * 字段验证使用useMemo避免重复计算
  * 表单组件使用React.memo和useCallback优化渲染
  * 拖拽排序使用防抖避免频繁更新

性能提升:
- 减少不必要的API请求
- 优化表单输入响应速度
- 提升大表单的渲染性能
2025-12-13 15:33:10 +08:00
WuYongJie
82623a005f feat: 数据库查询优化(任务22)
- 添加UploadTemplate表索引
  * status - 按状态筛选模板
  * materialType - 按素材类型筛选
  * materialKind - 按素材大类筛选
  * createdAt/updatedAt - 按时间排序

- 添加UploadField表索引
  * templateId - 查询模板的字段
  * key - 按字段键名查询
  * type - 按字段类型筛选
  * visibleOnHomeFilter - 查询首页筛选字段
  * isSearchable - 查询可搜索字段
  * addToCategory - 查询分类管理字段
  * orderIndex - 字段排序
  * templateId+orderIndex - 复合索引优化排序查询

- 添加FieldDefinition表索引
  * source - 按来源筛选(standard/custom)
  * isStandard - 查询标准字段
  * isFilterEnabled - 查询启用的筛选字段
  * filterOrder - 筛选字段排序
  * isFilterEnabled+filterOrder - 复合索引优化筛选查询

- 添加FieldOption表索引
  * fieldId - 查询字段的选项
  * fieldId+orderIndex - 复合索引优化选项排序

数据库迁移: 20251213073100_add_template_system_indexes
2025-12-13 15:31:47 +08:00
WuYongJie
adf4af21a2 docs: 更新任务列表状态 2025-12-13 15:23:49 +08:00
WuYongJie
b065ecdce6 feat: 增强select字段的选项管理(任务10)
- 添加选项列表输入框
  * 支持每行一个选项的简单格式
  * 支持JSON数组格式
  * 使用等宽字体便于编辑

- 自动处理选项值
  * 保存时自动清洗和规范化(已在后端实现)
  * 自动去重选项(已在field-pool.ts实现)
  * 展开嵌套数组格式(已在field-pool.ts实现)
  * 转换为JSON字符串存储(已在TemplateManager实现)

- 优化用户体验
  * 仅在select和radio类型时显示选项输入框
  * 提供清晰的格式说明和示例
  * 添加提示信息说明自动处理功能
2025-12-13 15:23:26 +08:00