Introduce GlobalLoadingCenter with reference counting, wire it through RootView and major auth/order/profile screens, and add the loading animation asset plus unit tests. Co-authored-by: Cursor <cursoragent@cursor.com>
85 lines
1.6 KiB
Markdown
85 lines
1.6 KiB
Markdown
- AGENTS
|
|
|
|
## 项目
|
|
|
|
|
|
iOS
|
|
- iOS App
|
|
- SwiftUI
|
|
- 最低支持 iOS 17
|
|
- 只支持竖屏
|
|
|
|
|
|
---
|
|
|
|
## 架构
|
|
|
|
MVVM
|
|
|
|
|
|
---
|
|
|
|
## 模块文档
|
|
|
|
每个功能模块下,都需要新建一个 Markdown 文档,用来描述该模块下的业务代码逻辑
|
|
- 文档文件建议命名为 `README.md` 或 `<模块名>.md`
|
|
- 文档需要说明模块职责、核心业务流程、主要页面/ViewModel/API/Model 的关系
|
|
- 新增或修改模块业务逻辑时,需要同步更新对应模块文档
|
|
- 文档描述业务逻辑即可,避免记录临时实现细节或无关调试信息
|
|
|
|
|
|
---
|
|
|
|
## 界面
|
|
|
|
TabBar
|
|
UIKit 风格
|
|
|
|
尽量少使用 LiquidGlass
|
|
|
|
|
|
NavigationStack
|
|
|
|
|
|
---
|
|
|
|
## 第三方库
|
|
|
|
阿里云 OSS
|
|
- 用于上传文件
|
|
|
|
Kingfisher
|
|
- 用于显示网络图片
|
|
|
|
Lottie
|
|
- 用于展示全局 Loading 动画
|
|
|
|
|
|
---
|
|
|
|
## 测试
|
|
|
|
新增功能和新业务逻辑时,需要同步添加或更新单元测试代码
|
|
- 测试用例需要覆盖核心成功路径、失败路径和关键边界条件
|
|
- 修改现有业务逻辑时,需要同步调整相关测试
|
|
- 提交前需要运行测试
|
|
- 测试不通过时,需要修复问题,直到测试全部通过
|
|
|
|
|
|
---
|
|
|
|
## 编码风格
|
|
|
|
Swift
|
|
|
|
async/await
|
|
|
|
生成的代码添加必要注释
|
|
- 复杂逻辑、关键业务规则、容易误解的地方需要注释
|
|
- 方法名需要添加注释,说明方法的作用
|
|
- 类名、结构体名需要添加注释,说明代表什么实体、承担什么职责
|
|
- 简单赋值、普通布局、显而易见的代码不需要注释
|
|
|
|
|
|
|