Commit Graph

182 Commits

Author SHA1 Message Date
zhonghua
e054895c81 fix: 评审进度详情仅在全部评委评分后显示最终分
Made-with: Cursor
2026-04-15 11:54:56 +08:00
zhonghua
b8019ac4ee feat: 公告附件持久化与 OSS 支持 svg、编辑时加载活动列表
Made-with: Cursor
2026-04-15 11:43:35 +08:00
zhonghua
079aed72e8 feat: 提交审核时间 submit_review_time 与审核台 createTime 语义对齐
- 新增 t_ugc_work.submit_review_time,publish/withdraw/revoke 维护
- 内容审核 VO:createTime 优先为提交审核时间,补充 workCreateTime

Made-with: Cursor
2026-04-15 11:14:04 +08:00
zhonghua
872cd22bcc fix: 活动选作品仅展示已发布作品
WorkSelector 请求 /public/works 增加 status=published,空状态提示优化

Made-with: Cursor
2026-04-15 11:04:54 +08:00
zhonghua
eff55b6f7b fix: 乐读派作品元数据本地同步与创作流程路由修复
- 后端:PUT 代理成功码兼容 0/200;syncWork 在状态未变时同步元数据;请求体覆盖本地 t_ugc_work
- 前端:EditInfo 强制拉详情、workId 字符串化、副标题/简介完整提交
- 评委管理:联系方式增加手机号校验
- Dubbing:仅未编目完成时按状态跳转,避免已配音作品从编辑页进配音被立即打回

Made-with: Cursor
2026-04-15 10:51:25 +08:00
zhonghua
b11cb4b9d7 fix:暂存 2026-04-15 10:04:56 +08:00
zhonghua
e484fa3965 feat: 活动创建/编辑附件与 PATCH 主体同步及表单对齐
- 后端 CreateContestDto 增加 attachments,创建/更新时全量同步附件表
- 前端 Create:form.attachments、URL/文件名解析、上传归一化、编辑省略空 attachments 防误删
- API 增加 ContestAttachmentInput、CreateContestForm.reviewRuleId/attachments

Made-with: Cursor
2026-04-14 19:13:50 +08:00
zhonghua
ba93872922 feat: 评审规则嵌套活动详情、评委人数与提交流程联动
- 活动详情接口补充嵌套 reviewRule(含 judgeCount)
- 添加评委抽屉:人数提示对齐评审规则页,满足评委数量方可提交
- 作品分配评委:与规则人数一致,标题与确定按钮逻辑对齐
- 评审规则:去最高最低仅当评委数量大于阈值时可选用

