48小时内可交付全栈项目:Codex基于Relay JSON原型解析五维契约,生成Spring Boot后端接口与Vue 3前端页面,自动补全路由、Pinia Store及联调链路,最终打包为可部署ZIP。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

用Codex把Relay原型图转成可运行的全栈项目
你手上有Relay设计团队交付的移动端预约类页面原型图,需要在48小时内交付一个前后端可联调、带真实API交互、能走通用户任务流的可用版本,而不是只渲染UI的静态页面。
第一步:让Codex理解原型图的五类契约
打开Codex桌面版,确认模型已切换为GPT-5.5 → 点击左下角设置 → 工作模式选「用于编程」→ 在主界面点击「上传文件」,拖入Relay导出的JSON格式原型数据(不是截图,不是PNG)。
这一步必须传JSON,【传PNG或Figma链接会导致Codex无法解析交互状态和数据流向】。Relay导出时勾选“包含状态机定义”和“导出组件数据契约”,否则后续生成的接口字段会缺失必填项。
上传后,在输入框中输入指令:“基于该Relay原型,提取视觉层(组件结构)、交互层(点击跳转/表单提交/加载态)、数据层(每个页面所需字段及类型)、业务层(预约成功后的通知逻辑与失败降级路径)、工程层(需适配iOS 17+和Android 14的WebView限制),生成一份五维契约清单。”
第二步:生成后端收口代码
方法一:用Spec Coding写明约束再生成
在Codex中新建会话,粘贴上一步输出的「数据层」和「业务层」契约,输入:“按Spring Boot 3.3 + MyBatis Plus规范,生成预约核心接口:POST /api/v1/reservation/create,接收DTO含patientId(Long,非空)、serviceType(String,枚举值限定为'consultation'/'test'/'vaccination')、timeSlotId(String,长度16)、source(String,默认'mobile')。响应返回ReservationResult,含id(String)、status(String)、nextAction(String,取值为'pay'/'confirm'/'wait_review')。要求:自动校验timeSlotId是否存在且未被占用;若冲突,返回code=409,message='时段已被预约'。”
方法二:直接让Codex调用工具链
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
点击Codex右上角「Tool Use」按钮 → 启用「Spring Boot Scaffold Generator」插件 → 在弹窗中选择“REST Controller + DTO + Service + Mapper XML”模板 → 将上一步契约中的字段逐个填入表单 → 点击生成。生成后,Codex会自动在本地沙箱中执行mvn compile验证语法,并高亮出两处错误:一处是枚举校验注解缺失@Valid,另一处是Mapper XML里resultMap未声明type属性——这两处必须手动补全,AI不会自动修复类型系统级约束。
第三步:前端生成与链路对齐
① 在Codex中切换到前端工作区 → 上传同一份Relay JSON → 输入:“按Vue 3 + Pinia + Vant 4规范,生成预约页组件ReservationPage.vue。要求:使用setup语法糖;所有表单项绑定ref变量;提交按钮禁用态由pending状态控制;调用/api/v1/reservation/create后,根据nextAction跳转不同路由(pay → /pay?id=xxx,confirm → /confirm?id=xxx,wait_review → /status?id=xxx);失败toast提示统一用ElMessage.error。”
② Codex生成代码后,不要直接复制进项目。先点击「Compare with Project」按钮,选择你本地Vue工程的src/views目录 → Codex会扫描现有router配置,发现/pay路径未定义 → 自动弹出建议:“检测到nextAction=pai路径缺失,是否生成router.ts新增记录?是/否”。选“是”,它将插入一行{ path: '/pay', name: 'Payment', component: () => import('@/views/Payment.vue') }。
③ 此时前端代码仍不能跑通。因为Pinia store中缺少reservation模块。回到Codex,输入:“基于ReservationPage.vue中使用的useReservationStore(),生成store/modules/reservation.ts,含state(pending: boolean, result: ReservationResult | null)、actions(create: (payload) => Promise
第四步:截图验收与链路闭环
在Codex中点击「Run & Screenshot」按钮 → 它会自动启动本地开发服务器(Vue Dev Server + Spring Boot H2嵌入式DB)→ 加载ReservationPage.vue → 模拟一次完整填写并提交 → 截取三张关键帧:表单页、loading态、跳转后的/pay页面。
截完图后,Codex弹出「Link Validation Report」:显示HTTP请求链路为 ReservationPage → create() → axios.post → Spring Boot Controller → Service → Mapper → H2 DB insert → 返回 → Router.push → Payment.vue mounted。每一步都标注了耗时与状态码,其中Mapper层显示“SQL INSERT executed in 12ms, rows affected: 1”。
最后一步:点击报告页右上角「Export as ZIP」,Codex打包当前生成的所有前后端文件(含已修正的DTO、Controller、Vue组件、store、router变更),生成project-helper-reservation-v1.zip。解压后,执行npm install && mvn clean package即可获得可部署的jar包和dist静态资源。

















