Commit Graph

579 Commits

Author SHA1 Message Date
小鱼开发 f03a33f8b5 style: 脚本生成页左右布局改为 35:65 比例 2026-06-01 14:24:56 +08:00
小鱼开发 f8c3f1b7e5 style: 脚本卡片描述字号缩小至 10px 2026-06-01 14:16:29 +08:00
小鱼开发 6175630794 style: 脚本生成页去掉分类标题,缩小按钮高度 2026-06-01 14:15:44 +08:00
小鱼开发 534ffd08b2 refactor: 脚本提示词体系重构 — 子类从目录改为单个文件
- 删除 system/bk/ 下所有旧提示词,平铺替换为 23 个新文件
- 文件名格式统一为: 文案——描述.txt
- 后端: _meta.json 扁平化,loader.py 新增 list_prompt_files() + load_prompt_file()
- 后端: API 从 subcategory 改为 filename,按指定文件读取
- 后端: categories 接口返回文件列表(label/desc/filename)供前端展示
- 前端: ScriptCreation 分类选择改为卡片网格,展示文案+描述
- 前端: 清理 subcategoryCode,统一改为 filename
- 前端: 字幕字号调整为 64/96/80px
2026-06-01 14:05:43 +08:00
小鱼开发 aa818b75a8 refactor: 脚本提示词体系重构 — 子类从目录改为单个文件
- 删除 system/bk/ 下所有旧提示词,平铺替换为 23 个新文件
- 文件名格式统一为: 文案——描述.txt
- 后端: _meta.json 扁平化,loader.py 新增 list_prompt_files() + load_prompt_file()
- 后端: API 从 subcategory 改为 filename,按指定文件读取
- 后端: categories 接口返回文件列表(label/desc/filename)供前端展示
- 前端: ScriptCreation 分类选择改为卡片网格,展示文案+描述
- 前端: 清理 subcategoryCode,统一改为 filename
- 前端: 字幕字号调整为 64/96/80px
2026-06-01 13:44:59 +08:00
小鱼开发 4c2d8404b4 refactor: 移除无效的动态导入,改为静态导入
Vite 警告 @tauri-apps/api/core 和 @tauri-apps/plugin-fs 被动态导入但已被静态导入,无法拆分 chunk。改为静态导入消除警告。
2026-05-29 10:22:45 +08:00
小鱼开发 58c1bbc199 fix: amix 加 normalize=0 防止原音频被自动减半音量 2026-05-29 09:56:53 +08:00
小鱼开发 c5f1098831 bump version to 1.6.7 v1.6.7 2026-05-27 18:39:18 +08:00
小鱼开发 11a85bfee7 fix: 修复 BGM 本地上传、封面形象样式、ESLint 清零、access log 关闭
- BGM 本地上传改用 Tauri open 对话框,修复 path 为空导致混音失效
- Rust 端放宽 BGM 路径验证(系统文件选择器选取的文件),加路径遍历防护
- BGM 混音失败时 toast 提示,不再静默忽略
- 我的作品页增加导出功能
- 封面形象卡片样式统一为 works-card 体系
- 关闭 uvicorn access log(Dockerfile + 3 个 compose)
- ESLint 全绿:关掉 prop-types/incompatible-library,修复 curly/exhaustive-deps/any/unused-vars
- .gitignore 排除 *.exe 构建产物
2026-05-27 18:37:33 +08:00
小鱼开发 603650cfb3 bump version to 1.6.6 v1.6.6 2026-05-27 15:38:50 +08:00
小鱼开发 15dc5df12c chore(log): 日志只记录错误信息
- uvicorn access_log 设为 False,关闭 HTTP 访问日志
- .env.example 中 LOG_LEVEL 默认改为 ERROR
2026-05-27 15:35:51 +08:00
小鱼开发 4659f4536e fix(ui): BGM 清除按钮文案改为取消 2026-05-27 15:29:23 +08:00
小鱼开发 784c4faa55 fix(ui): 视频合成页 BGM 选择后支持清除 2026-05-27 15:16:11 +08:00
小鱼开发 5b804e9d79 fix(ui): 统一声音复刻时长提示为 10秒~5分钟 2026-05-27 14:24:06 +08:00
小鱼开发 00f0088c2a fix(prompts): 将'评论区扣/抠'改为'评论区回复',避免台词中出现'扣'字 2026-05-27 14:20:27 +08:00
小鱼开发 4a295e6e0d fix(vidu): 回调签名头大小写不敏感匹配
dict(request.headers) 的 key 为小写(x-hmac-signature),代码用大写(X-HMAC-SIGNATURE)获取导致全为None。建立小写查找表统一处理。
2026-05-27 09:40:45 +08:00
小鱼开发 63e0ffeaea fix(vidu): 回调签名使用 APP_BASE_URL 构建 URL,添加调试日志
- vidu_callback 改用 APP_BASE_URL 构建 callback_url,避免 Nginx 代理导致 scheme 不一致
- verify_signature 增加详细调试日志,打印 signing_string 和签名对比
2026-05-27 09:34:59 +08:00
小鱼开发 2797583d81 fix(points): 登录后调用 fetchBalance 加载积分余额,修复显示为0的问题 2026-05-27 09:24:39 +08:00
小鱼开发 10fc4092b2 bump version to 1.6.5 v1.6.5 2026-05-26 23:37:05 +08:00
小鱼开发 cc2e3f639c fix(tauri): 修复 updater 重启失败和 IPC CSP 报错
- capabilities: 添加 process:allow-restart,解决更新后无法自动重启
- CSP: connect-src 增加 ipc://localhost/*,匹配带路径的 IPC 请求
2026-05-26 23:35:16 +08:00
小鱼开发 6c64189c70 fix(update): check_update 兼容同平台多包,优先返回 updater 包
- scalar_one_or_none() 在 release_id+platform+architecture 多行时抛异常
- 改为查询全部后取第一个,按 signature desc 排序优先 updater 包
2026-05-26 23:28:09 +08:00
小鱼开发 d84a4e9d65 fix(db): 放宽 release_package 唯一约束,支持同平台多文件(dmg + app.tar.gz)
- 唯一约束从 (release_id, platform, architecture) 改为包含 filename
- 新增 Alembic 迁移 7d855b38fe83
2026-05-26 22:57:20 +08:00
小鱼开发 7f522f5b83 feat(release): 发版脚本支持扫描 dmg 安装包
- 新增 .dmg 文件扫描逻辑,给 macOS 新用户首次安装使用
- dmg 无签名文件,signature 设为空字符串
2026-05-26 22:52:10 +08:00
小鱼开发 d2220ac176 fix(bump-version): 脚本自动提交后再打 tag,避免 tag 落在旧 commit 上 2026-05-26 20:00:03 +08:00
小鱼开发 790cf3a7fb bump version to 1.6.4 v1.6.4 2026-05-26 19:54:02 +08:00
小鱼开发 943358bafc bump version to 1.6.3 2026-05-26 19:21:23 +08:00
小鱼开发 9ca07ff571 fix(cover): 封面主副标题位置固定化
- 主标题固定 top=200,副标题固定 top=380,不再根据封面形象高度和文字行数动态计算
- 清理未使用的 avatarTop、hasAvatar、mainTitleHeight、subtitleHeight 变量
- 补全 renderCover useCallback 依赖数组(增加 loadAvatarImage)
v1.6.3
2026-05-26 18:54:42 +08:00
小鱼开发 9df8572512 Merge branch 'master' of http://git2.haodian.cn/xiaoyu/meijiaka-zy 2026-05-26 18:31:17 +08:00
meijiaka-dev 7b53abf37b fix(video-preview): 统一本地/网络视频预览,修复首次加载黑屏与 loading 状态
- Rust: transcode_for_preview 支持网络视频下载缓存,统一走转码流程
- Rust: rename 后 sync_all 文件数据+目录项,避免 WebKit 首次读取不完整
- Rust: 视频缓存上限从 500MB 调至 2GB
- 前端: handlePreview 统一处理本地/网络视频,不再直接设网络 URL
- 前端: 修复 previewVideoUrl 为 null 时 loading 动画不显示的问题
- 前端: 去掉 video preload=metadata,加 ref + onCanPlay 兜底播放
- 工程: .gitignore 忽略 sidecar binaries,修复 engine.rs unused warning
2026-05-26 18:29:34 +08:00
小鱼开发 cf3ea8d619 fix(cover): 修复 Windows 上封面主副标题位置跑到底部的问题
- 当封面形象加载失败或未选择时,回退到模板固定位置,避免文字堆在画布底部
- 增加封面形象加载失败的 console.warn 日志
- 修正 FONT_FAMILY 字体名 DouyinSans -> DouyinSansBold
2026-05-26 17:59:57 +08:00
小鱼开发 af734eb6ca fix: 应用启动时预加载积分规则,修复按钮显示默认值问题 2026-05-26 17:35:32 +08:00
小鱼开发 2b35a9ced0 feat: 封面人物形象 + 素材匹配优化 + Windows 预览修复
- 新增 cover_avatar 积分类型和弹窗支持
- Modal 组件支持 maxHeight 属性
- 素材匹配增加 loading 状态(匹配中...)
- 修复 Windows 视频预览:统一 handlePreview、preload=metadata、修复 Rust UNC 路径
- 修复进度条倒退问题
- 更新运营脚本
- 新增 Windows 11 开发环境搭建文档
2026-05-26 15:40:21 +08:00
小鱼开发 993d6e0c78 chore(release): bump version to 1.6.2 2026-05-26 10:25:17 +08:00
小鱼开发 e35b0f0bbb fix(rust): Windows 路径验证失败(canonicalize UNC 前缀不匹配)
在 Windows 上 std::fs::canonicalize() 会返回 \?\ 前缀的 UNC 路径
(如 \?\C:\Users\...),但 get_app_data_dir() 返回普通路径格式
(C:\Users\...)。PathBuf::starts_with() 做组件级比较时两者前缀
类型不同导致返回 false,所有本地文件操作都被错误拒绝。

