ludan
6d68ab02bb
feat: 个人中心账户摘要区重构、主题色调对齐电商
...
【账户摘要区重构】
- 新增 profile-page__account-summary 双列网格布局(主信息 + 右侧指标)
- 主信息区(account-summary-main):显示账号名/任务概览
- 指标区(account-summary-metric):品牌绿色数字展示积分/完成数,左侧分隔线
- 任务概览改为"X 个任务"更自然的表达方式
- 替代旧 upload-card--meta/meta-item 类名体系
【主题色调对齐】
- 个人中心页面背景、侧边栏、卡片统一为电商同款平坦暗色
- 移除 box-shadow 深度阴影,使用 var(--bg-panel)/var(--bg-inset) Token
- Tab 切换按钮透明背景,选中态品牌绿边框+浅绿背景
- 统计卡片/简介/Bio/媒体预览卡片统一边框与背景色
- 媒体徽章、分享按钮、头像环去除阴影
2026-06-04 18:06:43 +08:00
ludan
2b65206b84
feat: 电商克隆上传交互升级、视频模型选择器图标
...
【电商克隆 - 商品图上传交互重构】
- 新增上传预览大图区(clone-ai-upload-preview-wrap),点击缩略图可切换预览
- 选中缩略图增加 is-active 绿色边框高亮
- 预览区显示商品图编号 + 尺寸/比例/格式信息(formatProductImageSpec)
- 上传区到达 7 张上限时显示"已达上限"、阻止拖拽上传、输入框禁用
- 上传图片自动异步读取尺寸(width/height),无需等待上传完成即可展示
- 已上传素材区重构为列表头(标题+计数)+ 缩略图栈式布局
- 缩略图增加序号角标(1-7),删除按钮独立于缩略图下方
- selectedProductImageId 状态自动管理:删除/新增时自动切换到有效图片
【工作台 - 视频模型选择器图标】
- 新增 VIDEO_MODEL_ICON_URLS 映射(HappyHorse/Pixverse/Vidu/Wan/Kling)
- SelectChip 组件在 chipId=video-model 时显示模型品牌图标
- getVideoModelIconUrl 支持中英文模糊匹配
【样式】
- ecommerce.css: 预览区/素材栈/缩略图选中态/上限态完整样式
- dark-green.css: 主题层微调
2026-06-04 17:27:40 +08:00
OmniAI Developer
51762bb2c2
feat: 拖拽上传、图片缩放预览及新功能脚手架
...
- EcommercePage/WorkbenchPage 增加页面级拖拽文件上传支持
- 上传图片悬停缩放预览效果
- Workbench 参考素材增加图片/视频缩放预览
- CanvasPage 连接菜单位置微调 (-40)
- script-tokens-v5 文本溢出省略号修复
- 新增: CookieConsentBanner, CompliancePage, 电商面板组件, generation store/hooks/service
2026-06-04 17:03:49 +08:00
ludan
05a42ed018
Merge origin/master: resolve CSS conflicts, keep both sides
2026-06-04 16:22:40 +08:00
ludan
9e7bfdd206
Merge origin/master into feat/commercial-saas-polish
2026-06-04 16:07:39 +08:00
stringadmin
c7c52c1467
chore: migrate frontend assets to OSS and same-origin APIs
2026-06-04 16:03:49 +08:00
ludan
fb4011bf1f
feat: 个人中心视觉重构、画布网点背景、剧本评分色调统一
...
【个人中心视觉重构】
- 列表卡片新增媒体预览缩略图(图片/视频/项目/资产),支持 image/video 两种媒体类型
- 新增 renderCardPreview 通用预览组件,自动识别视频格式并渲染 <video> 标签
- 新增 formatAssetType 工具函数,资产类型中文化(角色/场景/道具/视频/图像/素材)
- 媒体卡片采用固定高度网格布局(标题行 18px/正文 36px/元信息 18px),保证列表节奏一致
- 卡片预览区左上角显示类型标签徽章(品牌绿边框+半透明背景)
- 删除按钮增加 hover 红色反馈(边框/背景/文字渐变至红色)
- 积分/任务面板从底部区域移至侧边栏头像下方,减少滚动距离
- 新增 account-card 容器包裹积分/任务切换面板
- 侧边栏统计数据改为 3 列网格布局,每项增加独立圆角卡片样式
- 作品/项目/资产/社区发布四个 Tab 改为均分 4 列网格
- 分区标题增加品牌绿圆点前缀装饰
- 响应式断点:960px(侧边栏双列+内容区单列)、640px(全部单列+标签横向滚动)、420px(紧凑间距)
【画布网点背景】
- 移除 ReactFlow <Background> 组件,改用纯 CSS radial-gradient 圆点背景
- 通过 CSS 自定义属性(--canvas-bg-size/--canvas-bg-dot/--canvas-bg-x/--canvas-bg-y)实现缩放/平移时网点同步
- 网点颜色使用半透明灰蓝(rgba(148,163,184,0.34)),随画布缩放动态调整点间距与大小
【剧本评分色调统一】
- 变量 Token 体系重定义为电商同款暗色面板色调(--v5-bg: #0d0d0f, --v5-panel: #151719)
- 移除所有 box-shadow 和 depth 阴影,改用 inset 顶部光泽线
- 移除 backdrop-filter 毛玻璃效果,统一为纯色半透明背景
- hover 交互简化为边框+背景色变化,取消 transform 浮起动画
- 上传区移除 ::after 径向光晕伪元素
- 已上传态/选中态仅通过 border-color 和背景色微调区分
2026-06-04 13:16:38 +08:00
ludan
b08a7918da
feat: 剧本评分左侧面板滚动优化、电商克隆移动端适配、视觉细节精修
...
【剧本评分左侧面板滚动重构】
- 新增 script-eval-v5-left-main 滚动容器,上传区/AI信息/历史记录统一在容器内滚动
- 底部操作按钮(开始评测/导出报告)独立于滚动区外,始终可见可点击
- 历史评测列表增加 max-height 限制,超出区域内置滚动条
- 自定义窄滚动条(品牌绿半透明 thumb),保持视觉干净
- 短视口(≤760px/820px)压缩上传区和历史列表最小高度
【剧本评分视觉精修】
- 左侧面板增加渐变背景层次与分区微光分割线
- 上传区增加 ::after 伪元素径向光晕,hover 时品牌绿边框增强
- 已上传状态上传区增加绿色边框高亮(is-ready/is-complete)
- 底部操作栏背景层次加深,导出按钮 hover 增加绿色反馈
- 右侧面板增加底部径向渐变,上传引导卡标题提亮
- 顶部状态栏背景加深,模糊效果增强
【电商克隆移动端适配增强】
- 900px/620px/480px 三级断点增加顶部预留空间,避免与导航重叠
- Logo 区域定位从 sticky 改为 static,避免滚动时遮挡内容
- 设置面板在窄屏下调整内边距与边距
【Token 用量页精简】
- 移除指标卡片序号角标,保持卡片视觉简洁
2026-06-04 09:40:28 +08:00
stringadmin
7c6129555b
fix: 修复多个运行时崩溃和功能bug,优化画布连接线和剧本评分
...
- 修复 EcommercePage generateEcommerceImage 调用不存在变量导致运行时崩溃
- 修复 DigitalHumanPage/ImageWorkbenchPage 变量名错误导致页面不可用
- 修复 ecommerceVideoService token 读取用错 key 导致请求 401
- 修复画布连接线在弹窗出现后仍跟随鼠标的问题
- 剧本评分 .docx 文件改为服务端 mammoth 解析(新增 /api/files/extract-text)
- ErrorBoundary 加 key 支持切换页面时自动重置
- Vite proxy 改为指向公网域名 omniai.net.cn
- 新增视频生成历史记录面板和删除确认弹窗
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-04 01:12:51 +08:00
stringadmin
6bb71fcc19
feat: 视频时长滑块支持最大 45 秒,适配广告视频多分镜场景
...
单次视频模型最高 15s,45s 总时长配 3 个分镜刚好每个 15s。
滑块 step 改为 5s,刻度标注 5/15/30/45 秒。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 23:55:15 +08:00
stringadmin
7993435704
fix: 修复视频生成 API 调用链路,确保参考图正确传递到各阶段
...
- 生图阶段:将用户上传的产品图作为 referenceUrls 传给生图模型
- 生视频阶段:同时传递用户原图 + 分镜图给视频模型
- 完整链路:参考图→视觉分析→分镜文本→(文本+原图)→分镜图→(文本+原图+分镜图)→视频
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 23:52:25 +08:00
stringadmin
31bf103d7c
feat: 视频流程树动态节点、全自动流水线、图片/视频点击放大预览
...
- 一键策划后自动连续执行完整流程(策划→图片→视频),无需手动点继续
- 节点数量跟随 API 返回的分镜数动态生成,策划前只显示 1 个占位节点
- 分镜图片和视频可点击弹出全屏预览浮层
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 23:43:34 +08:00
stringadmin
0fc180637c
feat: 电商页面 KeepAlive 保活机制,切换页面不再丢失生成状态
...
通过 display:none 模式实现轻量 KeepAlive,电商页面首次访问后保持挂载,
切换到其他页面再切回时所有右侧面板状态(上传图片、生成进度、结果)完整保留。
同时清理项目中的临时文件和本地冗余图片。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 23:20:57 +08:00
stringadmin
fdf9c43731
merge master, accept theirs for known conflict files
2026-06-03 21:53:47 +08:00
OmniAI Developer
4e95555bda
merge: 解决与 master 的冲突,保留双方改动
2026-06-03 21:43:11 +08:00
OmniAI Developer
8d7f5d9a8a
feat: 图片工作台/镜头实验室/局部重绘/数字人/去水印页面UI优化
2026-06-03 20:36:07 +08:00
stringadmin
db79ee2c80
Revert "merge: re-merge origin/master after rollback, resolve same conflicts"
...
This reverts commit 1546644dec , reversing
changes made to f5a75074a4 .
2026-06-03 20:34:43 +08:00
stringadmin
1546644dec
merge: re-merge origin/master after rollback, resolve same conflicts
2026-06-03 20:33:28 +08:00
stringadmin
1998eb21c5
merge: resolve conflicts with origin/master
2026-06-03 20:23:27 +08:00
stringadmin
f5a75074a4
feat: 邮箱注册验证 + 9项功能修复与优化
...
【认证系统】
- 新增邮箱验证码注册/登录流程 (sendEmailCode / verifyEmail / forgotPassword / resetPassword)
- register-email 现在需要验证码
- 服务端新增 email_verification_codes 表 + patch-email-verification.js
- App.tsx 登录后 emailVerified 检查提醒
- keyServerClient token 显式传递修复 401 错误
【电商模块】
- 自动推进: 策划完成后自动生成分镜图/视频
- 模特图选项 (性别/年龄/种族/体型/场景) 注入 AI 提示词
- 任务持久化指纹修复 (图片数量替代 blob URL)
- 新增「视频换装」入口 (happyhorse-1.0-video-edit)
【剧本评分】
- 新增 .docx/.doc Word 文档支持 (ZIP解压+XML提取)
- 历史记录支持点击查看/恢复评测结果
【画布】
- ReactFlow 节点禁止内置拖拽避免冲突
- 连接线拖拽弹窗优化 (预览线不消失, 弹窗跟踪鼠标)
【页面修复】
- 首页轮播图改为 aspect-ratio: 16/9 解决尺寸问题
- 资产库新增悬停删除按钮
- scriptEvalClient 改用服务端 /api/ai/chat 端点
- TokenUsagePage 未登录跳过 API 调用
2026-06-03 20:19:07 +08:00
OmniAI Developer
7afcfa54c2
feat: 个人中心侧边栏显示、代表作滚动、图片工作台预览样式、首页轮播尺寸调整
2026-06-03 19:15:45 +08:00
ludan
7be4e65e1e
feat: 管理中心Token用量页面SaaS商业化精修
...
【页面状态感知】
- 新增页面级状态类名(is-syncing/has-sync-error/has-low-balance/is-healthy)
- 状态指示灯根据加载/错误/正常动态切换样式与动画
- 加载中禁用刷新按钮,防止重复请求
【工具栏视觉升级】
- 标题增加副标题("用量、成员与模型调用监控")
- 状态胶囊 pill 增加圆点动画(绿色脉冲=在线,琥珀色=异常)
- 按钮增加 hover 品牌绿高亮、禁用态半透明
- 成员管理按钮增加 is-muted-action 弱化样式
【指标卡片精修】
- 四张指标卡片增加序号角标(01-04),左侧彩色竖线标识
- 主卡片(可用额度)增加品牌绿光晕背景 + 绿色竖线
- 卡片增加渐变背景、顶部光泽内阴影、圆角阴影
【数据展示增强】
- 模型消耗分布/系统状态/调用记录标题增加图标
- 模型消耗列表项增加 hover 浮起 + 品牌绿边框
- 调用记录表格增加表头背景、行 hover 高亮、状态标签徽章
- 分页按钮增加 hover 品牌绿填充
【响应式适配】
- 1180px/900px/560px 三级断点完整适配
- 900px:工具栏吸顶、指标卡单列、图表区单列
- 560px:工具栏按钮 2 列网格、状态胶囊全宽、卡片间距缩小
2026-06-03 18:52:14 +08:00
ludan
73a6043310
feat: 剧本评分SaaS化精修、画布视觉升级、电商克隆预览响应式修复
...
【剧本评分页面 SaaS 商业化精修】
- 上传区增加玻璃拟态渐变边框,hover 时高亮为品牌绿
- 已上传文件显示文件名+文件大小,重新上传按钮优化
- 上传按钮文案从"+ 上传剧本"改为"选择剧本",增加图标
- 评测按钮增加 LoadingOutlined/ThunderboltOutlined 图标动画
- 评测等待态增加分步加载提示(结构识别/冲突评估/商业潜力)
- 六维评分柱状图增加 hover/focus 交互:悬停维度高亮,其余维度 dim,底部显示当前维度详细说明
- 评分卡片、报告面板、历史记录项增加渐变背景与阴影层次
- 新增 script-tokens-v5 设计 Token 变量体系
- 响应式断点适配 1180px/900px/680px,移动端左右面板上下堆叠
【画布页面视觉升级】
- 画布背景增加网点纹理 + 径向渐变,增强空间感
- 项目栏/缩放控件增加玻璃拟态毛玻璃效果
- 节点卡片增加渐变背景、内阴影、边框高亮
- 选中节点增加品牌绿外圈光环 + 投影
- 连线 connector 增加 hover 品牌绿高亮
- 节点连线/选区框/缩放手柄统一品牌绿主题色
- 所有编辑器/菜单面板统一玻璃拟态风格
- 移动端 560px 项目栏改为 4 列网格布局,按钮显示中文标签(编辑/最近/导出/提交)
【电商克隆预览响应式修复】
- 短视口(高度≤760px)下预览面板内 header/空状态/底部输入改为静态流式布局
- 平板(≤860px)下预览面板取消绝对定位,改为 grid 流式布局
- 手机(≤620px)缩小间距与最小高度
【其他】
- 个人中心登录注册表单移除 form-kicker 标签
- 品牌色(auth-page__brand)调整为强调绿色
2026-06-03 18:21:10 +08:00
OmniAI Developer
7b41cf3e87
feat: 首页功能页样式与组件更新
2026-06-03 17:28:44 +08:00
ludan
9282e6c0d8
feat: 电商页面视觉精修,全局页面滚动按钮交互简化
...
AppShell.tsx:
- 全局页面滚动操作按钮(floating-page-scroll-actions)暂时关闭
- 后续将通过页面级滚动交互替代全局滚动按钮
EcommercePage.tsx(电商生成页功能增强):
- 预览区header下方新增生成配置摘要条(clone-ai-preview-summary)
- 展示当前选择的输出类型、平台、市场、语言、比例参数
- 方便用户快速确认当前生成配置无误
ecommerce.css(电商页面视觉精修):
- 新增CSS自定义属性体系(ecm-*),统一电商页面颜色/间距/阴影
- 页面背景增加accent径向光晕和半透明渐变叠加
- 设置面板/预览区域卡片增加毛玻璃质感和微阴影
- 文本颜色层级化(ecm-text/ecm-muted/ecm-soft)
- 保持现有布局结构不变,仅提升视觉效果
dark-green.css(暗绿主题电商按钮状态精修):
- 电商页面各工具模块按钮active态增加相对定位和overflow控制
- clone/set/detail/wear工具中is-active按钮状态一致性增强
- 限定在[data-view="ecommerce"]作用域内,避免全局污染
2026-06-03 16:42:57 +08:00
ludan
f0f6f66d60
feat: 登录注册表单体验优化、工作台滚动按钮交互增强、主题层视觉精修
...
ProfilePage.tsx(登录/注册表单优化):
- 新增邮箱格式、手机号、密码强度前端校验逻辑
- 输入框内联校验提示(CheckCircleFilled图标+绿色文字)
- 登录态展示区增加平台能力Stats(Studio/Assets/Team)
- 表单增加kicker标签区分"账户登录"/"新用户注册"
- 手机验证码tab标签精简为"手机"
WorkbenchPage.tsx(工作台滚动交互增强):
- 新增滚动操作按钮显隐状态管理(scrollActionsVisible/direction)
- 滚动时自动展示上下滚动按钮,950ms后自动隐藏
- scrollMessagesToLatest触发时间接展示滚动按钮
- 组件卸载时清理定时器避免内存泄漏
dark-green.css(主题层视觉精修):
- 工作台激活态页面背景增加微光渐变和径向光晕
- 消息表面区域增加内边距和scrollbar-gutter稳定布局
- 消息列表最大宽度约束为1040px,左右padding自适应
- 消息气泡增加边框、背景、阴影层次感
- AI助手气泡与用户气泡差异化背景色
- 头像增加微边框和accent色区分
- 作者标签字号和颜色精细调整
2026-06-03 15:38:52 +08:00
stringadmin
56dabf1f7d
fix: 电商视频生成链路稳定性 — AI超时/重试/断点续传 + 404页面 + DashScope Key移除
...
- adVideoPlanClient: 模型级联降级(qwen-max→plus→turbo), 5xx/网络错误可重试, 超时延长至180s, 错误信息包含上游响应体
- 服务端ai/chat: 超时60s→120s, AbortError返回504(非500), PM2已热重载
- EcommerceVideoWorkspace: 策划失败后支持从断点继续(保留已完成步骤的中间产物), 分镜图/视频生成仅重做失败场景
- scriptEvalClient: 移除客户端DASHSCOPE_API_KEY引用(Nginx代理注入)
- NotFoundPage: 未知路由显示404页面(替代兜底跳首页)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 12:16:33 +08:00
ludan
da45196c6e
Merge remote-tracking branch 'origin/master' into feat/profile-ui-polish
2026-06-03 10:48:48 +08:00
stringadmin
d70f7a231f
fix: 首页电商模板图片改为线上URL,解决其他开发者本地缺失文件导致构建失败
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-03 10:45:58 +08:00
ludan
da06187a9c
Merge branch 'master' of http://118.145.251.184:3000/OmniAI/omniai-web into feat/profile-ui-polish
2026-06-03 09:55:15 +08:00
ludan
87d81d2c86
feat: 个人中心界面UI优化,提升商业产品精致度
...
ProfilePage组件优化:
- 新增个性签名编辑功能(内联编辑/确认/取消交互)
- 新增 icon 导入(EditOutlined, CheckOutlined, CloseOutlined)
- 新增 formatProfileDate 工具函数,统一日期格式化(中文友好)
- 新增 formatTaskType 函数,任务类型中文化显示
- 新增 formatTaskStatus 函数,任务状态中文化显示
- 新增 formatAssetStatus 函数,资产状态中文化显示
- 优化空状态展示,增加图标占位
dark-green主题层样式增强:
- 个人中心背景增加微光渐变(accent光晕+半透明遮罩)
- Banner区域高度优化为214px,增加底部渐变分割线
- Banner叠加层增加径向光晕效果
- Banner编辑按钮增加毛玻璃质感(backdrop-filter)
- 侧边栏/主体/选项卡/列表卡片等多处细节增强
- 按钮、标签、统计数字等组件加入微交互
- 保持暗绿主题配色体系不变,仅提升精致度
2026-06-03 09:53:05 +08:00
stringadmin
4ed02aaad5
feat: 错误监控面板、生成通知、社区搜索、任务队列优化
...
- AdminMonitor: admin用户可见的客户端错误实时监控面板,右下角浮窗
- generationNotifier: 生成完成浏览器通知 + 站内Toast
- CommunityPage: 新增搜索框,标题/描述/标签模糊匹配,防抖300ms
- App.tsx: 全局unhandled error/rejection监听上报
- WorkbenchPage: 任务并发提示改为显示当前任务数
- serverConnection: 后端client-errors路由注册
- WelcomeSplash: 欢迎按钮全程显示
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-06-03 02:01:21 +08:00
stringadmin
468d1d27dd
fix: 全站页面保活机制、登录拦截优化、UI修复与功能完善
...
- 移除未登录全页面拦截,改为浏览自由 + 功能使用时弹窗
- 修复PageTransition退出动画卡死导致黑屏的bug
- CanvasPage添加加载中状态避免首次访问黑屏假死
- 全站7个工具页添加页面保活机制,切页后台任务不中断
- 修复未登录时401误触发"用户已在别处登录"弹窗
- 删除MorePage模板板块、微信登录、EcommerceTemplates/SizeTemplate路由
- 剧本评分接入DashScope qwen3.7-max直连API
- 电商视频生成重构为3阶段可视管线(策划→生成图片→生成视频)
- 电商视频保活增强:异步函数直接写localStorage避免卸载丢失
- Workbench侧边栏移除mode过滤,三模式共用同一对话列表
- 首页更新轮播图/背景视频、按钮跳转修正、文案优化
- AppShell顶栏新增网站备案信息按钮
- 多个页面的terminate/cancel按钮覆盖、单镜头重试、批量保存下载
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-06-03 01:39:06 +08:00
stringadmin
8f57e08004
Merge branch 'master' of http://118.145.251.184:3000/OmniAI/omniai-web into fix/ecommerce-video-400-bug
2026-06-02 23:26:23 +08:00
OmniAI Developer
1cac62d14a
feat: 首页下方剧本评测展示页替换为ScriptReviewShowcase,团队token监控替换为ModelGenerationShowcase
2026-06-02 22:45:16 +08:00
stringadmin
ec9204437d
feat(ecommerce): dynamic set image count + per-type API calls
...
Previously all 4 image tools generated a single image and duplicated
it across 5 fixed card slots. Now:
- Set (套图) mode: uses cloneSetCounts (卖点图/白底图/场景图 quantity)
to determine how many images to generate. Each type gets its own
createImageTask call with a type-specific prompt, so images differ
by category (selling-point vs white-background vs lifestyle scene).
- Preview cards are dynamically built from cloneSetCounts, not from
the fixed 5-slot productSetPreviewCards template. A card labeled
"卖点图 1", "卖点图 2" etc for count > 1, or just "卖点图" for
count = 1.
- clonePreview: shows dynamic card grid for set mode, single result
for detail/model/hot modes.
- setPreview: shows original image as main card, then all generated
set cards in the grid.
- generateSetImages: new async function that loops over each count
type and generates images sequentially with distinct prompts.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 22:09:12 +08:00
OmniAI Developer
d4d8cc528d
feat: 剧本评测页面支持更多文本文件格式上传,优化历史记录排序和UI交互
2026-06-02 21:36:44 +08:00
stringadmin
51b711226e
fix(ecommerce): show generated images in all tool previews
...
The set/detail preview areas were using static placeholder images
instead of the API-generated results. Fix:
- Add productSetResultImages state for set tool results
- Add detailResultUrl state for detail tool results
- Create setPreviewCards (like clonePreviewCards) that overlays
generated URLs onto static card templates
- Replace setPreview JSX references from productSetPreviewCards
to setPreviewCards so generated URLs are displayed
- Replace detailPreview longPage image with detailResultUrl fallback
- Update handleSetGenerate setResultFn to save URLs via
setProductSetResultImages
- Update handleDetailGenerate setResultFn to save URL via
setDetailResultUrl
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 21:31:43 +08:00
stringadmin
b07ff439f3
feat(ecommerce): replace mock image generators with real gpt-image-2 API calls
...
All four image tools (套图, 详情图, 模特图, 爆款图复刻) previously used
setTimeout + static sample images. Now they:
1. Upload product images to OSS via uploadAssetBinary
2. Build contextual prompts including platform/ratio/language/market + user text
3. Call aiGenerationClient.createImageTask with model=gpt-image-2
4. Poll task status via waitForTask (SSE + fallback polling)
5. Display the generated result URL in the preview grid
Key changes:
- Add ServerRequestError + waitForTask imports
- Add imageAbortRef for task cancellation
- Add uploadCloneImages() (generic version of uploadProductImages)
- Add buildEcommerceImagePrompt() with output-type-specific instructions
- Add generateEcommerceImage() orchestrating upload → prompt → API → result
- Replace all 5 mock handlers (handleGenerate, handleSetGenerate,
handleDetailGenerate, handleTryOnGenerate, handleGenerateModel) with
real async API calls
- Handle 402 (Payment Required) with user-friendly error message
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 21:19:52 +08:00
stringadmin
3f19829126
fix(ecommerce): handle 402 Payment Required — stop rendering loop and show balance warning
...
When the server returns 402 (balance insufficient), the rendering loop
continued submitting all remaining scenes, each failing with the same 402.
Now it immediately stops the loop, sets a clear "余额不足,请充值后再生成视频"
error message, and aborts further scene submissions.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 19:42:20 +08:00
stringadmin
5fcd225825
fix(ecommerce): video 400 error — use OSS URLs instead of data URLs for video generation
...
The renderScene function was passing local data URLs (data:image/png;base64,...)
as imageUrl and referenceUrls to createVideoTask, which the /api/ai/video endpoint
rejects with 400 Bad Request. The planning phase already uploads images to OSS
but the resulting URLs were not returned to the component.
- Add imageUrls field to EcommerceVideoPlanResult
- Return OSS imageUrls from runVideoPlan alongside existing plan data
- Use planResult.imageUrls[0] in handleRender instead of productImageDataUrls[0]
- Use planResult?.imageUrls[0] for sourceImage display fallback
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 19:37:29 +08:00
OmniAI Developer
dd69b295c2
Merge origin/master into feature/首页和下方的功能页面 - 解决冲突
2026-06-02 19:05:43 +08:00
OmniAI Developer
05e4f5b4b3
feat: 首页增加工具箱功能区、剧本评测可视化展示;重构剧本评分页面UI
...
- 首页新增工具箱功能区(ToolboxSection),展示四大AI工具卡片
- 首页剧本功能区替换为六维柱状图可视化(ScriptReviewVisual)
- 剧本评分页面(ScriptTokensPage)全面重构为新版UI布局
- 左侧面板:上传区、AI识别信息、历史评测(持久化)、操作按钮
- 右侧:剧本输入区、评测结果Hero、六维柱状图、亮点/扣分点、优化建议表格
- 历史评测支持localStorage持久化,按时间倒序排列
2026-06-02 18:58:13 +08:00
stringadmin
6b9953625e
feat: UI interaction polish — exit animations, hover effects, directional transitions
...
- Add AnimatedPanel component with CSS transition-based enter/exit for
Profile popover and Notification panel (140ms scale+fade)
- Add nav-activate-pulse animation for floating-nav active indicator (320ms glow)
- Add tool-panel-fade-in crossfade when switching ecommerce tools
- Add carousel-card-label slide-up-in 260ms on active carousel card
- Add feature-visual img hover scale(1.03)+brightness, experience-route hover translateY(-2px)
- Add community-case-card--mosaic hover scale(1.02)+shadow lift
- Add directional PageTransition: forward→slideX(20px), backward→slideX(-20px)
- Move vite proxy target from hardcoded IP to VITE_DEV_PROXY env variable
- Add .env.example for developer onboarding
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 18:31:39 +08:00
stringadmin
93a538d51d
feat: UI animation enhancements across all major pages
...
P1 - Critical UX feedback:
- Add scale-in + slide-up-in entrance animations to profile popover and notification panel
- Port SmoothedProgressBar to EcommercePage (4 generation tools: clone, detail, tryOn, productSet)
- Add result-reveal stagger animation to ecommerce result grids
- Add heart-pop spring animation to CommunityPage favorite toggle
P2 - Visual polish:
- Add scroll-entrance IntersectionObserver animations for HomePage feature sections and experience section
- Add chat-message-in entrance animation to WorkbenchPage message rows
- Fix prefers-reduced-motion accessibility in WelcomeSplash canvas (skip animation, instant entry)
P3 - CSS consolidation:
- Remove conflicting .page-motion definition from legacy-pages.css (keep translateY version from legacy-components.css)
- Consolidate skeleton-shimmer: remove opacity-pulse keyframe from primitives.css, unify with gradient sweep
- Wire up --ease-spring token for heart-pop animation
- Add :active press states (scale 0.97) to topbar buttons, brand lockup
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 17:37:51 +08:00
stringadmin
7d446dfc5f
Merge branch 'master' into feat/script-eval-deepseek-v4
2026-06-02 09:02:46 +00:00
stringadmin
9504f8ee87
fix(ecommerce): replace base64 upload with binary blob in video service
...
runVideoPlan was passing blob URLs as "dataUrl" to uploadAssetWithProgress,
which sent them to /api/oss/upload (base64 path). Blob URLs don't match
DATA_URL_PATTERN regex, causing corrupt 44-byte files on OSS.
Now uses uploadAssetBinary (FormData multipart) via /api/oss/upload-binary,
fetching blob → uploading binary directly, same as EcommercePage path.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 16:16:09 +08:00
ludan
d1b5d64bc8
feat: 升级剧本评分系统为 DeepSeek V4 多维评分体系
...
变更内容:
- scriptEvalClient: 替换系统提示词为 DeepSeek V4 完整版(六维评分细则、
评分类别、评分铁律、等级标准),维度满分调整为 hook 20/plot 20/
character 18/dialogue 15/visual 15/content 12,总分算法改为直接累加,
模型使用 qwen3.7-max,增加请求链路 console 日志
- ScriptTokensPage: 同步维度满分和描述(角色塑造 18、内容深度 12),
增加页面挂载和评测流程的 console 日志
- vite.config: esbuild.drop 移除 "console",保留 "debugger",
确保开发环境 console 日志正常输出
2026-06-02 16:04:26 +08:00
stringadmin
44c748b0dc
feat(ecommerce): use FormData binary upload instead of base64 dataUrl
...
- Add uploadAssetBinary method to aiGenerationClient (FormData + busboy)
- Replace base64 dataUrl upload in uploadProductImages with direct blob upload
via /oss/upload-binary multipart endpoint
- This eliminates the DATA_URL_PATTERN regex parsing bug that produced
44-byte corrupt files on OSS, causing DashScope "image format illegal" errors
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 16:03:50 +08:00
stringadmin
160552b45e
fix(ecommerce): 502 bug - vision model upgrade + MIME normalization + fallback
...
- Upgrade VISION_MODEL to qwen3.7-plus (latest, confirmed working with image_url)
- Add VISION_FALLBACK_MODEL = qwen-vl-plus for retry on "image format" errors
- Normalize upload MIME types: unsupported formats (HEIC/AVIF) fall back to image/png
to prevent server saving as .bin which DashScope can't read
- Server-side: add image/avif, image/heic, image/heif to MIME_EXTENSIONS
Root cause: DashScope returned "image format is illegal" when uploaded images
had unrecognized MIME types → saved as .bin → DashScope couldn't decode.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 15:20:23 +08:00