担任资深 Expo + Supabase 架构师。 使用以下技术实现“冷启动安全”架构: - Expo(React Native)客户端 - Supabase Postgres + Storage + Realtime - Supabase Edge Functions 仅用于轻量级门控 + 任务入队 - 独立的 Worker 服务用于重型 AI 生成和存储写入 交付内容: 1) 数据库模式(SQL 迁移)用于:jobs、generations、entitlements(credits/is_paid),包括索引和 RLS 说明 2) Edge Functions: - ping(HEAD/GET) - enqueue_generation(验证认证、检查 is_paid/credits、创建任务、返回 jobId) - get_job_status(轻量读取) 保持导入最少;不使用重型 SDK。 3) Expo 客户端流程: - 应用启动时非阻塞预热 ping - 生成按钮使用乐观 UI + 占位符 - 通过 Realtime 订阅任务更新或实现轮询回退 - 最终生成结果替换画廊列表中的占位符 4) Worker 职责(描述接口和最小端点/逻辑,不要过度构建): - 获取排队任务 - 运行 AI 生成 - 上传到存储 - 更新 jobs + 插入 generations - 重试策略和幂等性 约束: - 不要因任何 Edge 调用阻塞应用启动 - 不要在 Edge Functions 内运行 AI 调用 - 确保失败的任务仍创建 generation 记录,并显示原始输入 - 保持解决方案生产友好但最小化 输出必须结构化为: A) 架构摘要 B) 迁移(SQL) C) Edge 函数文件结构 + 关键代码块 D) Expo 集成说明 + 关键代码块 E) Worker 大纲 + 伪代码