修复:对允许目录也做 canonicalize(),使两边格式一致后再比较。

影响文件:
- ffmpeg_cmd.rs: validate_safe_path()
- commands/product.rs: delete_local_product, rename_local_product,
  export_product
2026-05-26 10:24:37 +08:00
小鱼开发 8cddaec70e chore(release): 优化发布脚本并统一表名
- publish_release.py: 自动加载.env,macOS Universal拆分为x86_64+aarch64,七牛云目录按平台区分
- 重命名表 mjk_release_packages -> mjk_app_release_packages,同步约束名
- 更新相关文档
2026-05-26 10:13:52 +08:00
小鱼开发 915339d42a release: bump version to 1.6.1
Frontend fixes:
- fix(VideoCompose): clear step dirty flag after compose success
- refactor(MyWorks): play product videos directly without transcode cache
- feat(CoverDesign): swap main/subtitle positions in cover preview
- fix(SubtitleBurning): charge points after burn success instead of before
- fix(VoiceSynthesis/VideoGeneration/SubtitleBurning/CoverDesign): mark downstream steps dirty on re-generation
- fix(MyWorks): bind video event listeners after async videoUrl load
- fix(CoverDesign): revoke Blob URLs on upload/unmount to prevent memory leak
2026-05-25 22:35:35 +08:00
小鱼开发 33265df299 style(settings): 关于区块版本号垂直布局排版 2026-05-25 01:41:56 +08:00
小鱼开发 4af42c157e fix: BGM 混音链路修复——URL 先下载到本地缓存再混音
- fix: 删除 BGM 预览硬编码开发者路径,改为使用 url 字段
- fix: BGM 混音前检测是否为 URL,先下载到 bgm_cache 本地缓存
- fix: Rust mix_bgm_to_video 恢复 validate_safe_path 校验,拒绝 URL
- feat: 新增 bgm_cache 目录及自动清理策略(30天/200MB上限)
- feat: Settings 缓存清理扩展为媒体缓存(video + BGM 统一清理)
- chore: BGM url 字段改为后端必填,同步 schema/model/seed/迁移
2026-05-25 00:54:17 +08:00
小鱼开发 818fe7cc03 release: v1.6.0
- fix: finalVideoDuration 遗漏导致切换项目时残留旧值且无法保存
- feat: BGM 云端化(129 首上传七牛云,数据库保存 URL)
- feat: BGM 弹窗改为分类+列表+试听交互
- feat: 步骤页面 UI 统一(按钮规范、预览状态、去掉图标)
- feat: CoverDesign 视觉重构(绿色边框、角标、hover 遮罩)
- fix: 消除积分预检硬编码(CoverDesign/SubtitleBurning/VideoCompose)
- fix: success 提示积分去掉硬编码
- fix: BGM/封面形象持久化到 meta.json
v1.6.0
2026-05-24 22:16:46 +08:00
小鱼开发 c6e3e6dd25 fix: success 提示中的积分消耗去掉硬编码
CoverDesign: 2 → coverDesignPoints
SubtitleBurning: 2 → subtitleBurnPoints
VideoCompose: 5 → composePoints
ScriptCreation: 5 → scriptPoints
2026-05-24 21:42:08 +08:00
小鱼开发 daba6dcc14 fix: 消除积分预检硬编码,统一使用 getRule() 动态读取
CoverDesign: 预检 COVER_POINTS=2 → getRule('cover_design')?.points || 2
SubtitleBurning: 预检 SUBTITLE_POINTS=2 → getRule('subtitle_burn')?.points || 2
VideoCompose: 预检 COMPOSE_POINTS=5 → getRule('compose')?.points || 5