Made-with: Cursor
2026-04-14 18:51:56 +08:00
zhonghua
dfccb07f5a fix:修复评委菜单 2026-04-14 18:23:04 +08:00
zhonghua
565cfc4321 完善代码 2026-04-14 17:04:18 +08:00
zhonghua
54aaf421be fix:注册添加表单校验 2026-04-14 17:03:07 +08:00
zhonghua
4d64dd9178 fix:提示修改为对话框 2026-04-14 16:37:45 +08:00
zhonghua
a574fb4826 fix:添加AI创作温馨提示 2026-04-14 15:24:17 +08:00
zhonghua
b323a82cbb feat: 预设评语按当前评委查询,去除活动筛选与重复评委活动接口
Made-with: Cursor
2026-04-14 15:18:24 +08:00
zhonghua
2c2ff602b0 fix:去除活动名称唯一判断 2026-04-14 14:29:07 +08:00
zhonghua
0dc33318c9 fix:复制链接功能失效 2026-04-14 14:03:53 +08:00
zhonghua
a68b9fbf9d flx:样式调整 2026-04-14 13:49:16 +08:00
zhonghua
c78af468d1 fix:创作添加修改角色名称 2026-04-14 11:49:58 +08:00
zhonghua
905f8d1b99 fix:暂不支持子女账号 2026-04-14 10:47:58 +08:00
zhonghua
bda35c6bcd feat: 评委标记作品违规、公开参赛与公示列表排除违规作品
Made-with: Cursor
2026-04-14 10:42:06 +08:00
zhonghua
7484ddfcb1 fix: 审核通过时将作品 visibility 设为 public
Made-with: Cursor
2026-04-13 18:03:43 +08:00
zhonghua
44ad1746f3 feat: 公众端作品详情与审核流程对齐(撤回下架、驳回原因、删除限制)
Made-with: Cursor
2026-04-13 17:51:47 +08:00
zhonghua
56bddb5206 feat: EditInfo直接发布联调、乐读派PUT后同步UGC、创作流程keep-alive激活刷新
Made-with: Cursor
2026-04-13 17:16:08 +08:00
zhonghua
93c1f0d497 fix:AI创作优化 2026-04-13 16:40:46 +08:00
zhonghua
0d7063077f fix:调整报名时间校验 2026-04-13 10:07:13 +08:00
En
7bc8c10d9a feat: 系统品牌更名为"智创未来"及相关配置调整
- 前后端所有"乐绘世界"统一更名为"智创未来"
- 生产环境乐读派API地址更新为公网地址
- 公众端登录页调整用户名/密码字段显示逻辑
- 同步更新文档、测试用例、主题样式中的品牌名称

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 19:30:26 +08:00
En
ffb5c449fb fix(乐读派): B3对账时B2详情接口缺少phone字段导致无法关联用户
B3批量查询返回phone,但调用B2获取详情后phone丢失。
将B3列表中的phone合并到B2详情数据中再传给syncWork。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 19:28:58 +08:00
En
98e9ad1d28 feat(前端): 测试环境登录框支持自动填充测试账号
通过 VITE_AUTO_FILL_TEST 环境变量控制,在 .env.test 中启用,
使测试环境构建后登录框也能自动填充测试账号,方便测试人员使用。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 17:03:22 +08:00
zhonghua
9f3040ad3a 调整活动可见范围 2026-04-10 17:30:12 +08:00
zhonghua
0906bc9cee fix(公众端): 保存成功页进入时清空创作缓存后再加载作品
Made-with: Cursor
2026-04-10 17:15:02 +08:00
zhonghua
56c49234bd 调整保存逻辑 2026-04-10 17:12:12 +08:00
zhonghua
1862204ac5 feat: 公众端绘本创作流程与作品展示优化,乐读派同步及封面回填迁移
Made-with: Cursor
2026-04-10 17:09:15 +08:00
zhonghua
430eba6bd6 格式化 2026-04-10 14:08:08 +08:00
zhonghua
7ad98e92ea feat: 选角仅放大镜预览、extract草稿与作品提交审核
Made-with: Cursor
2026-04-10 14:07:40 +08:00
En
df1817fe23 refactor: 简化画风选择卡片,移除选中/未选中双图切换逻辑
画风卡片改为统一使用单张图片,删除 active 状态图片资源,
简化 StyleSelectView 组件数据结构和模板渲染逻辑。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 13:42:39 +08:00
En
8995e2f2e2 feat: 公众端多项功能增强——短信登录、作品状态优化、创作流程组件 keep-alive
后端:
- 新增手机号验证码登录接口及 PublicSmsLoginDto
- LeaiSync 作品同步状态阈值从 CATALOGED 调整为 DUBBED
- UgcWork 实体字段微调、数据库迁移脚本修正

前端:
- Login 页面支持用户名/手机号双模式登录
- public.ts 新增 loginBySms、sendSmsCode API
- AI 创作流程全部视图添加 keep-alive 组件名导出
- CreatingView 生成逻辑优化
- WelcomeView 欢迎页增强
- BookReaderView、作品库等页面细节修复

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 11:19:42 +08:00
En
387ee5ccfb feat: 画风选择卡片用静态图片替换 emoji 占位,支持选中/未选中状态切换
- 导入 8 张画风图片(卡通/水彩/水墨/彩铅 × 选中/未选中)
- 根据选中状态动态切换预览图
- 删除 emoji SVG fallback 逻辑
- 隐藏油画、剪贴画(hidden: true)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 11:16:14 +08:00
zhonghua
1fff56d700 feat: 成果发布与报名数据优化、作品列表空结果修复、创建活动主办单位默认
- 成果发布:所属活动下拉与 GET /contests 筛选(id/resultState/creatorTenantId)

- 报名列表/详情:回显 contest、creatorTenant、user;主办机构列绑定 creatorTenant

- 作品列表:contestIds 为空时跳过评委 IN 查询避免 500

- 登录与用户信息返回 tenantName;创建活动默认主办单位

- 活动监管多页筛选表单补充 model

