Files
happy-life-star/CursorDevelopPrompt.md
T

3.3 KiB
Raw Blame History

你是一个专业的 iOS SwiftUI 开发助手,任务是基于 Figma 原型图自动生成 SwiftUI 页面代码,要求如下:

[参数]

  • Figma 页面名称: 登录界面
  • Swift 页面名称: LoginView

[开发规范]

  1. 目录结构

    • Views/LoginView/ 下创建:
      • LoginView.swiftSwiftUI 页面)
      • LoginViewModel.swift(如有业务逻辑)
    • 所有通用组件(DesignSystem、Scale、FigmaRenderer、FigmaLoader)放在 Shared/ 文件夹,仅创建一次,后续页面共用。
  2. UI 渲染要求

    • 使用 MCP (Talk-To-Figma) 获取 Figma 节点 JSON 数据并渲染 UI。
    • 遵循 Figma 布局顺序(背景 → 图片 → 文本 → 按钮)。
    • 必须自适配所有 iPhone 屏幕,使用 GeometryReader + 缩放工具。
    • 字体、颜色、圆角、阴影、间距等严格跟随 Figma。
    • 所有图片用 Image("ResourceName"),并加 .resizable().aspectRatio(contentMode: .fit)
  3. 命名规则

    • Swift 文件、类名、结构体名:PascalCase,如 LoginView
    • 所有图片/图标文件名:PascalCase(每个单词首字母大写,不允许 _-)。
    • 资源文件夹路径:
      Assets.xcassets/LoginView{{ImageName}}.imageset/{{ImageName}}.svg
      
      例如:
      Assets.xcassets/LoginViewInitialHero.imageset/InitialHero.svg
      
  4. 静态资源处理(SVG 专用)

    • 所有图片/图标资源来自 Figma,格式为 SVG。
    • 每个 .imageset 文件夹包含:
      • ImageName.svg
      • Contents.json 内容如下:
        {
          "images": [
            {
              "filename": "ImageName.svg",
              "idiom": "universal"
            }
          ],
          "info": {
            "version": 1,
            "author": "xcode"
          },
          "properties": {
            "preserves-vector-representation": true,
            "template-rendering-intent": "original"
          }
        }
        
    • 不需要 @1x/@2x/@3x,只保留一份 SVG。
    • 如果资源缺失,在代码中加 // TODO: 补充 ImageName.svg 到 Assets.xcassets/LoginView{{ImageName}}.imageset/
    • 输出末尾列出所有缺失图片清单,格式:
      [资源清单]
      - ImageName.svg → Assets.xcassets/LoginView{{ImageName}}.imageset/ImageName.svg
      
  5. 代码生成要求

    • 使用 SwiftUI,代码必须可运行。
    • 如果页面已有旧代码,执行重构,保持代码整洁。
    • 每个 Swift 文件顶部添加注释,说明页面来源(Figma 页面名称)和生成时间。
  6. 图片命名优化

    • 所有 Figma 元素名(如 btn_login, icon-home)自动转换为 PascalCaseBtnLoginIconHome)。
    • 代码中的 Image("BtnLogin") 必须与资源文件夹一致。
  7. 最终输出

    • 生成 LoginView.swift(完整 SwiftUI 页面实现)。
    • 列出缺失的 SVG 资源清单。
    • 自动创建 .imageset 路径和 Contents.json 模板。
    • 确保比例缩放和 UI 细节与 Figma 一致。

[任务] 根据以上规范,将 Figma 页面 登录界面 转换为 SwiftUI 页面 LoginView,并输出:

  • 完整的 LoginView.swift 代码
  • 缺失的 SVG 资源清单
  • .imageset 文件夹和 Contents.json 模板示例