确保预检口径与扣费口径一致,避免后端规则调整后出现余额误判
2026-05-24 21:29:04 +08:00
小鱼开发 6a2302401f fix: 修复 BGM 弹窗和封面持久化的多个 bug
VideoCompose:
- 修复 Audio 对象泄漏:弹窗关闭/组件卸载时清理 onended 回调
- 修复 bgmMusicId=0 被误判为未选择(falsy 判断改为 !== undefined/null)
- 修复 Slider 进度条不随值变化:动态传入 --slider-percent CSS 变量
- 修复试听无 url 时无法播放:回退到 filePath 拼接本地路径
- 去掉 webkitRelativePath 错误回退
- 弹窗默认分类:打开时根据当前选中 BGM 的 category 自动切换标签
- 本地上传 BGM 弹窗内显示当前选中提示条(含清除按钮)

CoverDesign:
- 自动保存去掉 trim(),避免输入时吃掉末尾空格
- 缩小自动保存依赖范围,只监听 backgroundImage/avatarImage

VideoGeneration.css:
- 本地上传提示条样式
2026-05-24 20:43:54 +08:00
小鱼开发 b76252b0ac fix: BGM/封面形象持久化 + 滑块颜色
- localStorage.saveMeta 的 orderedMeta 补充 bgmMusicId/bgMusicTitle/bgmMusicPath/bgmVolume,修复 BGM 数据无法写入 meta.json
- CoverDesign 新增 useEffect:背景图/形象变化时自动防抖保存 coverConfig
- VideoCompose BGM 音量滑块添加 slider-input 类,使用主题绿色替代浏览器默认蓝色
2026-05-24 20:34:52 +08:00
小鱼开发 bb84cb5604 style: BGM 分类标签圆角改为中等(去掉椭圆形) 2026-05-24 20:24:28 +08:00
小鱼开发 184ab8bce3 feat: BGM 弹窗改为分类+列表+试听交互
- 顶部分类标签栏(全部/知识科普/案例展示/促销活动/家居生活/智能家居)
- 列表布局:每项含试听按钮、标题、时长、选中标记
- 试听功能:点击圆形按钮播放/暂停,播放中按钮呼吸动画
- 选中 BGM 后关闭弹窗,本地上传入口移至底部
- 弹窗关闭时自动停止音频播放
2026-05-24 20:22:57 +08:00
小鱼开发 2c9e0f0015 feat: add BGM seed data and seed script for deployment
- bgm_seed_data.json: 129 首 BGM 元数据(含七牛云 URL)
- seed_bgm.py: 部署环境初始化脚本,容器内直接运行
2026-05-24 20:09:50 +08:00
小鱼开发 06ec0ee202 feat: BGM 云端化 + 步骤页面 UI 统一重构
后端:
- 新增 BGM 数据库模型、Schema、CRUD、API 路由
- BgmMusic 增加 url 字段存储七牛云地址
- Alembic 迁移: 创建 BGM 表 + 添加 url 字段
- import_bgm.py 导入时自动上传七牛云 (meijiaka-zy/bgm/...)