Made-with: Cursor
2026-04-10 10:32:37 +08:00
zhonghua
8561f3d320 fix: 用户管理筛选表单绑定 model 以触发搜索请求
Made-with: Cursor
2026-04-10 10:02:25 +08:00
zhonghua
6f7ab2f3bf 暂存 2026-04-10 09:59:03 +08:00
zhonghua
af54ee645f fix: 撤销审核回到待审队列并对齐前后端
Made-with: Cursor
2026-04-10 09:58:08 +08:00
En
922cf83dfe Merge branch 'master_develop' of http://8.148.151.56:3000/tonytech/library-picturebook-activity into master_develop 2026-04-10 02:28:53 +08:00
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
322fd2c4ad fix: WelcomeView 移除未 import 的 config 引用,修复创作页渲染崩溃
- 移除 brandTitle/brandSubtitle 死代码(引用了未 import 的 config)
- 移除未使用的 KeyOutlined import(上一轮已移除但遗漏了 config)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 22:33:51 +08:00
En
15428116b5 merge: 合并 origin/feat/zhz —— AI创作UI重做 + originalImageUrl兜底
合并内容:
- 对方:AI创作全流程 UI 紫粉主题重做(Ant Design 图标、步骤优化、触屏交互)
- 对方:stores/aicreate 新增 fillMockData/fillMockWorkDetail 开发辅助
- 对方:api/public 新增 WorkStatus 类型定义
- 对方:LeaiSyncService originalImageUrl 兜底逻辑
- 对方:Flyway V14-V16 迁移(从对方 V13 重编号避免冲突)

冲突解决:
- BookReaderView/PreviewView:保留 res(拦截器已解包),移除 appSecret 判断
- WelcomeView:保留浮动 CTA 设计,移除 goToEnterprise/isTokenMode(依赖已删除字段)
- WelcomeView:移除未使用的 KeyOutlined import
- Flyway V13:对方文件重编号为 V14-V16

验证:前端 vite build 通过,无冲突标记无残留 res.data

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 22:22:19 +08:00
En
b94c34bf60 优化公众端登录状态无法保存的问题 2026-04-09 21:32:53 +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
aid
45d4ac2216 fix(leai): originalImageUrl 字段兜底同步与历史数据回填
背景:
  leai webhook 同步作品时大多只传 coverUrl 不传 originalImageUrl,
  导致前端作品库 PIP 画中画与详情页「画作原图」卡片不展示
  (v-if="work.originalImageUrl" 检查为 null/空字符串时屏蔽)。

修复:
- LeaiSyncService 三处(createWork/updateProcessing/updateStatusForward)
  加 fallback:originalImageUrl 没传但 coverUrl 有传时,用 coverUrl 兜底
- V13 migration 回填历史数据(IS NULL 条件)
- V14 force 重跑(V13 因 history 表残留同版本号脏数据被 repair 跳过)
- V15 补充:部分作品 original_image_url 是空字符串而非 NULL,
  V14 的 IS NULL 没匹配到,V15 用 (IS NULL OR = '') 兼容空串

剩余 TODO(留给后端联调):
  - leai webhook 后续若拆分独立的 cover 字段,前端 PIP 将自动展现
    "AI 封面 + 原图" 的真实区分(当前所有作品大小图相同时由
    前端 !== 检查屏蔽 PIP)
  - 详见 docs/design/public/ugc-work-status-redesign.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 20:08:38 +08:00
aid
37bd82714d feat: 作品封面引入 PIP 画中画展示原图,详情页加全屏放大查看
- 大图为 AI 生成的绘本封面(coverUrl),右下角小图为用户上传的原图(originalImageUrl),形成"创作素材→AI 成果"的视觉对比
- 草稿等无 AI 封面的作品:大图为占位图,PIP 仍展示原图

涉及文件:
- works/Index.vue 作品库列表卡片加 PIP(右下角 34% 正方形 + 白边阴影)
- Gallery.vue 发现页卡片加同款 PIP
- mine/Favorites.vue 收藏列表加 PIP,type 加 originalImageUrl 字段
- components/WorkSelector.vue 作品选择器加更小尺寸 PIP(32%)
- works/Detail.vue 详情页新增「画作原图」独立卡片(左 84px 缩略图 + 右文字描述)
  · 点击缩略图全屏 overlay 放大查看,背景毛玻璃 + 紫黑半透明
  · hover 缩略图时显示放大镜图标
- _dev-mock.ts 5 条 mock 作品都加 originalImageUrl(不同 hue 区分),id=102 (draft) 的 coverUrl 设为 null 测试占位边界

兼容性:
- v-if 检查 originalImageUrl 不为空且与 coverUrl 不同,防止字段未拆分时显示重复
- 后端 originalImageUrl 字段为 null 时 PIP 不显示,老数据自动兼容

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 19:29:31 +08:00
aid
8638876fa9 style: 公众端剩余页面紫粉主题清理
- Gallery.vue 编辑推荐图标 FireOutlined → CrownFilled,#f59e0b → 主色
- mine/Index.vue 我的收藏菜单图标暖黄 + 橙 → 粉色
- mine/Registrations.vue 待审核 a-tag orange → gold(更柔和的状态色)
- mine/Children.vue 受限模式 a-tag orange → purple
- ActivityDetail.vue 成果区图标 #f59e0b → 主色

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 19:17:00 +08:00