Commit Graph

181 Commits

Author SHA1 Message Date
小鱼开发 603650cfb3 bump version to 1.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
小鱼开发 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
小鱼开发 10fc4092b2 bump version to 1.6.5 2026-05-26 23:37:05 +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
小鱼开发 790cf3a7fb bump version to 1.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
小鱼开发 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
小鱼开发 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
小鱼开发 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
小鱼开发 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
小鱼开发 db34090d5d feat(image): 人物描边宽度从 10px 调整为 20px 2026-05-23 10:10:21 +08:00
小鱼开发 d18e705a99 feat(image): 抠图增加人物白色描边(need_contour + contour_color + contour_size + need_crop_background)
- provider: 增加 need_contour/contour_color/contour_size/need_crop_background 参数
- service: 默认 scene=human,human/product 场景自动启用白色描边 + 裁剪背景
- adapter: 透传新参数到 provider
- API: scene 默认值改为 human
- 前端: removeBackground 默认 scene 改为 human
2026-05-23 10:04:34 +08:00
小鱼开发 6011225eec fix(image): 抠图结果下载后转存七牛云,解决前端 CORS 跨域加载失败 2026-05-23 09:50:40 +08:00
小鱼开发 222c468681 fix(mediakit): 兼容火山引擎抠图API的两种响应格式(code/data 和 success/result) 2026-05-23 09:44:27 +08:00
小鱼开发 430aea4aa8 fix(image): 增强抠图失败时的诊断日志,记录原始响应内容 2026-05-23 09:39:38 +08:00
小鱼开发 8a5f0ace34 fix(update): 204 响应不通过 HTTPException 抛出,避免 Content-Length 校验失败 2026-05-23 09:24:53 +08:00
小鱼开发 f01f2c366a feat(cover-avatar): 封面形象功能
后端:
- 新增 POST /upload/image 图片上传(七牛云 image bucket)
- 新增 POST /image/remove-background AI 抠图(火山引擎 MediaKit)
- 提取 file_validation.py 共享模块

Rust:
- 新增 cover_avatar.rs 存储层(cover_avatars.json + 图片本地存储)
- 新增 4 个 IPC 命令:load/save/delete/save_image

前端:
- 新增 CoverAvatarLibrary 页面(内容管理 → 封面形象)
- 新增 coverAvatar API 模块和 coverAvatarStore
- 封面设计集成:背景图/封面形象弹窗选择 + Fabric.js 叠加
- 优化左侧布局:视觉素材横向卡片(9:16)+ 文案配置分组
2026-05-22 18:38:18 +08:00
小鱼开发 1a0679049e refactor(profile): restore recent transactions table
Replace menu list (使用明细 + 设置) with recent transactions table:
- Add back recentTx state and loading state
- Fetch last 5 transactions in loadData
- Display table with type/amount/description/time columns
- Add '查看全部' link to usage-detail page
- Remove unused icon components (FileTextIcon, SettingsIcon, ChevronRightIcon)
2026-05-22 15:02:11 +08:00
小鱼开发 2cece72abe feat: 用户白名单免验证码登录
- Settings 新增 SMS_CODE_WHITELIST 配置(逗号分隔手机号)
- login_with_sms 中白名单手机号跳过验证码校验
- 方便内部测试和演示账号使用
2026-05-21 16:32:09 +08:00
小鱼开发 1d7a45618a temp: 启用 Windows DevTools + 清理无用文件 + 修复积分计算 2026-05-20 10:55:43 +08:00
小鱼开发 9ddcb2347d ci: 构建流程优化 - test环境固定/平台选择/版本号自动更新/缓存
- VITE_API_BASE_URL 固定为 dev.tapi.meijiaka.cn(test环境)
- 添加 platform 选择(all/macos/windows),支持单独构建
- 添加版本号自动更新(tauri.conf.json + Cargo.toml)
- 添加 Rust + Node 构建缓存,节省CI额度
- 修复 ViduAdapter parse_callback 运算符优先级bug
- 修复 ViduProvider tts_sync 日志前缀误写
- VoiceSynthesis 空状态UI优化
2026-05-19 15:17:36 +08:00
小鱼开发 dd3864db1f fix: CORS 配置添加 Windows Tauri 生产模式 origin http://tauri.localhost 2026-05-19 11:36:53 +08:00
小鱼开发 88f913b511 revert: remove auto-generated DMG background, pending design 2026-05-19 09:50:56 +08:00
小鱼开发 c04c53e061 chore(release): bump version to 1.5.18 2026-05-18 23:27:24 +08:00
小鱼开发 07bcbc2317 release: v1.5.16 2026-05-18 16:31:58 +08:00
小鱼开发 74fd855d33 feat(points): 充值档位添加积分有效期字段
- config/points-config.yaml: 每个档位添加 validity_days(7/30/90/180/365/0)
- points.py: 支付回调和主动查询补单时根据档位配置设置 batch_expired_at
- RechargeModal: 卡片展示有效期(永久有效 / N 天内有效)
2026-05-18 15:26:54 +08:00
小鱼开发 ddec4a607b fix(prompt): 修复 3 个提示词示例中使用二级分类名的错误 scene
将示例 JSON 中的 scene 从二级分类名改为正确的三级分类名:
- 水电改造5.9.txt: 瓷砖铺贴->墙砖定位-瓷砖铺贴
- 常见问题25选8-5.9.txt: 瓷砖铺贴->墙砖定位-瓷砖铺贴
- 油工进场5.7.txt: 墙面基层->墙固施工-墙面基层
2026-05-17 23:18:41 +08:00
小鱼开发 2d41b58021 fix(prompt): 修复 6 个提示词示例中的截断 scene
示例 JSON 中的 scene 值漏写了 '-施工翻车镜' 后缀,
导致 AI 可能模仿生成截断的 scene 名称,匹配失败。

