23 Commits

Author SHA1 Message Date
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
52f919c2cb test: 添加核心功能单元测试
- 配置Jest测试框架
- 添加字段池管理器测试(field-pool.test.ts)
  * 测试选项值清洗功能(normalizeFieldOptionValue)
  * 测试选项解析功能(parseOptionsStatic)
  * 测试选项展开功能(expandOptionValue)
  * 覆盖边界情况和特殊字符处理
- 添加模板验证器测试(template-validator.test.ts)
  * 测试模板ID验证(validateTemplateId)
  * 测试内置模板识别(isBuiltinTemplate)
  * 测试模板key提取(extractBuiltinTemplateKey)
  * 测试错误处理和日志记录
- 更新package.json添加测试脚本
- 所有43个测试用例通过
2025-12-13 15:13:08 +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
WuYongJie
f45e27bf06 fix: ensure prisma cli binary is copied
Some checks failed
CI Check / check (push) Has been cancelled
2025-12-03 15:15:42 +08:00
WuYongJie
d1c6efc79d feat: NAS 部署与 Harbor 推送流程
Some checks failed
CI Check / check (push) Has been cancelled
2025-12-03 14:39:06 +08:00
WuYongJie
8705b9846a feat: 统一弹窗样式系统与分类管理优化
Some checks failed
CI Check / check (push) Has been cancelled
- 创建统一的Modal组件,采用Apple风格设计
- 实现毛玻璃效果、圆角、动画和细边框描边
- 修复弹窗打开时背景滚动问题
- 修复分类管理中重复卡片和数组字符串显示问题
- 优化选项解析逻辑,添加去重和过滤机制
2025-11-25 09:37:00 +08:00
WuYongJie
492b97213e fix: 修复模板分类API的Set迭代问题和UploadModal的useEffect依赖
Some checks failed
CI Check / check (push) Has been cancelled
2025-11-22 18:16:51 +08:00
WuYongJie
90af4a20fc feat: 模板管理整合 - 上传面板模板化、动态字段渲染、分类管理模板化
Some checks failed
CI Check / check (push) Has been cancelled
2025-11-22 18:15:23 +08:00
WuYongJie
58c7b21b22 fix: 修复Input组件size属性类型冲突
Some checks failed
CI Check / check (push) Has been cancelled
2025-11-22 17:57:40 +08:00
WuYongJie
fe9e3d80a3 feat: UI优化与功能完善 - 低饱和度炫彩元素、深浅色主题适配、用户信息同步素材
Some checks failed
CI Check / check (push) Has been cancelled
2025-11-22 17:56:24 +08:00
WuYongJie
a604b4d488 feat: 首页UI完全统一到三层架构 & 创建通用组件库
Some checks failed
CI Check / check (push) Has been cancelled
- 首页UI统一到三层架构
  - 将所有 gray 系列替换为 slate 系列
  - 统一按钮、输入框、边框颜色样式
  - 使用 useThemeStyles() Hook

- 创建通用组件库
  - Badge 组件(支持 primary、success、warning、danger 变体)
  - Tag 组件(支持多种颜色,已在首页应用)
  - Button 组件(支持多种变体和尺寸,带加载状态)
  - Input 组件(支持错误状态和多种尺寸)
2025-11-22 16:32:52 +08:00
WuYongJie
7dc8d2a528 feat: 统一弹窗系统 & 首页UI优化
Some checks failed
CI Check / check (push) Has been cancelled
- 替换所有浏览器原生弹窗(confirm/alert/prompt)
  - 创建 ConfirmDialog、AlertDialog、PromptDialog 组件
  - 创建 DialogProvider 和 useDialog Hook
  - 替换所有 admin 组件、首页、分享页面中的原生弹窗

- 素材预览面板统一
  - 创建 MaterialPreviewModal 组件
  - 使用统一弹窗组件,统一退出逻辑

- 首页UI统一到三层架构
  - 迁移主要按钮和输入框样式
  - 迁移筛选弹窗中的所有按钮样式
  - 使用 useThemeStyles() Hook

- 更新文档
  - 更新优化记录、优化计划、后续修改、更新日志
2025-11-22 16:20:05 +08:00
WuYongJie
4ca4bbd767 feat: 首页素材展示响应式优化
Some checks failed
CI Check / check (push) Has been cancelled
- 使用 aspect-[3/4] 固定卡片比例,解决浏览器调整大小时比例变宽问题
- 添加容器边距(px-4 sm:px-6 lg:px-8)避免卡片贴到浏览器边界
- 使用三层架构样式系统(useThemeStyles 和 cardStyles.base)
- 优化图片 sizes 属性,提升响应式性能
- 统一使用 slate 系列颜色,确保深浅色模式适配
2025-11-22 15:39:18 +08:00
WuYongJie
e4dcb6260a feat: Admin页面重构 & UI三层架构系统
Some checks failed
CI Check / check (push) Has been cancelled
- 创建统一UI三层架构系统(基础层、颜色层、组合层)
- 拆分Admin页面为独立Tab组件(MonitorTab、UsersTab、DepartmentsTab等)
- 提取公共逻辑到Hooks(useToast、useDataFetch、useUserOperations等)
- 提取工具函数(validators、formatters、api等)
- 创建统一弹窗组件(Modal)和useModal Hook
- 添加错误边界和统一状态组件
- 完善类型定义和可访问性支持
- 更新文档(优化记录、优化计划、更新日志)
2025-11-22 15:17:10 +08:00
WuYongJie
66bd011c85 更新 README.md:补充模板管理器拖拽排序功能说明
Some checks failed
CI Check / check (push) Has been cancelled
2025-11-20 11:25:42 +08:00
WuYongJie
5f2ba48532 优化模板管理器拖拽交互体验
Some checks failed
CI Check / check (push) Has been cancelled
- 移除高亮卡片效果,避免与虚位卡片视觉重复
- 松开鼠标后立即更新布局,不再等待动画完成
- 优化拖拽动画效果,使用弹性缓动函数
- 更新 CHANGELOG.md 记录本次优化
2025-11-20 11:24:25 +08:00
WuYongJie
720253b5ac style: 使用 Apple 系字体栈统一全局字体
Some checks failed
CI Check / check (push) Has been cancelled
2025-11-18 18:02:56 +08:00
WuYongJie
0bccfa335d docs: 更新 CHANGELOG 增加趣味说明
Some checks failed
CI Check / check (push) Has been cancelled
2025-11-18 17:59:16 +08:00
WuYongJie
f646b71813 chore: 初始化本地仓库并同步最近改动
Some checks failed
CI Check / check (push) Has been cancelled
2025-11-18 17:50:16 +08:00