436 lines
8.8 KiB
Markdown
436 lines
8.8 KiB
Markdown
# 情绪博物馆功能模块详细梳理
|
||
|
||
**文档版本**: v1.0
|
||
**创建时间**: 2025-07-12
|
||
**基于**: 现有代码分析和需求文档
|
||
|
||
---
|
||
|
||
## 📋 目录
|
||
|
||
- [1. 记录页面 (RecordView)](#1-记录页面-recordview)
|
||
- [2. 治愈页面 (GrowthView)](#2-治愈页面-growthview)
|
||
- [3. 探索页面 (ExploreView)](#3-探索页面-exploreview)
|
||
- [4. 个人页面 (InsightView)](#4-个人页面-insightview)
|
||
- [5. 公共组件和服务](#5-公共组件和服务)
|
||
- [6. 缺失功能清单](#6-缺失功能清单)
|
||
|
||
---
|
||
|
||
## 1. 记录页面 (RecordView)
|
||
|
||
### 1.1 已实现功能 ✅
|
||
|
||
#### 主界面组件
|
||
- [x] **顶部导航栏**
|
||
- 左上角:聊天记录入口按钮
|
||
- 中间:页面标题
|
||
- 右上角:设置按钮
|
||
|
||
- [x] **情绪日历组件**
|
||
- 单行日历显示
|
||
- 日期选择功能
|
||
- 基础情绪标记
|
||
|
||
- [x] **AI助手头像区域**
|
||
- 静态头像显示
|
||
- 欢迎文案
|
||
- 基础动画效果
|
||
|
||
- [x] **聊天区域**
|
||
- 消息列表显示
|
||
- 消息气泡样式
|
||
- 滚动到底部功能
|
||
|
||
- [x] **输入区域**
|
||
- 文本输入框
|
||
- 发送按钮
|
||
- 语音模式切换按钮
|
||
- 图片添加按钮
|
||
|
||
#### 状态管理
|
||
- [x] 加载状态管理
|
||
- [x] 骨架屏显示
|
||
- [x] 错误状态处理
|
||
- [x] 刷新功能
|
||
|
||
### 1.2 待实现功能 ❌
|
||
|
||
#### 核心功能
|
||
- [ ] **聊天记录入口页面 (ChatHistoryView)**
|
||
- 对话列表展示
|
||
- 搜索和筛选功能
|
||
- 对话摘要显示
|
||
- 删除和管理功能
|
||
|
||
- [ ] **全屏对话页面 (FullScreenChatView)**
|
||
- 全屏聊天界面
|
||
- 语音/文字模式切换
|
||
- 消息发送状态
|
||
- 对话收起功能
|
||
|
||
- [ ] **设置页面 (SettingsView)**
|
||
- 主题设置
|
||
- 音效设置
|
||
- 隐私设置
|
||
- 关于页面
|
||
|
||
#### 高级功能
|
||
- [ ] **语音识别功能**
|
||
- 语音转文字
|
||
- 语音消息录制
|
||
- 语音播放控制
|
||
|
||
- [ ] **AI对话增强**
|
||
- 真实AI服务集成
|
||
- 情绪分析反馈
|
||
- 智能回复建议
|
||
|
||
- [ ] **情绪日历增强**
|
||
- 日历展开/收起
|
||
- 情绪趋势图表
|
||
- 历史回顾功能
|
||
|
||
### 1.3 数据流设计
|
||
|
||
```mermaid
|
||
graph TD
|
||
A[用户输入] --> B[NavigationManager]
|
||
B --> C[MockDataManager]
|
||
C --> D[AI服务]
|
||
D --> E[情绪分析]
|
||
E --> F[数据存储]
|
||
F --> G[UI更新]
|
||
```
|
||
|
||
---
|
||
|
||
## 2. 治愈页面 (GrowthView)
|
||
|
||
### 2.1 已实现功能 ✅
|
||
|
||
#### 数据模型
|
||
- [x] **GrowthTopic模型**
|
||
- 课题基本信息
|
||
- 进度追踪
|
||
- 分类系统
|
||
- 难度等级
|
||
|
||
- [x] **TopicInteraction模型**
|
||
- 互动类型定义
|
||
- 完成状态追踪
|
||
- 评分系统
|
||
|
||
- [x] **Reward模型**
|
||
- 奖励类型
|
||
- 稀有度系统
|
||
- 积分机制
|
||
|
||
#### 基础界面
|
||
- [x] 页面框架结构
|
||
- [x] 主题适配
|
||
- [x] 加载状态
|
||
|
||
### 2.2 待实现功能 ❌
|
||
|
||
#### 主界面组件
|
||
- [ ] **成长概览卡片**
|
||
- 个人成长数据展示
|
||
- 本周进展摘要
|
||
- 成长轨迹可视化
|
||
|
||
- [ ] **五维雷达图**
|
||
- 自我感知维度
|
||
- 情绪韧性维度
|
||
- 行动力维度
|
||
- 共情力维度
|
||
- 生活热度维度
|
||
|
||
- [ ] **课题分类标签**
|
||
- 分类筛选功能
|
||
- 进度指示器
|
||
- 解锁状态显示
|
||
|
||
- [ ] **课题列表**
|
||
- 课题卡片展示
|
||
- 进度条显示
|
||
- 快速操作按钮
|
||
|
||
#### 详情页面
|
||
- [ ] **课题详情页 (TopicDetailView)**
|
||
- 课题完整信息
|
||
- 学习路径展示
|
||
- 相关资源链接
|
||
- 进度统计
|
||
|
||
- [ ] **课题互动页 (TopicInteractionView)**
|
||
- AI对话互动
|
||
- 知识文章阅读
|
||
- 练习活动
|
||
- 反思日记
|
||
|
||
#### 子功能页面
|
||
- [ ] **TopicChatView** - AI对话
|
||
- [ ] **TopicArticleView** - 文章阅读
|
||
- [ ] **TopicExerciseView** - 练习活动
|
||
- [ ] **TopicReflectionView** - 反思日记
|
||
|
||
### 2.3 成长数据算法
|
||
|
||
```swift
|
||
// 成长数据计算逻辑
|
||
class GrowthCalculator {
|
||
static func calculateGrowthStats(from interactions: [TopicInteraction]) -> GrowthStats {
|
||
// 基于互动数据计算五维成长数据
|
||
}
|
||
|
||
static func updateProgressBasedOnActivity(topic: GrowthTopic, activity: TopicInteraction) -> Float {
|
||
// 根据活动类型和质量更新进度
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 3. 探索页面 (ExploreView)
|
||
|
||
### 3.1 已实现功能 ✅
|
||
|
||
#### 数据模型
|
||
- [x] **LocationPin模型**
|
||
- 地理坐标
|
||
- 地点信息
|
||
- 情绪标签
|
||
- 社区数据
|
||
|
||
- [x] **CommunityPost模型**
|
||
- 帖子内容
|
||
- 图片支持
|
||
- 点赞评论
|
||
- 分类标签
|
||
|
||
#### 基础界面
|
||
- [x] 页面框架
|
||
- [x] 主题适配
|
||
|
||
### 3.2 待实现功能 ❌
|
||
|
||
#### 地图功能
|
||
- [ ] **地图SDK集成**
|
||
- 高德地图集成
|
||
- 地图显示和控制
|
||
- 定位服务
|
||
- 地点标记
|
||
|
||
- [ ] **地点管理**
|
||
- 地点详情页 (LocationDetailView)
|
||
- 添加地点页 (AddLocationView)
|
||
- 地点分类筛选
|
||
- 收藏和访问记录
|
||
|
||
#### 社区功能
|
||
- [ ] **社区动态页 (CommunityFeedView)**
|
||
- 帖子列表展示
|
||
- 图文混排
|
||
- 无限滚动加载
|
||
- 刷新机制
|
||
|
||
- [ ] **帖子详情页 (PostDetailView)**
|
||
- 完整帖子内容
|
||
- 评论区域
|
||
- 点赞分享功能
|
||
- 相关推荐
|
||
|
||
- [ ] **发布功能**
|
||
- 图片选择和上传
|
||
- 文字编辑
|
||
- 地点关联
|
||
- 标签添加
|
||
|
||
#### 视图切换
|
||
- [ ] **地图/社区模式切换**
|
||
- 平滑过渡动画
|
||
- 状态保持
|
||
- 数据同步
|
||
|
||
### 3.3 地图服务架构
|
||
|
||
```swift
|
||
// 地图服务管理
|
||
class MapService: ObservableObject {
|
||
@Published var currentLocation: CLLocationCoordinate2D?
|
||
@Published var nearbyLocations: [LocationPin] = []
|
||
|
||
func searchNearbyPlaces(radius: Double) async {
|
||
// 搜索周边地点
|
||
}
|
||
|
||
func addCustomLocation(_ location: LocationPin) {
|
||
// 添加自定义地点
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 4. 个人页面 (InsightView)
|
||
|
||
### 4.1 已实现功能 ✅
|
||
|
||
#### 数据模型
|
||
- [x] **User模型**
|
||
- 用户基本信息
|
||
- 成长统计数据
|
||
- 会员等级
|
||
|
||
- [x] **Achievement模型**
|
||
- 成就系统
|
||
- 进度追踪
|
||
- 分类管理
|
||
|
||
- [x] **UserStats模型**
|
||
- 统计数据
|
||
- 活跃度指标
|
||
|
||
#### 基础界面
|
||
- [x] 页面框架(当前为UniverseView)
|
||
- [x] 主题适配
|
||
|
||
### 4.2 待实现功能 ❌
|
||
|
||
#### 主界面组件
|
||
- [ ] **用户资料卡片**
|
||
- 头像和基本信息
|
||
- 会员等级显示
|
||
- 注册天数统计
|
||
|
||
- [ ] **本周数据统计**
|
||
- 心情指数
|
||
- 对话次数
|
||
- 成长轨迹
|
||
- 活跃度图表
|
||
|
||
- [ ] **成就展示区域**
|
||
- 最新成就
|
||
- 进度展示
|
||
- 快速查看
|
||
|
||
- [ ] **快捷功能区域**
|
||
- 设置入口
|
||
- 邀请好友
|
||
- 反馈建议
|
||
- 帮助中心
|
||
|
||
#### 详情页面
|
||
- [ ] **用户资料页 (UserProfileView)**
|
||
- 个人信息编辑
|
||
- 头像上传
|
||
- 隐私设置
|
||
- 账户管理
|
||
|
||
- [ ] **成就页面 (AchievementsView)**
|
||
- 成就分类展示
|
||
- 进度详情
|
||
- 解锁条件
|
||
- 奖励查看
|
||
|
||
- [ ] **会员中心 (MemberCenterView)**
|
||
- 会员权益
|
||
- 升级选项
|
||
- 使用统计
|
||
- 特权功能
|
||
|
||
### 4.3 统计数据计算
|
||
|
||
```swift
|
||
// 用户统计数据计算
|
||
class UserStatsCalculator {
|
||
static func calculateWeeklyStats(user: User) -> WeeklyStats {
|
||
// 计算本周统计数据
|
||
}
|
||
|
||
static func calculateMoodTrend(records: [EmotionRecord]) -> EmotionTrend {
|
||
// 分析情绪趋势
|
||
}
|
||
|
||
static func updateAchievementProgress(user: User) -> [Achievement] {
|
||
// 更新成就进度
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 5. 公共组件和服务
|
||
|
||
### 5.1 已实现组件 ✅
|
||
|
||
#### 管理服务
|
||
- [x] **NavigationManager** - 导航状态管理
|
||
- [x] **MockDataManager** - 模拟数据管理
|
||
- [x] **ThemeManager** - 主题管理
|
||
|
||
#### UI组件
|
||
- [x] **LoadingComponents** - 加载组件
|
||
- [x] **AnimationComponents** - 动画组件
|
||
- [x] **ThemeAdapter** - 主题适配器
|
||
|
||
### 5.2 待实现组件 ❌
|
||
|
||
#### 核心服务
|
||
- [ ] **CoreDataManager** - 数据持久化
|
||
- [ ] **AIService** - AI服务集成
|
||
- [ ] **LocationService** - 位置服务
|
||
- [ ] **NotificationService** - 通知服务
|
||
- [ ] **ImageService** - 图片处理服务
|
||
|
||
#### 通用UI组件
|
||
- [ ] **EmotionPicker** - 情绪选择器
|
||
- [ ] **RadarChart** - 雷达图组件
|
||
- [ ] **ProgressRing** - 进度环组件
|
||
- [ ] **TagView** - 标签组件
|
||
- [ ] **PhotoPicker** - 图片选择器
|
||
- [ ] **VoiceRecorder** - 语音录制器
|
||
|
||
#### 工具类
|
||
- [ ] **DateFormatter** - 日期格式化
|
||
- [ ] **ValidationHelper** - 数据验证
|
||
- [ ] **NetworkMonitor** - 网络状态监控
|
||
- [ ] **PermissionManager** - 权限管理
|
||
|
||
---
|
||
|
||
## 6. 缺失功能清单
|
||
|
||
### 6.1 高优先级 (P0)
|
||
- [ ] 聊天记录页面 (ChatHistoryView)
|
||
- [ ] 全屏对话页面 (FullScreenChatView)
|
||
- [ ] 成长课题主页完善
|
||
- [ ] 地图功能集成
|
||
- [ ] 用户资料页面
|
||
|
||
### 6.2 中优先级 (P1)
|
||
- [ ] 设置页面 (SettingsView)
|
||
- [ ] 课题详情页面
|
||
- [ ] 社区动态页面
|
||
- [ ] 成就系统页面
|
||
- [ ] AI服务集成
|
||
|
||
### 6.3 低优先级 (P2)
|
||
- [ ] 语音识别功能
|
||
- [ ] 高级数据可视化
|
||
- [ ] 社交分享功能
|
||
- [ ] 会员中心
|
||
- [ ] 通知系统
|
||
|
||
### 6.4 技术债务
|
||
- [ ] Core Data集成
|
||
- [ ] 真实API集成
|
||
- [ ] 性能优化
|
||
- [ ] 错误处理完善
|
||
- [ ] 单元测试覆盖
|
||
|
||
---
|
||
|
||
*本文档基于当前代码状态分析,将随开发进度更新*
|