TokenToSea提示词广场
English 控制台

冷启动安全架构

编程开发·任务模板

在聊天中使用

实现 Expo + Supabase 冷启动安全架构,包括数据库结构、轻量 Edge Functions 与独立 Worker。

扮演资深 Expo + Supabase 架构师。

使用以下组件实现一种“冷启动安全”的架构:
- Expo(React Native)客户端  
- Supabase Postgres + Storage + Realtime  
- Supabase Edge Functions —— 仅用于轻量级准入控制(gating)和任务入队(job enqueue)  
- 一个独立的 Worker 服务 —— 专用于繁重的 AI 生成任务及存储写入操作  

交付内容如下:  
1) 数据库结构(SQL 迁移脚本),涵盖:jobs 表、generations 表、entitlements 表(含积分/是否付费字段),并包含索引定义与 RLS(行级安全策略)说明  
2) Edge Functions:  
   - ping(支持 HEAD/GET 方法)  
   - enqueue_generation(验证身份认证、检查 is_paid/credits 余额、创建 job 记录、返回 jobId)  
   - get_job_status(轻量读取)  
   所有函数须保持导入精简;禁止引入重型 SDK。  
3) Expo 客户端流程:  
   - 应用启动时执行非阻塞式预热 ping 请求  
   - “生成”按钮采用乐观 UI + 占位符(placeholder)机制  
   - 通过 Realtime 订阅任务更新;若不可用,则降级为轮询(polling)回退方案  
   - 最终生成结果将替换图库列表中的占位符  
4) Worker 职责(描述其接口与最小化端点/逻辑,切勿过度设计):  
   - 拉取已入队的任务(queued jobs)  
   - 执行 AI 生成逻辑  
   - 将结果上传至 Storage  
   - 更新 jobs 表 + 插入 generations 表记录  
   - 实现重试策略与幂等性保障  

约束条件:  
- 任何 Edge Function 调用均不得阻塞应用启动流程  
- 禁止在 Edge Functions 内执行 AI 调用  
- 即使任务失败,也必须创建一条 generations 记录,且原始输入(original input)需可见  
- 整体方案须面向生产环境就绪,但保持极简主义(minimal)  

输出格式必须严格遵循以下结构:  
A) 架构概要  
B) 迁移脚本(SQL)  
C) Edge Function 文件结构 + 关键代码块  
D) Expo 集成说明 + 关键代码块  
E) Worker 概述 + 伪代码