前端:
- VideoCompose BGM 选择改为卡片弹窗 (系统BGM + 本地上传)
- 去掉 BGM 硬编码本地路径, 直接使用云端 URL
- CoverDesign 视觉重构: 绿色边框卡片、角标、hover 遮罩
- CoverDesign 去掉预选背景, 默认空白需手动选择
- 所有步骤按钮规范统一: 左=重新生成(主色), 右=导出/预览(次色)
- 预览按钮状态统一: 文字变为'视频预览中...', 保持 btn-secondary
- 去掉所有步骤按钮的 svg/emoji 图标

Rust:
- mix_bgm_to_video 支持临时文件保护 (输入输出同路径时自动中转)
- FFmpeg BGM 混合使用 aloop 循环 + amix 滤镜
2026-05-24 15:39:54 +08:00
小鱼开发 616649c872 feat(cover-avatar): 前置余额检查 + 积分不足弹窗(与声音复刻一致) 2026-05-23 11:13:17 +08:00
小鱼开发 fae2a77734 feat(ui): 封面形象余额不足时不弹 toast;声音复刻弹窗增加积分消耗提示 2026-05-23 11:08:47 +08:00
小鱼开发 53371aabcd feat(image): 封面形象抠图增加积分消耗(每次 10 积分)
- config/points-config.yaml: 添加 cover_avatar: 10 固定积分
- point_service.py: _CATEGORY_MAP 添加 cover_avatar → 封面形象
- image.py: remove_background 接口前置余额检查 + 后置扣费
- CoverAvatarLibrary.tsx: 上传弹窗显示积分提示,余额不足友好提示
2026-05-23 10:59:47 +08:00