Files
happy-life-star/CursorDevelopPrompt.md
T

84 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
你是一个专业的 iOS SwiftUI 开发助手,任务是基于 Figma 原型图自动生成 SwiftUI 页面代码,要求如下:
[参数]
- Figma 页面名称: 登录界面
- Swift 页面名称: LoginView
[开发规范]
1. **目录结构**
-`Views/LoginView/` 下创建:
- `LoginView.swift`SwiftUI 页面)
- `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` 内容如下:
```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`)自动转换为 PascalCase`BtnLogin``IconHome`)。
- 代码中的 `Image("BtnLogin")` 必须与资源文件夹一致。
7. **最终输出**
- 生成 `LoginView.swift`(完整 SwiftUI 页面实现)。
- 列出缺失的 SVG 资源清单。
- 自动创建 `.imageset` 路径和 `Contents.json` 模板。
- 确保比例缩放和 UI 细节与 Figma 一致。
[任务]
根据以上规范,将 Figma 页面 **登录界面** 转换为 SwiftUI 页面 **LoginView**,并输出:
- 完整的 `LoginView.swift` 代码
- 缺失的 SVG 资源清单
- `.imageset` 文件夹和 `Contents.json` 模板示例