Commit Graph

8 Commits

Author SHA1 Message Date
En
400fc97ebb feat: 拆分 UgcWork.status 为 status(String) + leaiStatus(Integer),修复作品库 Tab 筛选失败
根因:UgcWork.status (Integer) 同时承载「乐读派创作进度」和「本地发布状态」,
前端用字符串筛选时无法匹配。

改动:
- 新增 V17 迁移脚本:拆分 status 为 VARCHAR + 新增 leai_status INT
- 新增 WorkPublishStatus 枚举 (draft/unpublished/pending_review/published/rejected)
- 新增 LeaiCreationStatus 常量类 (FAILED~DUBBED)
- LeaiSyncService:写入 leaiStatus,CATALOGED 时自动推 status 到 unpublished
- 所有公众端 Service:status 直接使用字符串枚举值,删除 Integer 映射
- 新增 Playwright E2E 测试验证 12 个场景全部通过

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 02:27:09 +08:00
En
f1d40db322 fix: 清理 h5Url 死代码并修复后端代理 Content-Type 导致前端解析失败
- 移除 LeaiTokenVO.h5Url 字段、LeaiConfig.h5Url 配置及 yml 中的 h5-url
- 删除 LeaiAuthController.authRedirect() 方法和 LeaiAuthRedirectDTO
- 移除前端 authRedirectUrl 状态及 WelcomeView 企业认证按钮死代码
- 修复 LeaiProxyController 返回 text/plain 导致前端无法解析 JSON 的问题
  (改用 ResponseEntity<String> + application/json Content-Type)
- 修复前端 aicreate 所有视图组件中 res.data 双重取值问题
  (publicApi 拦截器已自动解包,无需再取 .data)
- 同步更新 E2E 测试 mock 数据移除 h5Url

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 21:31:25 +08:00
En
67de13c29a feat: 公众端注册添加手机号必填——支持 AI 创作功能绑定手机号
后端 PublicRegisterDto phone 字段添加 @NotBlank + @Pattern 校验;
PublicAuthService 添加手机号唯一性检查(公众租户范围内);
前端 Login.vue 注册表单添加手机号输入框、验证规则、提交参数;
新增 10 条 E2E 测试用例覆盖前端校验、API 参数传递、完整注册流程。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 15:36:52 +08:00
En
f03991819d feat: 管理端全功能 E2E 测试——40 用例覆盖登录、仪表盘、活动、报名、作品、评审、用户、导航
新增 10 个管理端 E2E 测试文件和 1 个 Mock fixture:
- admin.fixture.ts: Mock 数据 + 登录注入 + 组件预热 + 兜底 API 拦截
- login/contests/dashboard/navigation/registrations/works/reviews/users 等 9 个 spec

关键修复:route.fallback() 替代 route.continue() 修正 Mock 链式传递;
review-rules/select Mock + 兜底拦截器防止未 mock 请求到达真实后端。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 12:52:39 +08:00
En
b9ed5e17c6 feat: OSS 客户端直传改造(STS Token 签发 + 前端直传 + CORS 自动配置)
后端新增 OssUtils/OssTokenVo/OssCorsInitRunner,通过 STS 临时凭证实现客户端直传 OSS;
前端 upload API 适配直传流程,赛事创建/作品提交/作业/富文本编辑器均已切换;
多环境(dev/test/prod) OSS 配置补全;新增 oss-direct-upload-demo 示例项目及 E2E 测试。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 15:19:43 +08:00
En
fa42eca339 feat: 数据库注释补全、常量枚举重构及多模块优化
- 新增 Flyway V6/V7 迁移脚本,为全部 42 张表、591 个列添加中文注释
- 抽取公共常量类(BaseEntityConstants、CacheConstants、RoleConstants、TenantConstants)
- 新增业务枚举(CommonStatus、RegistrationStatus、WorkStatus 等 11 个)
- 优化赛事/作业/评审/UGC 等模块服务层代码
- 更新乐读派(leai)模块配置与 API 客户端
- 更新 e2e 测试用例及 demo 文件

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 13:37:14 +08:00
En
922f650365 feat: 添加乐读派(leai)集成模块及E2E测试基础设施
后端:
- 新增 leai 模块:认证、Webhook、数据同步、定时对账
- 新增 LeaiConfig/RestTemplateConfig/SchedulingConfig 配置
- 新增 FlywayRepairConfig 处理迁移修复
- 新增 V5__leai_integration.sql 迁移脚本
- 扩展所有实体类添加 tenantId 等字段
- 更新 SecurityConfig 放行 leai 公开接口
- 添加 application-test.yml 测试环境配置

前端:
- 添加乐读派认证 API (public.ts)
- 优化 Generating.vue 生成页
- 添加 Playwright E2E 测试配置及依赖
- 添加测试 fixtures、utils、mock-h5.html
- 添加 leai 模块完整 E2E 测试套件

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 21:52:32 +08:00
En
9ad9f5b237 fix: 创作页 iframe tab 切换状态保持
使用 v-show 始终挂载方案替代 KeepAlive,解决 iframe 内 H5 状态
在 tab 切换后丢失的问题。Vue KeepAlive 会移动 DOM 导致浏览器
重新加载 iframe 内容,v-show 只切换 CSS display 不移动 DOM。

- PublicLayout 中将 PublicCreate 渲染在 router-view 外部
- v-if 懒挂载(首次访问创建),v-show 控制显隐
- 登出时销毁组件避免数据泄漏
- 添加 RouteMeta keepAlive 类型定义
- 添加 E2E 测试覆盖 5 个 tab 切换场景

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 21:50:08 +08:00