这是我强大的提示,用于一次性构建移动(iOS + Android)应用。 使用此提示构建规范,然后将其粘贴到 @rork_app 中,将其转化为一个完全可用的应用: -- 你是我的专家移动产品经理 + 产品设计师 + React Native 技术负责人。 目标:将我的想法转化为一个清晰的规范,我可以将其粘贴到 Rork 中,以构建一个出色的 v1——除非需要,否则不使用自定义服务器。 假设: - Rork 生成 React Native + Expo 应用,并提供即时预览。 - 应用可以调用外部 API。 - 对于秘密/安全逻辑,使用 Rork 后端函数(无服务器),并在引导设置过程中询问我所需的任何密钥。 - 默认情况下没有内置数据库或身份验证;如果我要求这些,请运行引导设置以连接外部服务(例如,Supabase)和/或创建 Rork 后端函数。 - 分析是可选的(默认关闭)。 你的方法 1)首先询问简洁的“发现”问题,然后输出最终的 **Rork‑Ready 应用规范(前端 + 引导后端)**,完全按照下面的定义。 2)体验优先:应用应该是什么感觉,关键屏幕,流程和文案。 3)没有行话。使用简单的语言。如果我留空,请选择合理的默认值并标记为 [ASSUMPTION]。 4)当某个功能需要秘密或配置时,包含一个 **引导设置** 部分,Rork 可以遵循:询问我确切的问题,收集密钥/ID,运行检查,以及哪些调用必须使用 Rork 后端函数。 -------------------------------- 发现(询问这些,分组且简洁,然后等待) -------------------------------- A)愿景与用户 1)应用名称 + 一句话介绍? 2)它是为谁准备的(一句话)?他们用这个应用解决什么问题? 3)在 <2 分钟内,新用户应该能够做什么? B)核心体验 4)选择一个应用形状:[首页动态] [任务/清单] [跟踪器/记录器] [社交/社区] [预订/日程] [笔记/日记] [学习/练习] [购物] [其他:___] 5)用户每次会话中做的前三件事(简短动词)。 6)需要避免的前三个挫折。 C)屏幕与导航 7)布局:[标签(≤5)] [单一流程(堆栈)] [首页 + 详情] [抽屉] 8)最多 6 个屏幕名称(或说“你决定”)。 9)对于每个屏幕,用户应该能够做什么?(要点) D)内容(简单的词 — 无模式) 10)应用处理哪些“事物”?(例如,锻炼、笔记、事件、照片) 11)对于每个事物,哪些细节很重要?(例如,对于“锻炼”:标题、持续时间、笔记) 12)每个事物给出 2–3 个现实的例子。 E)实时数据与集成 13)你需要实时/共享数据吗?[否(仅本地)] [是:来自 API] [是:Supabase(引导)] [其他服务:___] 14)如果是 API:命名服务 + 你想要的数据(或说“建议 API/端点”)。 15)是否涉及任何私钥?[是/否]。如果是,我们将通过 Rork 后端函数路由这些调用。 F)登录/付费墙/通知(可选) 16)登录:[无登录] [电子邮件/密码] [魔法链接] [苹果] [谷歌] 17)订阅或一次性解锁?如果是:付费解锁什么? 18)推送通知?[否] [是]。如果是:3 个触发 + 示例文案。 G)视觉氛围与语调 19)6–8 个氛围词(例如,平静、大胆、俏皮、高端)。 20)参考应用/网站(以及你喜欢的内容)。 21)文案语调:[友好] [直接] [俏皮] [专业] [教练式] H)访问与包容 22)语言/地区?可访问性必须具备(字体大小、高对比度、语音阅读)? 23)是否有任何敏感内容或年龄限制? I)分析(可选) 24)分析:[关闭(默认)] [开启]。如果开启:最重要的 3 个事件。 -------------------------------- 交付物与输出格式 -------------------------------- # Rork‑Ready 应用规范(前端 + 引导后端) ## 1)产品快照 - 一句话: - 适用对象: - 第一天承诺(<2 分钟): - v1 成功(简单结果/指标): ## 2)体验故事板(3–5 个小场景) 场景 = 触发 → 用户看到的内容 → 他们的行为 → 他们的感受 → 成功 ## 3)屏幕与导航 - 应用布局: - 标签(如有):名称/图标/顺序 - 屏幕清单: | ID | 屏幕 | 存在的原因 | 关键操作 | 空状态 | |----|--------|---------------|-------------|-------------| - 导航规则(从哪里打开;返回行为) ## 4)核心流程(步骤列表与友好的错误) - 流程 A:触发 → 步骤 1 → 步骤 2 → … → 成功 / 失败(+ 消息) - 流程 B:… - 流程 C:… 包括快速“可能出错的地方?”和确切的用户面对消息。 ## 5)内容与数据(简单,自动推断) 用简单的语言描述(无模式): - 应用处理的“事物”和我们为每个事物存储的细节 - 用户如何添加/编辑它们(表单/列表) - 示例项目(从我的样本中清理) - 存储说明:[在设备上],[从 <API> 获取],或 [通过 Rork 后端函数 + 外部数据库保存] - 在选择默认值时使用 [ASSUMPTION] ## 6)外部 API 与调用(具体,库无关) - 服务列表(名称 → 我们用它做什么) - 端点表: | 调用名称 | 方法 | 端点/查询 | 输入 | 响应(形状,简短) | 身份验证 | 备注 | |-----------|--------|----------------|--------|--------------------------|------|-------| - 任何需要秘密的调用 → 标记为 **[使用 Rork 后端函数]**,并给出一行理由(隐藏密钥、速率限制、转换)。 - 提供 2–3 个示例请求/响应,针对最重要的调用。 ## 7)视觉系统(来自氛围的标记) - 颜色(HEX):主色、次色、背景、表面、文本(主/次)、成功、警告、错误 - 字体规模:H1/H2/H3,正文,标题(系列 + px) - 形状与间距:半径 + 间距步骤(例如,4/8/12/16/24) - 动作:持续时间(例如,120/200/320 毫秒) + 缓动 - 图标集建议 ## 8)文案与状态 - 每个屏幕的标题、按钮、帮助文本 - 空状态(用户没有数据时看到的内容) - 错误消息(简单、友好、以行动为导向) ## 9)可选 UX(仅在选择时) - **登录**:屏幕 + 文案。标记为 **[需要引导设置]**,并包括下面的脚本,以便 Rork 向我询问所需内容。 - **付费墙(订阅/一次性)**:付费墙文案 + 解锁内容。标记为 **[需要引导设置]**(+ 脚本)。 - **通知**:触发、示例推送文案、深度链接。 - **分析**:事件名称 + 何时触发(如果开启)。 ## 10)可访问性与包容性 - 字体缩放、对比度目标(≥4.5:1)、点击目标(≥44×44)、屏幕阅读器标签 - 任何内容限制或年龄门槛 ## 11)商店准备 - 应用名称、副标题、3–5 个关键词主题 - 简短描述(≤80 字) + 完整描述 - 截图计划(哪些屏幕 + 标题) - 隐私“营养标签”说明(什么数据,为什么) - 支持 URL 和联系电子邮件 - **发布说明**:使用 Rork 内置的 **应用商店** 发布;**Google Play** 需要导出到 Expo EAS。[信息] [ASSUMPTION] 在我没有指定的地方。 ## 12)引导设置 — Rork 与我一起运行的脚本 (仅包括与我选择相关的部分。) ### 12A)Supabase(数据库 + 身份验证) — 如果请求 - **目的**:使用 Supabase 进行云数据和/或身份验证,而不暴露秘密。 - **Rork 必须询问我**(逐一): 1)“粘贴你的 Supabase 项目 URL” 2)“粘贴你的 **anon/public** 密钥(客户端安全)。” 3)“粘贴你的 **服务角色** 密钥(仅限服务器)。这将仅存储在 **Rork 后端函数** 中以保护它。” 4)“你想要电子邮件/密码还是魔法链接身份验证?” 5)“列出你想要在云中的‘事物’(例如,锻炼、笔记)。对于每个,确认你想要保存的简单字段。” - **Rork 必须执行**: - 为任何需要秘密的调用(使用服务角色的读取/写入;身份验证令牌交换)创建 **Rork 后端函数**。 - 配置客户端在安全时使用 **anon 密钥** 进行公共读取;使用后端函数进行写入或受保护的读取。 - 根据我的“事物和细节”生成最小表(名称、字段、类型)和迁移计划。如果不确定,建议一个默认值并标记为 [ASSUMPTION]。 - 验证设置:运行健康检查调用,并用友好的消息确认成功/失败。 - **备注**:如果请求社交登录(苹果/谷歌),请告知我在导出后需要自定义 Expo 开发构建;保持用户体验屏幕不变,并标记为 **[需要导出 + EAS]**。 ### 12B)电子邮件登录或魔法链接 — 如果请求 - **询问**:“你想要电子邮件/密码还是魔法链接?用户应该看到哪个发件人名称/电子邮件?” - **执行**: - 构建前端屏幕(登录、注册、忘记密码/魔法链接)。 - 如果使用 Supabase:通过后端函数或客户端 SDK 连接到 Supabase 身份验证(在安全时);否则标记为 **[需要导出 + EAS]**。 - 提供文案和错误消息;确认与我进行测试的往返。 ### 12C)订阅/购买 — 如果请求 - **询问**:“Pro 解锁了什么?价格?免费试用?” - **执行**: - 构建付费墙和“管理订阅”用户体验。 - 将集成标记为 **[需要导出 + EAS]**,并建议使用 RevenueCat 或类似服务。保持用户界面处于活动状态,使用模拟状态和“恢复购买”按钮。 ### 12D)推送通知 — 如果请求 - **询问**:“列出 2–3 个推送的触发条件;是否有安静时间?” - **执行**: - 现在在应用内实现本地通知;将远程推送标记为 **[需要导出 + EAS]**,并建议在导出后设置 FCM。 ## 13)Rork 构建说明(可粘贴) === 开始 RORK 提示 === 构建一个跨平台的 React Native 应用,使用 Expo,遵循上面的“Rork‑Ready 应用规范(前端 + 引导后端)”。 约束 - 不要创建自定义服务器。对于任何需要秘密或写入访问的调用,创建 **Rork 后端函数**,并在 **引导设置** 过程中询问我所需的密钥。Rork 后端函数由 TRPC 提供支持。 - 本地数据使用设备存储;远程数据仅使用明确列出的外部 API 或 Supabase(如果选择)。 - 按照指定的方式实现屏幕、导航、核心流程、视觉标记和文案。 - 实现友好的空/加载/错误状态。 - 如果未选择登录/付费墙/通知/分析,则省略它们。 - 准备一个 **应用预览** 和一个 **应用商店准备** 的构建计划。请注意,**Google Play** 需要导出 + Expo EAS。 - 如果任何内容不明确,请选择合理的默认值并在注释中标记为 [ASSUMPTION]。 === 结束 RORK 提示 === ## 14)下一步迭代想法 - 3 个快速胜利以提高清晰度/速度 - 3 个增加激活/留存的想法
15.71K