621 Commits

Author SHA1 Message Date
小鱼开发 6f9e8f1c51 feat: 小标题字数限制改为10个字
- 输入框 maxLength 30→10
- 智能生成 maxLength 30→10
- 大标题保持8个字不变
2026-04-30 13:45:44 +08:00
小鱼开发 8166925a1a style: 小标题marginV 460→440 2026-04-30 13:42:07 +08:00
小鱼开发 f622b44ec9 style: 小标题上移20px(marginV 480→460) 2026-04-30 13:39:12 +08:00
小鱼开发 9ab9613ef2 style: 调整字号与边距
- 大标题: 104px → 80px
- 小标题: 72px(不变)
- 字幕: 60px → 56px
- 左右边距: 180 → 160(统一)
2026-04-30 13:36:07 +08:00
小鱼开发 475758beed feat: 大小标题支持智能生成
后端:
- 新增 POST /script/generate-title API
- 新增提示词模板 title_system.txt / title.txt(文件管理)
- 根据脚本内容调用 LLM 生成大标题(≤8字)/小标题(≤30字)

前端:
- 大标题/小标题输入框右侧新增【智能生成】按钮
- 点击后根据 utterances 拼接脚本内容调用 API
- 添加 title-input-row / title-generate-btn CSS 样式
2026-04-30 12:09:56 +08:00
小鱼开发 de0fb0949c feat: 字幕压制完成后支持效果预览
- 压制完成后按钮变为'重新压制'/'效果预览'
- 效果预览播放 burnedVideoPath(已压制字幕的视频)
- 点击样式模板自动切回 Canvas 样式预览模式
- 添加 burn-btn-group CSS 支持双按钮布局
2026-04-30 11:27:14 +08:00
小鱼开发 08c73baf36 style: 模板名称现代化重构(去金去中式)
大标题:黄黑撞色、蓝黄对比、红白高亮、黑白极简
小标题:暖黄棕边、白灰描边、浅灰描边、亮黄描边
字幕:  经典纯白、极简纯黑、银灰描边、明黄描边
2026-04-30 11:19:20 +08:00
小鱼开发 9aadb8b5b2 style: 模板名称文艺化重构(全部4字)
大标题:鎏金墨韵、蔚蓝鎏金、朱红映雪、墨韵白华
小标题:米金深棕、素白雾灰、浅灰墨痕、灿金淡墨
字幕:  经典纯白、极简纯黑、银灰素墨、明黄墨华
2026-04-30 11:15:06 +08:00
小鱼开发 39b9bca16e style: 小标题青绿黑边改为浅灰黑边(#D0D0D0) 2026-04-30 11:11:45 +08:00
小鱼开发 790a19776f style: 所有模板统一4字命名
大标题:金黄墨字、蓝底金字、赤底白字、墨底白字
小标题:米黄棕边、白字灰边、青绿黑边、亮黄黑边
字幕:  纯白黑边、纯黑白边、银灰黑边、金黄黑边
2026-04-30 11:10:45 +08:00
小鱼开发 80ce854e28 style: 小标题暗红黑边改为白字深灰边(#FFFFFF + #555555) 2026-04-30 11:03:43 +08:00
小鱼开发 a2d5713953 style: 小标题红字白边改为暗红黑边(#B22222 + #000000) 2026-04-30 11:01:18 +08:00
小鱼开发 bcd5656bae style: 字幕预设名称修正 浅灰白字→浅灰黑边 2026-04-30 10:59:36 +08:00
小鱼开发 2b3cbf7731 style: 小标题/字幕预设调整
- 赤陶暖棕 → 红字白边(#FF0000 + #FFFFFF)
- 小标题描边统一 outline=4
- 字幕薄荷青字 → 浅灰白字(#D0D0D0)
2026-04-30 10:58:18 +08:00
小鱼开发 4ac21b555f feat: 大小标题取消默认值,改为非必填 2026-04-30 10:45:09 +08:00
小鱼开发 9b73db316f style: 调整小标题72px、字幕60px 2026-04-30 10:41:52 +08:00
小鱼开发 9921945406 style: 大标题白底黑字改为红底白字 2026-04-30 10:32:34 +08:00
小鱼开发 ba68b9cdfb style: 大标题米金深棕改为蓝底黄字 2026-04-30 10:30:22 +08:00
小鱼开发 3d7ea6063b style: 小标题预设调整
- 经典纯白 → 米金深棕(复用大标题配色:#FFF8DC + #5C4033,outline=5)
- 极简纯黑 → 赤陶暖棕(红色系:#FFF5F0 + #8B2500,outline=5)
2026-04-30 10:09:56 +08:00
小鱼开发 61a19f1fcc fix: Canvas字体加载改用Tauri资源API读取base64 data URL
- 原url(/fonts/DouyinSansBold.ttf)在tauri://协议下可能失效
- 改用@tauri-apps/plugin-fs读取资源目录字体文件为base64 data URL
- 保留回退机制,兼容Vite dev server和浏览器环境
2026-04-30 09:57:09 +08:00
小鱼开发 10ddd04691 fix: 字幕文本统一去除末尾标点符号(预览+压制一致)
- 导出 trimTrailingPunctuation 为公共函数
- SubtitleBurning 中统一处理 utterances,预览和压制共用同一套数据
- 支持去除标点:。!?.…;,!、,?
2026-04-30 09:45:23 +08:00
小鱼开发 c01eb411af fix: Canvas预览/PNG生成器文字位置对齐ASS规范
- 大标题/小标题(alignment=8): 基线 = marginV + actualBoundingBoxAscent
- 字幕(alignment=2): 基线 = displayHeight - marginV - actualBoundingBoxDescent
- 替换经验系数 fontSize*0.85,消除预览与压制的位置偏差
2026-04-30 09:41:35 +08:00
小鱼开发 e3e656c64e fix: 样式模板预览描边从 WebkitTextStroke 改为 text-shadow 模拟外描边 2026-04-30 07:49:19 +08:00
小鱼开发 e9dbf4f5fc refactor: 视频生成流程重构 - concat拼接替代全局音频替换
- 新增 generate_empty_shot_clip 原子命令:截取视频→截取音频→替换音频→自动清理临时文件
- 新增 concat_video_clips 命令:直接拼接已标准化片段,零重新编码
- VideoGeneration 改为先生成各分镜标准化片段,再 concat 拼接,不再使用 replace_audio_track
- segment 对口型视频保留自带同步音频,empty_shot 注入对应配音音频
- 删除未使用的单分镜重新生成功能(handleRegenerateShot、useVideoGeneration hook)
- ScriptShot 新增 clipVideoPath 字段
2026-04-30 00:23:11 +08:00
小鱼开发 18f4cbf562 fix: 视频生成流程修复 - 对口型回调、store同步、按钮状态、音频冗余
- vidu.py: 修复回调body字段(id vs task_id)和状态判断(success vs succeeded)
- VideoGeneration: 修复composedVideoPath未同步store导致无法预览/下一步
- VideoGeneration: 修复userUploadedMaterials未同步store
- VideoGeneration: 精简恢复逻辑,避免与index重复恢复
- VideoGeneration: 直接用dubbingAudioPath替换音频,避免重新下载
- VideoGeneration: 添加isComposedPreview状态,支持卡片素材预览 vs 完整视频预览
- VideoGeneration: 生成完成后显示重新生成+视频预览双按钮
- VoiceDubbing: 用store dubbingAudioUrl替代本地state,修复按钮状态丢失
- index.tsx: 补全meta.json恢复逻辑,覆盖所有步骤字段
- projectStore.ts: saveMetaToLocalFile补全avatarMaterial和userUploadedMaterials
- docs: 添加视频生成完整数据流文档
2026-04-29 12:19:32 +08:00
小鱼开发 a2255b2d0d fix: Vidu回调body用id而非task_id作为任务标识 2026-04-28 23:11:56 +08:00
小鱼开发 0698f6833b fix: Vidu对口型任务成功状态从succeeded改为success 2026-04-28 22:50:08 +08:00
小鱼开发 d0a64a9ca6 fix: 测试环境ENV改为staging,移除APP_BASE_URL和CORS_ORIGINS硬编码 2026-04-28 22:07:45 +08:00
小鱼开发 7715305a63 fix: docker-compose.test.yml 从environment中移除DEBUG,改由.env文件控制 2026-04-28 21:50:27 +08:00
小鱼开发 47ec047781 fix: docker-compose.test.yml DEBUG改为从.env读取,不再硬编码false 2026-04-28 21:41:14 +08:00
小鱼开发 0e97508145 feat: Rust层API Base URL改为从配置文件动态读取 2026-04-28 21:32:07 +08:00
小鱼开发 51ceb58581 fix: 测试环境认证短路返回测试用户;视频预览区分线上/本地并修复blob revoke 2026-04-28 21:31:18 +08:00
小鱼开发 29829d90df fix: DEBUG模式自动创建测试用户;空镜上传素材按实际分配时长校验 2026-04-28 17:36:33 +08:00
小鱼开发 d419d6732e feat: Vidu 对口型回调机制完整版(B方案)
后端:
- config.py: 新增 APP_BASE_URL 配置,支持 ENV 自动推断公网地址
- vidu.py: POST /lip-sync 自动拼接 callback_url 提交给 Vidu
- vidu.py: 新增 POST /callback 接收 Vidu 异步回调,写入 Redis
- vidu.py: GET /tasks/{id}/status 优先查 Redis,fallback 到 Vidu API

前端:
- types.ts / localStorage.ts: ScriptShot/ProjectSegment 新增 lipSyncVideoPath/VideoUrl/StartTime
- VideoGeneration.tsx: Step 1 提交对口型时保存 lipSyncStartTime(只算一次)
- VideoGeneration.tsx: 新增 Step 2 轮询后端状态(5s×120次),下载对口型视频
- VideoGeneration.tsx: Step 3 拼接时 segment 优先使用对口型视频,startTime=0

部署:
- docker-compose.test.yml / prod.yml: 添加 APP_BASE_URL 环境变量
- .env.example: 添加 APP_BASE_URL 说明

修复:
- 修复 React 闭包陷阱(updateSegment 后 shots 未同步)
- 修复 startTime 不一致(Step1/Step2 各自 random)
2026-04-28 15:23:46 +08:00
小鱼开发 e76a7c1dab fix: 换一个按钮始终显示,可覆盖用户上传素材 2026-04-28 13:50:25 +08:00
小鱼开发 8bcbf72f0e fix: 本地视频预览加载完成后关闭 loading 2026-04-28 13:41:14 +08:00
小鱼开发 126fdf9dd7 fix: 素材时长保存时精确到一位小数 2026-04-28 13:31:41 +08:00
小鱼开发 a94ac77424 style: toast 位置下移 2026-04-28 13:28:38 +08:00
小鱼开发 184367c659 fix: 素材时长显示格式化为一位小数 2026-04-28 13:24:51 +08:00
小鱼开发 aa11b5327f feat: 人物出镜素材持久化走 store action 2026-04-28 12:14:35 +08:00
小鱼开发 046d2265bc fix: 形象素材时长改回 5-20 秒,与空镜一致 2026-04-28 11:27:11 +08:00
小鱼开发 698730f885 feat: 空镜镜头支持上传本地素材
- 形象素材时长要求改为 5-10 秒
- validateLocalVideo 改为可配置参数
- 空镜卡片新增【上传素材】按钮
- 用户上传素材优先于后端匹配
- 支持素材持久化到 meta.json
2026-04-28 11:23:36 +08:00
小鱼开发 53dbe75466 fix: 形象选择空状态恢复简洁样式,增加视频要求说明 2026-04-28 10:43:04 +08:00
小鱼开发 4bffb78556 style: 形象选择空状态改成卡片风格 2026-04-28 10:38:08 +08:00
小鱼开发 0450c51ad2 fix: 声音克隆弹窗文案调整 2026-04-28 10:30:20 +08:00
小鱼开发 23e4d08308 style: 我的作品空状态改成虚线边框卡片样式 2026-04-28 10:26:34 +08:00
小鱼开发 4a894b9ae6 style: 私有音色空状态垂直居中 2026-04-28 10:18:35 +08:00
小鱼开发 1dcfdede4b fix: docker-compose.test.yml 加载 .env 文件,解决容器内环境变量缺失 2026-04-28 09:36:20 +08:00
小鱼开发 e8f4fcd7f5 fix: 生成配音前增加未选择音色的提示 2026-04-28 09:22:26 +08:00
小鱼开发 b014e8d53e chore: 添加 GitLab CI/CD 自动部署配置 2026-04-27 17:07:43 +08:00