用 TanStack Start 和 Cloudflare 构建 RapVideoGo:不止是调用 AI 接口

AI 视频产品的界面看着简单:上传一张照片,描述一个想法,点击生成。但在这个按钮背后,应用要回答好几个问题:用户提交了两次怎么办?供应商接受了请求但连接断了怎么办?积分该什么时候扣,失败之后又怎么退回? 我是 RapVideoGo 的开发者,这是一个用参考照片和文字提示生成个性化说唱视频的网页应用。本文讲的是它背后的一些实现决策,尤其是界面和生成服务供应商之间那一层。 ## 技术栈和起点 这个应用用到了: - TanStack Start、React 和 TypeScript 构建网页应用 - TanStack Query 负责客户端数据请求 - Cloudflare Workers 作为应用