受影响的文件:
- 半包谈价格5.8.txt
- 装修合同5.8.txt
- 装修监工5.8-2.txt
- 装修监工5.8.txt
- 防水5.7.txt
- 瓦工进场交代5.8.txt
2026-05-17 22:23:43 +08:00
小鱼开发 85f7e5c934 chore(prompt): 强化 24 个提示词的 scene 格式约束
要求 AI 输出 scene 时必须从内置素材库标题中完整原样复制,
包括连字符-前后的顺序,不得调换、缩写或改写。
从源头减少 scene 名称与数据库分类名不匹配的问题。
2026-05-17 21:37:49 +08:00
小鱼开发 2a36e4ec3d fix(material): 支持 scene 名称顺序颠倒兜底匹配
AI 生成 scene 时常将三级分类名中的 '-' 前后顺序写反
(如 瓷砖铺贴-瓷砖完工展示 vs 瓷砖完工展示-瓷砖铺贴),
导致精确匹配失败、素材匹配为空。

- match_material: 精确匹配失败后,尝试倒序匹配
- batch_match: 批量查询时同时查询原始名和倒序名,
  内存中构建 scene->category 映射,优先精确匹配、fallback 倒序
2026-05-17 21:35:44 +08:00
小鱼开发 43e736c32d fix(wxpay): 修复微信下单重入错误
out_trade_no 原格式 MJZ{order.id:012d} 在数据库重建后 ID 从 1 重新开始,
导致与微信支付缓存中的历史订单号冲突,触发 INVALID_REQUEST 重入错误。

新格式加入时间戳:MJZ{timestamp}{order.id:08d},确保全局唯一。
2026-05-17 19:39:43 +08:00
小鱼开发 1f7201f593 fix(schema): 移除 PolishRequest 中错误的字段
PolishRequest 中误入了 message 和 result 字段(应为响应模型字段),
导致后端验证要求请求体必须包含 message,润色接口调用失败。
2026-05-16 15:14:18 +08:00
小鱼开发 d3069d423b perf(material): batch_match 批量查询优化,减少 DB 往返
- CRUD 新增 get_by_names_and_level() 批量查分类
- CRUD 新增 get_active_by_categories() 批量查素材
- CRUD 新增 increment_usage_count_batch() 批量更新 usage_count
- 重写 batch_match:从 N 次 DB 往返降到 3 次(查分类 + 查素材 + UPDATE)
- Redis 改用 pipeline 批量 sadd + expire
- 解决并发/连接池不足导致的间歇性 500 错误
2026-05-16 14:48:28 +08:00
小鱼开发 83b10945c8 feat(points): 新增今日消耗接口 + 个人中心字体调整
后端:
- CRUD 新增 sum_consumed_today() 方法,统计用户今日消费积分总和
- API 新增 GET /points/today-consumed 路由

