回到 AI智能试衣页实现逻辑
AI智能试衣 · 实现逻辑
异步试衣任务、DashScope 调用、成片落自有 OSS 与主站计费上报的串联说明。
1. 流程摘要
用户在左侧配置模特与服装(含上传),前端将图片以 Data URL 或 URL 形式交给 POST /api/ai-fit/try-on。路由内创建 DashScope 试衣任务并轮询;成功后可将成片转存自有 OSS,再向主站上报一次 try_on 计费(toolKey: fitting-room__ai-fit)。
「我的衣柜」列表通过主站 SSO 代理读写;保存入口在试衣成功后的流程中触发。
2. 关键事项
- 计费锚点:仅在任务成功且结果可展示后打点;余额不足时返回业务错误并避免误入账。
- 幂等与缓存:同一
taskId多次轮询时复用已上传 OSS 的 URL,避免重复存储与重复计费记录。 - 套装预填:读
?id=匹配OUTFITS,预填成功后常用router.replace清理查询串以免刷新重复执行。
3. 核心代码摘录
计费:Gateway createTask + poll finalize(app/api/ai-fit/try-on/route.ts)
// POST → createDashscopeJobFromServer → gatewayLogId
// GET poll 成功 → book-mall jobs/recordInfo → finalizeRequestLog
// BYOK 额度内免费;超额从通用积分池扣轻量包4. 相关页面
试衣间套装的数据与跳转约定见 实现逻辑 · 试衣间套装。