编辑页功能完整实现: - EditActivity和完整布局文件,支持编辑文本和图片 - 返回键退出确认机制,检测编辑行为,防止误操作 - 文本输入框支持500字符限制、emoji、实时字符计数 - 图片选择功能集成系统相册,支持真实图片显示和删除 - 保存后直接返回首页并自动定位到编辑记录 - 详情页编辑跳转完整集成,流程无缝连接 图片显示系统全链路完善: - ImageUtils工具类,提供图片保存、加载、删除API - 首页卡片显示真实图片缩略图 - 详情页显示真实图片大图 - 编辑页显示真实图片预览 - ImagePreviewActivity全屏预览真实图片 - 支持系统相册选择、应用私有存储、异步加载 定位机制和用户体验优化: - 编辑保存后自动定位到编辑记录,平滑滚动 - 新增记录后自动定位到新记录,即时查看 - 双重验证确保定位准确性 - 优化用户导航流程,减少操作步骤 数据一致性和稳定性修复: - 禁用数据库测试功能,避免产生额外测试记录 - 修复编辑保存后时间戳问题,保持原始时间 - 解决主题兼容性问题(TextInputLayout冲突) - 完善错误处理和日志输出机制 技术架构完善: - 异步图片加载避免UI阻塞 - 完整的图片生命周期管理 - 数据库操作和UI状态同步 - Material Design规范遵循和UI/UX优化 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
468 lines
19 KiB
Markdown
468 lines
19 KiB
Markdown
# 别摇小鸡 - 开发进度与决策记录
|
||
|
||
> Android心情记录App开发文档
|
||
|
||
## 📋 项目概览
|
||
|
||
**项目名称:** 别摇小鸡心情记录App
|
||
**开发平台:** Android原生(Kotlin)
|
||
**当前版本:** V1.3.0
|
||
**更新日期:** 2025-10-24
|
||
**开发状态:** ✅ 编辑页功能完成,图片显示系统完善
|
||
|
||
---
|
||
|
||
## 🏗️ 技术架构
|
||
|
||
### 核心技术栈
|
||
- **开发语言:** Kotlin
|
||
- **UI框架:** Android View System + Material Design
|
||
- **数据存储:** SQLite Room + SharedPreferences
|
||
- **架构模式:** MVVM + Repository
|
||
- **动画引擎:** Lottie (准备中) + Property Animation
|
||
|
||
### 功能模块
|
||
**V1.1.0 核心功能:**
|
||
- ✅ 六种基础情绪支持(开心、生气、悲伤、烦恼、孤单、害怕)
|
||
- ✅ 心情记录数据模型和存储
|
||
- ✅ 基础UI框架和Material Design主题
|
||
- ✅ 情绪选择界面(已完成)
|
||
- ✅ 历史记录展示系统(已完成)
|
||
- ✅ 时间显示逻辑(今天/昨天/星期数)
|
||
- ✅ 操作按钮功能(收藏、分享、查看详情)
|
||
- ✅ ViewPager2横向滑动展示
|
||
- ✅ 顶部按钮基础功能(更多、统计)
|
||
|
||
**V1.2.0 详情页功能:**
|
||
- ✅ 详情页基础布局和UI组件
|
||
- ✅ 心情文案生成逻辑(程度+心情类型)
|
||
- ✅ 更多操作弹窗(编辑、收藏、分享、删除)
|
||
- ✅ 删除功能和二次确认弹窗
|
||
- ✅ 收藏功能和状态持久化存储
|
||
- ✅ 分享功能集成(系统分享)
|
||
- ✅ 图片放大查看功能
|
||
- ✅ 首页跳转逻辑完善
|
||
- ✅ 真实数据库集成
|
||
- ✅ 测试数据生成
|
||
- ✅ 数据一致性保证
|
||
|
||
**V1.3.0 编辑页功能:**
|
||
- ✅ 编辑页基础布局和UI组件
|
||
- ✅ 返回键退出确认逻辑
|
||
- ✅ 文本输入框功能(最大500字符,支持emoji)
|
||
- ✅ 图片选择和预览功能(系统相册,单图)
|
||
- ✅ 保存功能和首页定位逻辑
|
||
- ✅ 详情页编辑跳转集成
|
||
- ✅ 图片显示系统完善(首页、详情页、编辑页、预览页)
|
||
- ✅ 图片选择、保存、加载、删除完整流程
|
||
- ✅ 定位机制优化(编辑和新增记录自动定位)
|
||
- ✅ 数据一致性修复(禁用额外测试记录)
|
||
- 📋 摇晃检测与心情值计算(待开发)
|
||
- 📋 小鸡动画响应系统(待开发)
|
||
|
||
---
|
||
|
||
## 🎯 当前开发状态
|
||
|
||
### ✅ 已完成模块
|
||
|
||
**阶段1:基础框架搭建**
|
||
- **模块1.1** ✅ MainActivity基础布局结构
|
||
- **模块1.2** ✅ 数据模型定义(MoodRecord, Emotion枚举, UserConfig)
|
||
- **模块1.3** ✅ Room数据库设计和实现
|
||
- **模块1.4** ✅ ViewModel和Repository架构(简化版)
|
||
|
||
**基础设施**
|
||
- ✅ 完整的单元测试覆盖(25个测试用例)
|
||
- ✅ Material Design主题和配色方案
|
||
- ✅ 应用构建和安装流程
|
||
- ✅ Git版本控制配置
|
||
|
||
### ✅ 已完成模块
|
||
|
||
**阶段1:基础框架搭建**
|
||
- **模块1.1** ✅ MainActivity基础布局结构
|
||
- **模块1.2** ✅ 数据模型定义(MoodRecord, Emotion枚举, UserConfig)
|
||
- **模块1.3** ✅ Room数据库设计和实现
|
||
- **模块1.4** ✅ ViewModel和Repository架构(简化版)
|
||
|
||
**阶段2:历史记录展示系统**
|
||
- **模块2.1** ✅ 心情记录卡片布局(item_mood_record.xml)
|
||
- **模块2.2** ✅ ViewPager2适配器实现(MoodRecordAdapter)
|
||
- **模块2.3** ✅ 时间格式化逻辑(今天/昨天/星期数显示)
|
||
- **模块2.4** ✅ 小鸡形象切换逻辑(6种情绪对应切换)
|
||
- **模块2.5** ✅ 空状态和内容状态切换
|
||
- **模块2.6** ✅ 横向滑动展示功能
|
||
|
||
**阶段3:添加心情功能**
|
||
- **模块3.1** ✅ FloatingActionButton实现(可点击)
|
||
- **模块3.2** ✅ 情绪选择BottomSheet弹框(已完成)
|
||
- **模块3.3** ✅ 情绪选择后自动创建记录
|
||
- **模块3.4** ✅ 操作按钮功能(收藏、分享、查看详情)
|
||
- **模块3.5** ✅ 顶部按钮基础功能(更多、统计)
|
||
|
||
**阶段4:UI和资源完善**
|
||
- **模块4.1** ✅ 6种情绪小鸡占位符图标
|
||
- **模块4.2** ✅ 操作按钮图标(收藏、分享、详情)
|
||
- **模块4.3** ✅ 图片占位符背景
|
||
- **模块4.4** ✅ ViewPager2布局修复(match_parent)
|
||
- **模块4.5** ✅ 崩溃问题修复和稳定性优化
|
||
|
||
### ✅ 已完成模块
|
||
|
||
**阶段5:详情页功能实现**
|
||
- **模块5.1** ✅ 详情页基础布局和UI组件
|
||
- **模块5.2** ✅ 心情文案生成逻辑(程度+心情类型)
|
||
- **模块5.3** ✅ 更多操作弹窗(编辑、收藏、分享、删除)
|
||
- **模块5.4** ✅ 删除功能和二次确认弹窗
|
||
- **模块5.5** ✅ 收藏功能和状态持久化存储
|
||
- **模块5.6** ✅ 图片放大查看功能
|
||
- **模块5.7** ✅ 分享功能集成(系统分享)
|
||
|
||
### ✅ 已完成模块
|
||
|
||
**阶段6:编辑页功能实现**
|
||
- **模块6.1** ✅ 编辑页基础布局和UI组件
|
||
- **模块6.2** ✅ 返回键退出确认逻辑
|
||
- **模块6.3** ✅ 文本输入框功能(最大500字符,支持emoji)
|
||
- **模块6.4** ✅ 图片选择和预览功能(系统相册,单图)
|
||
- **模块6.5** ✅ 保存功能和首页定位逻辑
|
||
- **模块6.6** ✅ 详情页编辑跳转集成
|
||
- **模块6.7** ✅ 图片显示系统完善(全链路支持)
|
||
- **模块6.8** ✅ 定位机制优化(编辑和新增记录自动定位)
|
||
- **模块6.9** ✅ 数据一致性修复(禁用额外测试记录)
|
||
|
||
### 🔄 开发中模块
|
||
|
||
**阶段7:核心功能完善(下一步重点)**
|
||
- **模块7.1** 📋 摇晃检测功能实现
|
||
- **模块7.2** 📋 心情值计算逻辑
|
||
- **模块7.3** 📋 小鸡动画响应系统
|
||
- **模块7.4** 📋 侧边抽屉功能(更多按钮)
|
||
- **模块7.5** 📋 统计页面实现(统计按钮)
|
||
|
||
---
|
||
|
||
## 📱 应用运行状态
|
||
|
||
### 构建信息
|
||
- **构建命令:** `./gradlew assembleDebug`
|
||
- **APK路径:** `app/build/outputs/apk/debug/app-debug.apk`
|
||
- **包名:** com.daodaoshi.chick_mood
|
||
- **启动Activity:** MainActivitySimple
|
||
- **当前版本:** V1.1.0
|
||
|
||
### 测试结果
|
||
- ✅ 应用成功构建和安装
|
||
- ✅ 应用正常启动和运行(已修复崩溃问题)
|
||
- ✅ 数据库功能正常(Room数据库完整实现)
|
||
- ✅ 基础UI交互正常
|
||
- ✅ 情绪选择弹框功能完整(支持6种情绪选择)
|
||
- ✅ 历史记录展示系统(ViewPager2横向滑动)
|
||
- ✅ 时间显示逻辑正确(今天/昨天/星期数)
|
||
- ✅ 小鸡形象根据情绪切换
|
||
- ✅ 操作按钮功能(收藏、分享、查看详情)
|
||
- ✅ 空状态和内容状态自动切换
|
||
- ✅ 顶部按钮基础功能(更多、统计)
|
||
- ✅ 完整的用户体验流程:选择情绪 → 自动创建记录 → 横向滑动查看
|
||
|
||
---
|
||
|
||
## 🎯 下一步开发计划
|
||
|
||
### 优先级1:详情页功能实现(当前重点)
|
||
**模块5.1:详情页基础布局和UI组件**
|
||
- 创建DetailActivity和对应布局文件
|
||
- 实现顶部导航栏(返回、时间、更多操作)
|
||
- 实现内容区域布局(小鸡形象、心情值、文案、配图、文本)
|
||
- 支持四种内容状态(有图有文、有图无文、无图有文、无图无文)
|
||
|
||
**模块5.2:心情文案生成逻辑**
|
||
- 实现心情值到程度描述的映射逻辑
|
||
- 动态生成"程度+心情类型"组合文案
|
||
- 心情值范围:0-20(有些) → 20-40(非常) → 40-60(超级) → 60-80(这也太) → 80-100(完全无法控制)
|
||
|
||
**模块5.3:更多操作弹窗功能**
|
||
- 实现底部弹窗布局(编辑、收藏、分享、删除)
|
||
- 弹窗动画效果和交互逻辑
|
||
- 各操作按钮的状态管理和点击响应
|
||
|
||
**模块5.4:删除功能和二次确认弹窗**
|
||
- 实现删除确认弹窗布局和交互
|
||
- 数据库记录删除操作
|
||
- 删除成功提示和页面跳转逻辑
|
||
|
||
**模块5.5:收藏功能和状态持久化**
|
||
- 数据库添加收藏字段支持
|
||
- 收藏状态切换和UI反馈
|
||
- 收藏状态持久化存储
|
||
|
||
**模块5.6:图片放大查看功能**
|
||
- 实现图片点击放大预览
|
||
- 支持手势缩放和拖拽
|
||
- 1:1比例显示,图片自适应
|
||
|
||
**模块5.7:分享功能集成**
|
||
- 集成Android系统分享功能
|
||
- 生成分享文本内容
|
||
- 跳转系统分享选择器
|
||
|
||
### 优先级2:核心交互功能(摇晃检测)
|
||
**模块6.1:摇晃检测功能实现**
|
||
- 实现手机摇晃传感器监听
|
||
- 摇晃强度和持续时间计算
|
||
- 摇晃阈值设置和优化
|
||
|
||
**模块6.2:心情值计算逻辑**
|
||
- 根据摇晃参数计算心情强度值
|
||
- 心情强度映射到情绪等级
|
||
- 心情值与情绪选择的关联
|
||
|
||
### 优先级3:动画系统完善
|
||
**模块6.3:小鸡动画响应系统**
|
||
- 小鸡待机动画(Lottie集成)
|
||
- 摇晃时的小鸡反应动画
|
||
- 不同情绪对应的小鸡状态动画
|
||
- 点击小鸡的交互反馈动画
|
||
|
||
### 优先级4:页面功能扩展
|
||
**模块6.4:侧边抽屉功能(更多按钮)**
|
||
- 实现侧边抽屉UI布局
|
||
- 设置、关于、帮助等页面入口
|
||
- 用户个人资料管理
|
||
|
||
**模块6.5:统计页面实现(统计按钮)**
|
||
- 心情数据统计分析
|
||
- 情绪趋势图表展示
|
||
- 记录统计和可视化
|
||
|
||
---
|
||
|
||
## 🔧 技术决策记录
|
||
|
||
### 架构选择
|
||
- **View System vs Compose:** 选择View System,原因:
|
||
- 复杂交互支持更好
|
||
- 团队熟悉度高,调试工具完善
|
||
- 长期维护成本更低
|
||
|
||
- **Hilt vs 手动依赖注入:** 选择手动单例模式,原因:
|
||
- 简化构建过程,减少编译错误
|
||
- 提高构建稳定性
|
||
- 便于理解和维护
|
||
|
||
### 数据库设计
|
||
- **Room数据库:** v2.0版本,支持心情记录和用户配置
|
||
- **单例模式:** SimpleDatabaseManager提供业务逻辑封装
|
||
- **类型转换:** 支持枚举、日期、布尔值等类型
|
||
|
||
---
|
||
|
||
## 🧪 测试覆盖
|
||
|
||
### 单元测试(25个测试用例,100%通过)
|
||
- **EmotionTest:** 7个测试用例,验证情绪枚举功能
|
||
- **MoodRecordTest:** 8个测试用例,验证心情记录功能
|
||
- **UserConfigTest:** 9个测试用例,验证用户配置功能
|
||
- **TestDataGenerator:** 完整的测试数据生成工具
|
||
|
||
### 集成测试
|
||
- ✅ 数据库CRUD操作测试
|
||
- ✅ 应用启动和运行测试
|
||
- ✅ ViewBinding交互测试
|
||
|
||
---
|
||
|
||
## 📂 项目文件结构
|
||
|
||
```
|
||
Chick_Mood/
|
||
├── app/
|
||
│ ├── src/main/
|
||
│ │ ├── java/com/chick_mood/
|
||
│ │ │ ├── data/model/ ✅ 数据模型
|
||
│ │ │ ├── data/database/ ✅ 数据库实现
|
||
│ │ │ └── data/repository/ ✅ 数据仓库(已移除Hilt)
|
||
│ │ ├── java/com/daodaoshi/chick_mood/
|
||
│ │ │ └── MainActivitySimple.kt ✅ 主Activity
|
||
│ │ ├── res/
|
||
│ │ │ ├── layout/ ✅ 布局文件
|
||
│ │ │ ├── values/ ✅ 资源文件
|
||
│ │ │ ├── drawable/ ✅ 图标资源(含实际PNG和占位图)
|
||
│ │ │ └── raw/ ✅ Lottie动画文件
|
||
│ │ └── test/ ✅ 单元测试
|
||
│ └── build.gradle.kts ✅ 构建配置
|
||
├── build.gradle.kts ✅ 项目构建配置
|
||
├── settings.gradle.kts ✅ 项目设置
|
||
├── .gitignore ✅ Git忽略配置
|
||
├── CLAUDE.md ✅ 项目文档
|
||
└── RESOURCE_TABLE.md ✅ 资源汇总表
|
||
```
|
||
|
||
---
|
||
|
||
## 📝 开发规范
|
||
|
||
### 核心原则
|
||
1. **模块化开发:** 每次只开发一个小模块,独立测试
|
||
2. **测试驱动:** 每个模块提供测试代码,确保功能正确性
|
||
3. **代码质量:** 提供中文注释,遵循设计模式,便于维护
|
||
|
||
### 提交规范
|
||
- 每个功能模块完成后提交一次
|
||
- 提交信息清晰描述完成的功能
|
||
- 保持Git历史记录的整洁和可读性
|
||
|
||
### 资源管理规范
|
||
1. **占位图命名:** 使用`ic_placeholder_`前缀命名占位图标
|
||
2. **资源优先级:** 按功能重要性分为高/中/低三个优先级
|
||
3. **文件类型:** 优先使用PNG图片,Vector Drawable仅用于简单图形
|
||
4. **资源汇总:** 所有资源文件路径和使用说明记录在`RESOURCE_TABLE.md`
|
||
5. **替换流程:** 根据设计资源按优先级逐步替换占位图
|
||
6. **文档更新:** 资源变更后及时更新资源汇总表
|
||
|
||
---
|
||
|
||
## 🔄 更新记录
|
||
|
||
**2025-10-24 (V1.3.0 编辑页功能完成)**
|
||
- ✅ **编辑页完整实现**:包含基础布局、UI组件和退出确认机制
|
||
- ✅ **返回键退出确认逻辑**:检测编辑行为,弹出二次确认弹窗
|
||
- ✅ **文本输入功能**:支持最大500字符、emoji输入、实时字符计数
|
||
- ✅ **图片选择和预览功能**:系统相册单图选择、真实图片显示、删除功能
|
||
- ✅ **保存功能和首页定位**:保存后直接返回首页,自动定位到编辑/新增记录
|
||
- ✅ **详情页编辑跳转**:完整集成编辑页跳转逻辑
|
||
- ✅ **图片显示系统完善**:首页卡片、详情页、编辑页、预览页全链路真实图片显示
|
||
- ✅ **图片工具类实现**:ImageUtils提供完整的图片保存、加载、删除API
|
||
- ✅ **定位机制优化**:编辑保存后和新增记录后自动定位,双重验证确保准确性
|
||
- ✅ **数据一致性修复**:禁用数据库测试功能,避免产生额外测试记录
|
||
- ✅ **主题兼容性修复**:解决TextInputLayout与AppCompat主题冲突问题
|
||
|
||
**2025-10-23 (V1.2.0 详情页功能完成)**
|
||
- ✅ **详情页完整实现**:包含基础布局、UI组件和四种内容状态支持
|
||
- ✅ **心情文案生成逻辑**:根据心情值动态生成"程度+心情类型"文案(0-20有些→20-40非常→40-60超级→60-80这也太→80-100完全无法控制)
|
||
- ✅ **更多操作弹窗**:实现底部弹窗(编辑、收藏、分享、删除)和完整交互逻辑
|
||
- ✅ **删除功能和二次确认**:实现删除确认弹窗,防止误删,删除成功提示"记录已删除"
|
||
- ✅ **收藏功能和状态持久化**:支持收藏状态切换,数据库真实存储和UI状态同步
|
||
- ✅ **分享功能集成**:集成Android系统分享,生成包含完整心情信息的分享文本
|
||
- ✅ **图片放大查看功能**:创建ImagePreviewActivity,支持全屏预览和关闭操作
|
||
- ✅ **首页跳转逻辑完善**:修改卡片点击和详情按钮都能跳转到详情页
|
||
- ✅ **真实数据库集成**:详情页使用真实数据库数据,替换随机测试数据
|
||
- ✅ **测试数据生成**:创建10条多样化真实测试数据,支持各种内容状态
|
||
- ✅ **数据一致性保证**:首页和详情页显示完全一致的数据,收藏和删除功能真实操作数据库
|
||
|
||
**2025-10-23 (V1.1.0 首页核心功能完成)**
|
||
- ✅ **历史记录展示系统**:完整的ViewPager2横向滑动展示功能
|
||
- ✅ **心情记录卡片布局**:支持纯文本、文本+图片、多图+文本三种状态
|
||
- ✅ **时间显示逻辑**:正确实现今天/昨天/星期数显示
|
||
- ✅ **小鸡形象切换**:6种情绪对应不同的小鸡占位符图标
|
||
- ✅ **操作按钮功能**:收藏、分享、查看详情完整实现
|
||
- ✅ **崩溃问题修复**:解决ViewPager2布局要求match_parent的崩溃问题
|
||
- ✅ **数据库集成**:情绪选择后自动创建记录并刷新显示
|
||
- ✅ **顶部按钮功能**:更多和统计按钮基础功能实现
|
||
- ✅ **应用稳定性**:解决所有崩溃问题,应用正常运行
|
||
|
||
**2025-10-23 (情绪选择功能完成)**
|
||
- ✅ **情绪选择弹框实现**:完整的BottomSheet对话框,支持6种情绪选择
|
||
- ✅ **交互功能完善**:3x2网格布局,选中状态反馈,确认/取消按钮
|
||
- ✅ **崩溃问题修复**:解决MaterialButton组件冲突导致的应用崩溃
|
||
- ✅ **实际PNG图标集成**:成功整合image文件夹中的高质量情绪图标
|
||
- ✅ **资源管理规范**:创建RESOURCE_TABLE.md资源汇总表,建立占位图替换流程
|
||
- ✅ **用户体验完整**:点击添加按钮 → 选择情绪 → 确认选择 → 显示Toast提示
|
||
|
||
**2025-10-23 (应用成功运行)**
|
||
- ✅ 修复Hilt依赖问题,改用单例模式
|
||
- ✅ 修复ViewBinding和Vector Drawable问题
|
||
- ✅ 应用成功构建、安装和运行
|
||
- ✅ 数据库功能验证完成
|
||
|
||
**2025-10-22 (基础架构完成)**
|
||
- ✅ Room数据库完整实现
|
||
- ✅ 数据模型和单元测试完成
|
||
- ✅ Material Design主题配置
|
||
- ✅ 项目架构搭建完成
|
||
|
||
---
|
||
|
||
## 📄 详情页功能详细说明
|
||
|
||
### 🎯 功能概述
|
||
详情页是心情记录的完整展示和管理页面,支持从历史记录列表跳转查看单条记录的详细信息。
|
||
|
||
### 📱 页面结构
|
||
1. **顶部导航栏**
|
||
- 返回按钮:点击返回历史记录列表
|
||
- 时间显示:记录创建时间(格式:今天/昨天 HH:mm)
|
||
- 更多操作:三点图标,点击弹出操作菜单
|
||
|
||
2. **内容展示区域**
|
||
- 小鸡形象:根据情绪类型显示对应图标
|
||
- 心情值:0-100数值显示
|
||
- 心情文案:动态生成"程度+心情类型"组合
|
||
- 配图区域:可选,支持点击放大查看
|
||
- 文本描述:可选,多行文本内容
|
||
|
||
3. **操作功能**
|
||
- 编辑:跳转编辑页(后续实现)
|
||
- 收藏:切换收藏状态并持久化
|
||
- 分享:调用系统分享功能
|
||
- 删除:二次确认后删除记录
|
||
|
||
### 🔄 交互逻辑
|
||
- **页面跳转**:点击历史记录卡片或详情按钮都可跳转
|
||
- **内容状态**:支持有图有文、有图无文、无图有文、无图无文四种状态
|
||
- **心情文案**:根据心情值自动生成程度描述
|
||
- **图片查看**:点击图片支持放大预览,1:1比例显示
|
||
- **收藏状态**:记录收藏状态并持久化存储
|
||
- **删除操作**:二次确认后删除,成功提示并返回首页
|
||
|
||
### 💾 数据存储
|
||
- **心情值**:0-100范围,开发阶段使用随机生成测试数据
|
||
- **收藏状态**:数据库存储,默认未收藏
|
||
- **时间格式**:与历史记录保持一致,具体到分钟
|
||
|
||
---
|
||
|
||
## 📄 编辑页功能详细说明
|
||
|
||
### 🎯 功能概述
|
||
编辑页是用于修改已存在心情记录的页面,支持编辑文本内容和配图,但核心的情绪类型和心情值不可修改,确保记录的原始性和一致性。
|
||
|
||
### 📱 页面结构
|
||
1. **顶部导航栏**
|
||
- 返回按钮:点击返回上一页,有编辑行为时弹出确认弹窗
|
||
- 时间显示:记录创建时间(格式:今天/昨天 HH:mm,不可修改)
|
||
|
||
2. **只读内容区域**
|
||
- 小鸡形象:根据情绪类型显示对应图标(不可修改)
|
||
- 心情值:0-100数值显示(不可修改)
|
||
- 心情文案:动态生成的"程度+心情类型"组合(不可修改)
|
||
|
||
3. **可编辑区域**
|
||
- 文本输入框:最大500字符,支持emoji,固定高度可滚动
|
||
- 配图区域:支持系统相册单图选择、预览和删除
|
||
|
||
4. **保存按钮**
|
||
- 位置:页面底部固定
|
||
- 功能:保存编辑内容并返回首页,自动定位到编辑记录
|
||
|
||
### 🔄 交互逻辑
|
||
- **退出确认机制**:检测文本或图片变化,弹出二次确认弹窗
|
||
- **图片管理**:无图片时显示添加占位符,有图片时显示缩略图和删除按钮
|
||
- **保存流程**:收集编辑数据 → 更新数据库 → 返回首页 → 自动定位
|
||
- **交互反馈**:保存成功Toast提示"保存成功",返回动画向左推动
|
||
|
||
### 📝 编辑规范
|
||
- **可编辑内容**:文本描述(最大500字符)、配图(单张,系统相册选择)
|
||
- **不可编辑内容**:情绪类型、心情值、时间、心情文案
|
||
- **文本输入**:支持emoji,固定高度输入框,支持垂直滚动
|
||
- **图片处理**:暂时不做大小和压缩限制,使用系统默认加载策略
|
||
|
||
### 🎨 状态支持
|
||
- **基础状态**:无文本无图片的初始编辑状态
|
||
- **文本编辑状态**:有文本无图片的编辑状态
|
||
- **完整编辑状态**:有文本有图片的完整编辑状态
|
||
|
||
---
|
||
|
||
*此文档将随着开发进展持续更新,记录重要的技术决策和进度变化。* |