feat: 更新README.md以反映项目架构和功能增强
- 在项目简介中添加The Composable Architecture (TCA)架构设计信息。 - 更新技术栈部分,包含支持的开发语言、最低支持版本及主要框架。 - 增加用户认证、云存储集成及自定义UI组件的描述。 - 修改环境要求以支持iOS 16及以上版本。 - 更新开发规范,采用TCA架构模式并支持多语言。 - 添加API测试目标和开发团队信息,提升文档完整性。
This commit is contained in:
81
README.md
81
README.md
@@ -2,37 +2,50 @@
|
||||
|
||||
## 项目简介
|
||||
|
||||
Yana 是一个基于 iOS 平台的即时通讯应用,使用 Swift 语言开发,集成了网易云信 SDK 实现即时通讯功能。
|
||||
Yana 是一个基于 iOS 平台的即时通讯应用,使用 Swift 语言开发,集成了网易云信 SDK 实现即时通讯功能,并采用 The Composable Architecture (TCA) 架构设计。
|
||||
|
||||
## 技术栈
|
||||
|
||||
- 开发语言:Swift
|
||||
- 最低支持版本:iOS 15.6
|
||||
- 主要框架:
|
||||
- NIMSDK_LITE:网易云信即时通讯 SDK
|
||||
- **开发语言**:Swift (主要),Objective-C (部分组件)
|
||||
- **最低支持版本**:iOS 16
|
||||
- **架构模式**:The Composable Architecture (TCA) - 1.20.2
|
||||
- **UI 框架**:SwiftUI
|
||||
- **依赖管理**:
|
||||
- CocoaPods
|
||||
- Swift Package Manager
|
||||
- **主要框架**:
|
||||
- NIMSDK_LITE:网易云信即时通讯 SDK (10.6.1)
|
||||
- NEChatKit:聊天核心组件
|
||||
- NEChatUIKit:会话(聊天)UI 组件
|
||||
- NEContactUIKit:通讯录 UI 组件
|
||||
- NELocalConversationUIKit:本地会话列表 UI 组件
|
||||
- Alamofire:网络请求框架
|
||||
- ComposableArchitecture:状态管理 (v1.20.2+)
|
||||
- CasePaths:枚举模式匹配
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
yana/
|
||||
├── AppDelegate.swift # 应用程序代理
|
||||
├── yanaApp.swift # SwiftUI 应用入口
|
||||
├── ContentView.swift # 主视图
|
||||
├── Managers/ # 管理器类
|
||||
├── Models/ # 数据模型
|
||||
├── Configs/ # 配置文件
|
||||
└── Assets.xcassets/ # 资源文件
|
||||
├── yana/ # 主应用源代码
|
||||
│ ├── Info.plist
|
||||
│ ├── yana-Bridging-Header.h # Objective-C 集成桥接头文件
|
||||
│ ├── AppDelegate.swift # 应用程序代理
|
||||
│ ├── yanaApp.swift # SwiftUI 应用入口
|
||||
│ ├── ContentView.swift # 主视图
|
||||
│ ├── Managers/ # 管理器类
|
||||
│ ├── Models/ # 数据模型
|
||||
│ ├── Configs/ # 配置文件
|
||||
│ ├── APIs/ # API 相关文件
|
||||
│ └── Assets.xcassets/ # 资源文件
|
||||
├── yanaAPITests/ # API 测试目标
|
||||
└── Pods/ # CocoaPods 依赖
|
||||
```
|
||||
|
||||
## 环境要求
|
||||
|
||||
- Xcode 13.0 或更高版本
|
||||
- iOS 15.6 或更高版本
|
||||
- iOS 16 或更高版本
|
||||
- CocoaPods 包管理器
|
||||
|
||||
## 安装步骤
|
||||
@@ -49,10 +62,24 @@ yana/
|
||||
|
||||
## 主要功能
|
||||
|
||||
- 即时通讯
|
||||
- 会话管理
|
||||
- 通讯录管理
|
||||
- 本地会话列表
|
||||
- **用户认证**:
|
||||
- 邮箱登录流程(带验证码)
|
||||
- 多种认证方式
|
||||
- **即时通讯**
|
||||
- **会话管理**
|
||||
- **通讯录管理**
|
||||
- **本地会话列表**
|
||||
- **云存储集成**
|
||||
|
||||
## UI 组件
|
||||
|
||||
项目包含多种自定义 UI 组件:
|
||||
- 自定义登录按钮
|
||||
- 底部标签导航
|
||||
- API 调用加载效果
|
||||
- Web 视图集成
|
||||
- 图片预览功能
|
||||
- 屏幕适配工具
|
||||
|
||||
## API 使用
|
||||
|
||||
@@ -75,21 +102,27 @@ let response = try await apiService.request(request)
|
||||
|
||||
- 项目使用 CocoaPods 管理依赖
|
||||
- 需要配置网易云信相关密钥
|
||||
- 最低支持 iOS 15.6 版本
|
||||
- 最低支持 iOS 16 版本
|
||||
- 仅支持 iPhone 设备(不支持 iPad、Mac Catalyst 或 Vision Pro)
|
||||
|
||||
## 开发规范
|
||||
|
||||
- 遵循 Swift 官方编码规范
|
||||
- 使用 SwiftUI 构建用户界面
|
||||
- 采用 MVVM 架构模式
|
||||
- 采用 TCA 架构模式
|
||||
- 支持多语言(包含中文本地化)
|
||||
|
||||
## 依赖版本
|
||||
## 测试
|
||||
|
||||
- NIMSDK 相关组件版本:10.6.1
|
||||
- Alamofire:最新版本
|
||||
项目包含专门的 API 测试目标 "yanaAPITests",用于对主应用的 API 功能进行单元测试。
|
||||
|
||||
## 开发团队
|
||||
|
||||
项目由团队 "EKM7RAGNA6" 开发,测试目标的包标识符为 "com.stupidmonkey.yanaAPITests"。
|
||||
|
||||
## 构建配置
|
||||
|
||||
- 项目使用动态框架
|
||||
- 支持 iOS 13.0 及以上版本
|
||||
- 已配置框架冲突处理脚本
|
||||
- 支持 iOS 16 及以上版本
|
||||
- Swift 版本:6.0
|
||||
- 已配置框架冲突处理脚本
|
Reference in New Issue
Block a user