# ChatAPP **Repository Path**: ReactSpring/chat-app ## Basic Information - **Project Name**: ChatAPP - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-18 - **Last Updated**: 2025-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ChatApp - 聊天应用 Android 项目 基于《聊天应用界面功能分析》文档生成的完整Android项目框架。 ## 项目结构 ``` ChatApp/ ├── app/ # 主应用模块 │ ├── src/main/ │ │ ├── kotlin/com/chat/app/ │ │ │ ├── ChatApplication.kt # Application入口 │ │ │ ├── MainActivity.kt # 主Activity │ │ │ ├── navigation/ # 导航 │ │ │ ├── ui/theme/ # 主题配置 │ │ │ └── di/ # 依赖注入 │ │ ├── res/ # 资源文件 │ │ └── AndroidManifest.xml │ └── build.gradle.kts │ ├── core/ # 核心模块 │ ├── core-model/ # 数据模型 │ │ └── Message, User, Conversation等 │ ├── core-common/ # 通用工具 │ │ └── Result, TimeUtils, StringUtils │ ├── core-ui/ # 通用UI组件 │ │ └── MessageBubble, GlassmorphismSurface, AvatarImage │ ├── core-network/ # 网络层 │ │ └── API服务, WebSocket管理 │ └── core-database/ # 数据库层 │ └── Room数据库, DAO │ ├── feature/ # 功能模块 │ ├── feature-chat/ # 聊天功能 │ │ └── ChatScreen, ChatViewModel │ ├── feature-contact/ # 联系人功能 │ │ └── ContactScreen, ContactViewModel │ ├── feature-call/ # 通话功能 │ │ └── CallScreen (语音/视频) │ ├── feature-payment/ # 支付功能 │ │ └── RedPacketScreen (红包/转账) │ └── feature-ai/ # AI功能 │ └── AIDraftManager, AIDraftBubble │ ├── data/ # 数据层 │ ├── data-message/ # 消息数据 │ │ └── MessageRepository │ ├── data-user/ # 用户数据 │ │ └── UserRepository │ └── data-media/ # 媒体数据 │ └── MediaRepository │ ├── buildSrc/ # 构建脚本 │ └── Dependencies.kt # 统一版本管理 │ ├── build.gradle.kts # 根项目构建配置 ├── settings.gradle.kts # 模块配置 └── gradle.properties # Gradle属性 ``` ## 技术栈 ### 核心技术 - **语言**: Kotlin 1.9+ - **最低SDK**: 24 (Android 7.0) - **目标SDK**: 34 (Android 14) - **架构**: MVVM + Clean Architecture ### UI层 - Jetpack Compose 1.6+ - Material 3 - Coil (图片加载) - Lottie (动画) ### 数据层 - Room 2.6+ (本地数据库) - DataStore (键值存储) - Retrofit 2.9+ (HTTP) - Scarlet (WebSocket) ### 依赖注入 - Hilt 2.50+ ### 异步处理 - Kotlin Coroutines - Kotlin Flow ## 主要功能 ### ✅ 已实现框架 1. **聊天模块** - 三列布局、7种消息类型、输入栏 2. **联系人模块** - 联系人列表、搜索 3. **通话模块** - 语音/视频通话界面 4. **支付模块** - 红包发送界面 5. **AI模块** - AI草稿管理、草稿气泡 ### 📋 待实现功能 - WebSocket实时消息收发 - 音视频通话(集成WebRTC/声网SDK) - 图片/语音/文件发送 - 位置分享 - 红包/转账支付对接 - 推送通知(FCM) - 端到端加密 - 消息连接线绘制 ## 快速开始 ### 1. 环境要求 - Android Studio Hedgehog+ (2023.1.1+) - JDK 17+ - Gradle 8.2+ ### 2. 克隆并导入项目 ```bash cd D:\Code\ROM\ChatApp ``` 在Android Studio中打开此目录 ### 3. 配置API地址 编辑 `core-network/build.gradle.kts`: ```kotlin buildConfigField("String", "BASE_URL", "\"https://your-api.com/\"") buildConfigField("String", "WS_URL", "\"wss://your-api.com/ws\"") ``` ### 4. 运行项目 ```bash ./gradlew :app:assembleDebug ``` ## 模块说明 ### Core模块 - **core-model**: 所有数据模型定义(Message, User, Conversation等) - **core-common**: 通用工具类和Result封装 - **core-ui**: 可复用的Compose组件 - **core-network**: 网络请求和WebSocket管理 - **core-database**: Room数据库和DAO ### Feature模块 - **feature-chat**: 聊天核心功能,包含三列布局实现 - **feature-contact**: 联系人管理 - **feature-call**: 音视频通话界面 - **feature-payment**: 红包、转账等支付功能 - **feature-ai**: AI草稿生成和管理 ### Data模块 - **data-message**: 消息仓库,管理消息存储和同步 - **data-user**: 用户仓库,管理用户信息和认证 - **data-media**: 媒体仓库,管理文件上传下载 ## 架构设计 ### MVVM模式 ``` View (Compose UI) ↓ ViewModel (UIState + Events) ↓ Repository (数据层) ↓ Data Sources (Room + Network) ``` ### 依赖关系 ``` app → feature → data → core ``` ## 开发指南 ### 添加新消息类型 1. 在 `core-model/Message.kt` 中添加Sealed Class子类 2. 在 `core-ui/MessageBubble.kt` 中添加UI渲染 3. 在 `data-message/MessageRepository.kt` 中处理存储 ### 添加新功能模块 1. 在 `feature/` 下创建新模块 2. 在 `settings.gradle.kts` 中注册 3. 添加到 `app/build.gradle.kts` 的dependencies ### 数据库迁移 修改Entity后,更新 `core-database/ChatDatabase.kt` 的version号 ## 注意事项 ### 国产ROM适配 项目针对MIUI、ColorOS、HarmonyOS等国产ROM进行了优化: - 引导用户设置自启动权限 - 前台服务保活 - 电池优化白名单 ### 安全性 - 使用EncryptedSharedPreferences存储敏感信息 - 网络请求使用HTTPS - 建议集成端到端加密(Signal Protocol) ### 性能优化 - 消息列表使用LazyColumn + key优化 - 图片加载使用Coil缓存 - 数据库查询使用Flow实时更新 ## 参考文档 - [聊天应用界面功能分析.md](../聊天应用界面功能分析.md) - [聊天应用安卓技术栈方案.md](../聊天应用安卓技术栈方案.md) - [CLAUDE.md](../CLAUDE.md) ## 许可证 本项目框架代码供学习参考使用。 --- **生成时间**: 2025-12-17 **框架版本**: 1.0.0