62 Commits

Author SHA1 Message Date
WuYongJie
4a2e979c8d 收敛模板管理入口样式 2026-05-28 19:22:45 +08:00
WuYongJie
3fabd02ef3 收敛个人页和编辑弹窗素材卡片样式 2026-05-28 19:19:01 +08:00
WuYongJie
ff2baea41e 收敛素材管理目标用户弹窗 2026-05-28 19:14:01 +08:00
WuYongJie
92cdd5943a 修复首页自定义筛选计数查询 2026-05-28 19:09:11 +08:00
WuYongJie
4adeaa0fa1 收敛外观设置页工作台样式 2026-05-28 19:02:56 +08:00
WuYongJie
36c35227ec 收敛首页素材卡片样式 2026-05-28 18:43:12 +08:00
WuYongJie
bf80d3d801 收口登录激活私有化入口 2026-05-28 18:18:03 +08:00
WuYongJie
e25d1aaad9 收敛公开分享页预留入口 2026-05-28 18:02:59 +08:00
WuYongJie
5ac2e11c3e 限制系统LOGO上传格式和大小 2026-05-28 17:57:37 +08:00
WuYongJie
f282d6aa73 跳过回收站素材模板迁移 2026-05-28 17:52:44 +08:00
WuYongJie
5bb9d893fc 移除公开调试接口 2026-05-28 17:47:49 +08:00
WuYongJie
d8218da21b 修正健康检查就绪状态 2026-05-28 17:42:48 +08:00
WuYongJie
ec440c5c60 统一授权提示私有化口径 2026-05-28 17:37:27 +08:00
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
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
c7d93111c4 补充公开分享总开关并兼容转码恢复缺表场景 2026-05-26 11:18:18 +08:00
WuYongJie
1a9921c9fe 收敛工作台界面并完善安全分享入口 2026-05-25 17:30:11 +08:00
WuYongJie
6a5077312e 收紧主应用接口权限与跨域边界 2026-05-25 17:12:11 +08:00
WuYongJie
c759d0a37b 收紧模板管理权限并保护迁移数据 2026-05-25 16:48:19 +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
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
e705d9fe71 收紧主应用许可证与管理接口安全 2026-05-25 14:32:52 +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
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
WuYongJie
ad888185ec feat: 优化字段创建和管理UI(任务9)
- 添加实时字段key验证
  * 验证格式:必须以字母开头,只能包含字母、数字和下划线
  * 验证唯一性:检测重复的字段key
  * 验证长度:不超过50个字符
  * 显示错误和警告提示

- 添加字段复制功能
  * 一键复制字段配置
  * 自动生成新的唯一key(添加_copy后缀)
  * 复制后自动滚动到新字段

- 优化拖拽排序体验
  * 添加拖拽手柄图标
  * 启用字段卡片的draggable属性
  * 优化拖拽时的视觉反馈

- 添加字段删除确认对话框
  * 删除前显示确认对话框
  * 提示删除的影响和不可撤销性
  * 美观的对话框UI设计
2025-12-13 15:22:31 +08:00
WuYongJie
da43633ee2 test: 完善任务1-8的单元测试覆盖
新增测试:
- 模板CRUD API测试(template-crud.test.ts) - 28个测试
  * 测试模板列表获取(包含materialCount统计)
  * 测试模板创建(验证必填字段、字段key唯一性)
  * 测试模板更新(版本控制、冲突检测)
  * 测试模板删除(使用中模板保护)
  * 测试错误处理(Prisma错误、权限验证)

增强现有测试:
- 字段池管理器测试 - 新增6个测试
  * 测试字段池同步重试机制
  * 测试OptionCleaningIssue枚举
  * 测试边界情况处理

- 模板验证器测试 - 新增10个测试
  * 测试批量验证功能(validateMultipleTemplateIds)
  * 测试模板字段获取(getTemplateWithFields)
  * 测试性能指标(验证时间<100ms)
  * 测试批量查询优化

测试覆盖:
- 总计72个测试用例全部通过
- 覆盖任务1-8的核心功能
- 包含单元测试、集成测试、性能测试
2025-12-13 15:17:13 +08:00
WuYongJie
40cf6f6c26 feat: 完成阶段1和阶段2优化任务
阶段1: 核心基础设施优化
- 完善模板验证工具(template-validator.ts)
- 优化上传API的模板验证
- 增强字段池同步机制(支持增量同步和重试)
- 优化选项清洗逻辑(处理10种脏数据场景)

阶段2: 模板管理功能增强
- 实现模板版本控制(并发冲突检测)
- 增强模板数据完整性验证(必填字段、字段key唯一性)
- 优化模板CRUD API错误处理(统一格式、Prisma错误处理)
- 实现模板使用统计(materialCount、字段填写率分析)

详细改进:
- lib/field-pool.ts: 新增OptionCleaningIssue枚举、增强normalizeFieldOptionValue函数、支持增量同步
- app/api/admin/upload-templates/route.ts: 增强验证逻辑、优化错误处理、添加materialCount统计
- app/api/admin/upload-templates/[id]/route.ts: 版本控制、字段统计、删除保护、详细日志
- .kiro/specs/template-system-optimization/tasks.md: 更新任务完成状态(8/30完成)
2025-12-13 15:07:11 +08:00
WuYongJie
6756d5e72c feat: 完成阶段1核心基础设施优化
✅ 任务1: 完善模板验证工具
- 添加详细的错误代码和错误信息
- 添加性能监控(记录验证耗时)
- 添加模板状态检查
- 添加批量验证功能
- 添加结构化日志记录

✅ 任务2: 优化上传API的模板验证
- 集成增强的validateTemplateId函数
- 添加详细的验证日志
- 返回错误代码便于前端处理

✅ 任务3: 增强字段池同步机制
- 添加增量同步支持
- 添加同步失败重试机制(指数退避)
- 添加详细的同步统计信息
- 添加同步日志和监控
- 优化错误处理

相关需求: 1.1-1.4, 3.1-3.4, 6.1-6.4, 24.1-24.5
2025-12-13 14:48:03 +08:00
WuYongJie
542c7bcc49 feat: 优化自定义上传模板系统
- 修复内置模板验证问题(builtin-video-material等)
- 添加模板验证工具 lib/template-validator.ts
- 创建模板系统优化需求文档(30个详细需求)
- 优化上传API的模板验证逻辑
- 改进错误提示信息的清晰度
- 添加字段池和分类管理相关需求
- 完善自定义字段的创建、验证、存储逻辑
- 清理过期的 .specstory 和 .trae 文件
2025-12-13 14:26:43 +08:00