前端:
- 个人中心积分数字从 40px 改为 32px
- 今日消耗从本地计算改为调用后端接口
2026-05-16 09:46:41 +08:00
小鱼开发 f8fd241d58 chore(prompts): 移除水电材料(sc)分类 2026-05-16 09:22:12 +08:00
小鱼开发 cbd4068776 fix(db): unify table name prefix to mjk_ for update tables
- Rename app_releases → mjk_app_releases
- Rename release_packages → mjk_release_packages
- Update ForeignKey reference and migration file
- Add pre-commit hook: check_table_prefix.py to prevent future violations
2026-05-15 18:28:07 +08:00
小鱼开发 60b4178cff fix(material): _normalize_scene 去除所有 Unicode 空白字符
之前只处理了半角空格和全角空格,换行、tab 等字符会导致
scene 与三级分类 name 匹配失败。改用 re.sub(r'\s+', '', scene)
统一清理所有 Unicode 空白字符。
2026-05-15 17:40:41 +08:00
小鱼开发 ffcbb5105d fix(api): 恢复 /health 根路径健康检查端点
Docker/Nginx 健康检查请求 /health 返回 404,
在 main.py 中重新添加轻量级 /health 端点供负载均衡使用。
2026-05-15 17:08:34 +08:00
小鱼开发 95fa5b6fab fix: 将 /health 路由从根路径移到 /api/v1/system/health
- 原 /health 注册在 FastAPI 根应用上,Nginx 代理 /api/v1/ 前缀无法访问
- 移到 system router 下,外部通过 /api/v1/system/health 访问
- 同步更新 docker-compose.test.yml 和 docker-compose.prod.yml 的 healthcheck 路径
2026-05-15 16:56:28 +08:00
小鱼开发 cb56698836 feat: 应用自动更新系统 + 草稿箱删除 + 分类缓存优化
- 新增 Tauri 自动更新(updater 插件)
  - Rust: 集成 tauri-plugin-updater + tauri-plugin-process
  - 后端: app_releases / release_packages 表 + /update/check API
  - 前端: UpdateDialog 组件 + useUpdater hook + SystemUpdate 手动检查
  - 发版脚本: scripts/publish_release.py(扫描 .sig → 上传七牛云 → 写入数据库)
  - 配置 test 环境域名 dev.tapi.meijiaka.cn

- 草稿箱删除功能
  - DraftListItem 添加删除按钮
  - MyWorks 添加删除确认弹窗 + localProjectApi.deleteProject 调用

- 创作主题分类本地缓存
  - scriptApi.getCategoriesCached() 先读 localStorage 再静默刷新

- TermsModal tab 居中

- 更新应用图标(Big Sur 风格圆角矩形)

- 清理: 删除未使用文件 create_user.py / video-replace-mvp.py / DEPS_*.md
2026-05-15 16:41:57 +08:00
小鱼开发 ada29a48a8 feat: 空镜素材分类&数据入库
- 素材表统一为 mjk_broll_ 前缀(mjk_broll_categories/materials/tags)
- 新增 218 条分类 seed + 2495 条素材 seed(含 ffprobe 时长)
- 新增 Alembic 迁移: rename mjk_* to mjk_broll_*
2026-05-15 15:49:29 +08:00
小鱼开发 17455b405c Revert "feat: 空镜素材分类&数据入库"
This reverts commit 91e5cdefbb.
2026-05-15 15:45:55 +08:00
小鱼开发 91e5cdefbb feat: 空镜素材分类&数据入库
- 重命名素材表 mjk_* -> broll_*,与模型命名保持一致
- 新增 182 个三级场景分类 seed 数据
- 新增 2495 条素材 INSERT SQL(含 ffprobe 时长探测)
- 新增 Alembic 迁移: rename mjk_categories/materials/tags to broll_*
2026-05-15 15:41:23 +08:00
小鱼开发 f20de12fa2 feat: macOS Big Sur 风格图标 + Docker 日志轮转 + 后台运维 SQL
图标:
- 添加白色圆角矩形底板,占画布 80%(四周留透明呼吸边距)
- M 内容占底板 65%,裁剪透明边距后居中
- 底板微妙渐变(#FAFAFA → #F0F0F0)
- 清理原始图标幽灵半透明像素
- 全平台图标重新生成(PNG / ICNS / ICO / Android / iOS)

运维:
- docker-compose.prod.yml & test.yml 添加 json-file 日志轮转
  max-size: 100m, max-file: 5
- scripts/admin-ops.sql: 新增用户、积分赠送、积分补偿、批量补偿
- scripts/generate-rounded-icon.py: 可复用的图标生成脚本

其他:
- prompts 文件重命名为语义化文件名
- .gitignore 移除 binaries/ 忽略(FFmpeg sidecar 需提交)
2026-05-15 11:33:51 +08:00
小鱼开发 de7a6b734f chore(release): bump to v1.5.15
- 统一版本号管理(VERSION + scripts/bump-version.py)
- 添加 GitLab CI/CD 前端多平台构建配置
- 替换应用图标为品牌 logo
- 清理无效文件(tauri.svg, vite.svg, bg-config.json, audio/presets, .DS_Store)
- 修复 ESLint 错误和全部 warnings
- 清理 console.warn,保留 console.error
- 更新 Cargo.toml 元数据(description + authors)
- 更新 .gitignore(dist/, src-tauri/target/, binaries/)
- authStore appVersion 改为动态获取(getVersion)
- 修复 login 错误处理
- 将 FFmpeg sidecar 二进制移出 Git 跟踪(CI 构建时准备)
2026-05-14 23:32:45 +08:00
小鱼开发 8f99d0166b chore: 清理后端未使用文件(307 行)
- 删除 core/health_checker.py(完全未使用)
- 删除 crud/point_batch.py(CRUD 封装未被引用,service 直接用 SQLAlchemy)
- 删除 crud/user_point.py(同上)
- 顺手修复 point_service.py 缺失 logger 定义(ruff F821)
2026-05-14 23:10:46 +08:00