chick_mood/prd/别摇小鸡产品需求文档 (PRD)-v1.0.md
2025-10-22 20:05:11 +08:00

265 lines
11 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

**版本: 1.1**
**日期: 2025年9月11日**
**更新日期: 2025年10月15日**
### 1. 项目概述
### 1.1. 项目背景
在快节奏的现代生活中,人们面临着各种情绪压力,但往往缺乏一个简单、直观且私密的情感表达渠道。“别摇小鸡”旨在通过一种新颖的物理交互方式——摇晃手机,帮助用户量化、记录并释放自己的情绪,让心情记录变得生动有趣。
### 1.2. 产品定位与目标
一款以“小鸡”为核心IP形象的趣味性心情记录工具。
- **核心定位:** 你的随身情绪宣泄伙伴。
- 产品目标:
- **近期目标:** 提供稳定、流畅的核心功能,让用户能够顺利完成“选择情绪 -> 摇晃记录 -> 添加详情 -> 保存”的全过程。打造可爱、治愈的品牌形象,吸引首批种子用户。
- **远期目标:** 扩展情绪回顾与分析功能,构建一个正向的情感支持社区,提升用户粘性。
### 1.3. 目标用户
- **核心用户:** 16-28岁的年轻学生、职场新人。他们乐于尝试新鲜事物注重个人感受习惯使用手机记录生活需要一个简单有趣的方式来管理自己的情绪。
- **次要用户:** 所有希望通过简单方式记录和了解自己情绪波动的用户。
### 2. UI/UX 设计规范
### 2.1. 核心形象:小鸡 (Piyo)
小鸡是整个App的灵魂它的设计应遵循以下原则
- **形象:** 简约、圆润、可爱。主体为鲜明的黄色,能唤起温暖、活泼的感觉。
- 动态效果:
小鸡的动画是核心交互反馈。
- **待机状态:** 在情绪选择页,小鸡会有轻微的呼吸、眨眼等待机动画。
- **情绪状态:** 当用户选定一种情绪后,小鸡的表情和配饰会发生相应变化(例如,生气时头顶冒烟,悲伤时流泪)。
- **摇晃状态:** 在摇晃过程中,小鸡会根据摇晃的激烈程度,呈现出从轻微晃动到头晕眼花的夸张动画效果。
### 2.2. 色彩体系
整体色调以温暖、治愈为主。主色调为小鸡的黄色,并为六种情绪设计了专属的辅助色系,确保视觉统一性。
| 情绪 | 代表色 | 十六进制色码 | 情绪描述 |
| ---------- | ---------- | ------------- | -------------------- |
| **主题色** | **小鸡黄** | **`#FFD954`** | **温暖、活力、核心** |
| 开心 | 活力橙 | `#FFAB76` | 阳光、喜悦、温暖 |
| 生气 | 警告红 | `#D9534F` | 愤怒、激烈、烦躁 |
| 悲伤 | 忧郁蓝 | `#6B7AFF` | 沉静、伤感、低落 |
| 烦恼 | 浅熏紫 | `#A989C5` | 焦虑、困惑、思索 |
| 孤单 | 深海青 | `#4E89AE` | 孤独、冷静、疏离 |
| 害怕 | 中性灰 | `#888888` | 不安、恐惧、紧张 |
### 2.3. 字体规范
- **中文字体:** 苹方-常规体 (PingFang SC) 或 思源黑体-常规体 (Source Han Sans)
- **英文字体/数字:** Inter / Montserrat
- **特点:** 字体应选择清晰易读的无衬线体,字号根据信息层级清晰划分。
### 3. 产品功能详述
### 3.1. 核心流程:记录心情
这是产品的核心功能闭环。
**流程:**`启动App` -> `进入主页/选择情绪` -> `进入准备页` -> `开始摇晃` -> `查看结果` -> `编辑详情页` -> `保存记录`
**3.1.1. 主页 - 情绪选择**
- 界面布局:
- 屏幕中央是动态的小鸡形象。
- 周围环绕/下方陈列六个情绪按钮,每个按钮包含情绪名称和代表性图标。
- 底部有导航栏,通往“今日记录”和“我的”页面。
- 交互:
- 用户点击某个情绪按钮,按钮呈现选中状态,中央的小鸡表情切换为对应情绪的可爱动画。
- 再次点击可取消选择,或选择其他情绪。
- 选定后,屏幕下方出现一个明确的“下一步”或“开始记录”按钮。
**3.1.2. 准备摇晃页**
- 界面布局:
- 屏幕中央是进入特定情绪状态的小鸡。
- 屏幕上出现清晰的引导文案,如“准备好了吗?请握紧手机,开始摇晃来捕捉你的【开心】情绪吧!”
- 交互:
- 此页面作为用户摇晃前的过渡,给予用户明确的心理和动作准备。
- 用户点击“开始”按钮后进入摇晃阶段。
**3.1.3. 摇晃捕捉页**
- 界面布局:
- 整个屏幕成为交互区域。
- 中央是小鸡,它会根据手机的晃动产生实时动画反馈。
- 屏幕顶部或周围有一个进度条/能量环,用于实时可视化“心情值”的累积。
- 屏幕下方有一个“结束”按钮。
- 交互与技术实现:
- 调用手机的**陀螺仪和加速度传感器**来检测摇晃的幅度和频率。
- **心情值算法 (示例):** `心情值 = SUM(摇晃事件的加速度 * 权重) / 时间`。摇晃越剧烈、时间越长,心情值越高。
- 心情值实时反馈在进度条上,进度条的颜色会随着数值的增加,由浅变深。
- 用户可以随时点击“结束”按钮来停止记录。
- **安全机制:** 如果摇晃停止超过3-5秒系统可以自动结束记录防止误操作。
**3.1.4. 心情强度分级** 根据最终累积的“心情值”,系统自动判定情绪的激烈程度。
| 心情值范围 | 强度等级 | 界面显示 |
| ----------- | -------- | ---------------- |
| 1 - 1000 | 有些 | 有些开心 |
| 1001 - 3000 | 非常 | 非常开心 |
| 3001 - 6000 | 极度 | 极度开心 |
| 6001+ | 无法控制 | 无法控制的开心! |
**3.1.5. 详情编辑与保存页**
- 界面布局:
- 顶部显示本次记录的结果,如“**有些 开心**”,心情值为“**880**”。
- 记录的日期和时间。
- 一个大的文本输入框,提示用户“记录下此刻的想法吧...”。
- 一个“添加图片”的按钮。
- 底部是“保存”按钮。
- 交互:
- 用户可以输入文字,或从相册选择/拍摄一张图片。
- 点击“保存”,系统会弹出“保存成功”的提示,并自动跳转到当天的记录列表或日历视图。
### 3.2. 心情日历/回顾
- 界面布局:
- 以月视图日历的形式展示。
- 记录过心情的日期,会用当天主要情绪的代表色进行标记或填充一个小圆点。
- 点击某个日期,下方会以卡片列表的形式展示当天的所有心情记录。
- 交互:
- 用户可以轻松地切换月份,回顾过去的情绪变化。
- 点击单条记录卡片,可以查看完整的心情详情(包括文字和图片)。
### 3.3. “我的”页面
- 功能:
- **个人资料:** 设置昵称和头像。
- **心情统计 (未来功能):** 以图表形式(如饼图、折线图)展示一段时间内的情绪分布和变化趋势。
- **设置:** 通知、主题切换、关于我们、反馈等。
### 4. 技术架构与实现
### 4.1. 开发平台与技术栈
**平台选择:** Android原生开发暂不开发iOS版本
- **最低支持版本:** Android 5.0 (API 21+)
- **目标版本:** Android 13+ (API 33+)
- **开发语言:** Kotlin (主) + Java (兼容)
**核心技术栈:**
- **UI框架:** Android Jetpack (ViewModel, LiveData, Navigation)
- **动画引擎:** Lottie + Property Animation
- **传感器:** Android Sensor Framework (Accelerometer)
- **数据存储:** SQLite Room + SharedPreferences
- **图片处理:** Glide
### 4.2. 心情值算法 (V1.0简化版)
```
心情值 = Σ(加速度幅值) / 摇晃时间
加速度幅值 = √(x² + y² + z²)
```
**实现细节:**
- **采样频率:** 50Hz (每20ms采样一次)
- **最小摇晃时间:** 3秒
- **数据滤波:** 低通滤波器去除高频噪声
- **单位标准化:** 不同设备间的加速度值标准化处理
### 4.3. 数据库设计
```sql
-- 用户配置表
CREATE TABLE user_config (
id INTEGER PRIMARY KEY,
nickname TEXT,
avatar_path TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- 心情记录表
CREATE TABLE mood_records (
id INTEGER PRIMARY KEY,
emotion_type TEXT NOT NULL, -- 开心/生气/悲伤/烦恼/孤单/害怕
intensity_level TEXT NOT NULL, -- 有些/非常/极度/无法控制
mood_value INTEGER NOT NULL, -- 心情值数值
note TEXT, -- 用户备注
image_path TEXT, -- 图片路径 (V1.1功能)
shake_duration_ms INTEGER, -- 摇晃持续时间(毫秒)
shake_data TEXT, -- 摇晃原始数据(JSON格式)
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- 预留云端同步接口表 (V2.0)
CREATE TABLE sync_queue (
id INTEGER PRIMARY KEY,
record_id INTEGER,
sync_status TEXT DEFAULT 'pending',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
```
### 4.4. 非功能性需求
- **性能:** App启动时间 < 2秒摇晃动画延迟 < 50ms
- **兼容性:** 支持Android 5.0+覆盖95%以上Android设备
- **数据存储:** SQLite本地存储预留云端同步接口
- **隐私:** 数据仅本地存储明确告知用户隐私政策
- **电池优化:** 传感器使用时功耗控制空闲时自动释放
- **权限管理:** 动态申请传感器权限首次使用时引导用户授权
### 5. 版本规划与迭代路线
### 5.1. V1.0 - MVP核心功能 (当前开发版本)
**必须实现功能:**
- 六种基础情绪选择开心生气悲伤烦恼孤单害怕
- 传感器摇晃检测与心情值计算
- 小鸡2D动画响应系统
- 心情记录保存文字+心情值
- 心情日历月视图展示
- 基础用户设置昵称头像
**延后功能 (V1.1+):**
- 图片添加功能
- 心情统计图表
- 云端数据同步
### 5.2. V1.1 - 功能增强版 (预计2个月后)
**新增功能:**
- 📷 图片添加与编辑功能
- 📊 基础心情统计饼图趋势图
- 🎨 更多小鸡动画效果和皮肤
- 🔔 心情记录提醒功能
- 🔧 心情值算法优化基于用户数据
### 5.3. V1.2 - 数据分析版 (预计6个月后)
**新增功能:**
- 📈 详细心情统计报告周报/月报
- 🏷 标签功能与事件分类
- 📱 数据导出功能CSV格式
- 🔄 云端数据同步选项
- 🎯 心情目标设置与追踪
### 5.4. V2.0 - 社区与商业化 (预计1年后)
**新增功能:**
- 👥 匿名情绪分享社区
- 🧘 正念引导与呼吸练习
- 💎 会员体系与高级功能
- 🤖 AI心情分析与建议
- 🎁 小鸡虚拟物品与装扮系统
### 5.5. 技术债务与优化
**持续优化项:**
- 传感器算法精准度提升
- 动画性能优化
- 电池消耗优化
- 不同Android设备的兼容性测试
- 用户隐私保护增强