# 宠物管家小程序第一版本功能拆分详细说明

## 1. 功能模块总览

### 1.1 核心功能模块
1. **用户系统** - 微信登录、用户信息管理
2. **宠物档案管理** - 宠物信息录入、展示、编辑
3. **日常记录系统** - 多类型记录的添加、查看、管理
4. **记账统计功能** - 消费记录、统计分析、图表展示
5. **分享权限管理** - 记录分享设置、隐私控制
6. **家庭共养功能** - 家庭创建、成员邀请、权限管理
7. **AI助手基础版** - 简单对话、知识查询、智能提醒
8. **领养专区** - 发布领养、浏览申请、沟通管理

## 2. 详细功能拆分

### 2.1 用户系统

#### 2.1.1 微信登录
**功能描述**：用户通过微信授权登录小程序
**具体实现**：
- 调用微信小程序登录API获取code
- 后端通过code换取openid和session_key
- 生成JWT token返回给前端
- 前端存储token用于后续API调用

**页面设计**：
- 登录页面：显示微信登录按钮
- 授权页面：获取用户基本信息授权

**数据字段**：
- openid：微信用户唯一标识
- nickname：用户昵称
- avatar：用户头像
- phone：手机号（可选）

#### 2.1.2 用户信息管理
**功能描述**：用户可以查看和编辑个人信息
**具体实现**：
- 个人中心页面展示用户信息
- 支持修改昵称、头像、手机号
- 头像支持拍照或从相册选择

### 2.2 宠物档案管理

#### 2.2.1 宠物信息录入
**功能描述**：用户可以添加宠物的基本信息
**必填字段**：
- 宠物名字：文本输入
- 品种：下拉选择或文本输入
- 性别：单选（公/母）
- 生日：日期选择器
- 到家日期：日期选择器

**可选字段**：
- 体重：数字输入（单位：kg）
- 毛色：文本输入
- 性格标签：多选标签
- 特殊说明：文本输入
- 头像：图片上传

**自动计算字段**：
- 年龄：根据生日自动计算
- 陪伴天数：根据到家日期自动计算
- 星座：根据生日自动计算

#### 2.2.2 宠物信息展示
**首页宠物卡片**：
- 宠物头像（圆形）
- 宠物名字
- 年龄和陪伴天数
- 快捷操作按钮（添加记录、查看详情）

**宠物详情页**：
- 完整的宠物信息展示
- 编辑按钮
- 最近记录列表
- 统计数据概览

#### 2.2.3 多宠物管理
**功能描述**：支持用户管理多只宠物
**具体实现**：
- 宠物列表页面
- 宠物切换功能
- 每只宠物独立的记录和统计

### 2.3 日常记录系统

#### 2.3.1 记录分类定义
**随手记**：
- 内容：文字描述
- 图片：可选，最多9张
- 时间：默认当前时间，可修改

**大事记**：
- 预设选项：绝育、第一次吃奶、第一次吃猫粮、第一次用猫砂、第一次搞破坏、第一次出门、第一次发情、生日、到家
- 自定义：用户可以添加自定义大事记
- 内容：文字描述
- 图片：可选
- 时间：必填

**日常记录**：
- 体重：数值输入（kg）+ 备注
- 尿便：次数 + 状态描述 + 图片
- 饮食：食物类型 + 分量 + 时间 + 图片
- 喝水：水量（ml）+ 时间
- 记账：金额 + 类别 + 备注

**健康记录**：
- 喂保健品：保健品名称 + 剂量 + 时间
- 驱虫：驱虫药名称 + 时间 + 下次提醒
- 疫苗：疫苗类型 + 时间 + 下次提醒
- 抗体水平：检测结果 + 时间
- 体检：体检项目 + 结果 + 图片
- 看病：症状 + 诊断 + 治疗方案 + 费用
- 给药：药品名称 + 剂量 + 频次 + 时间
- 住院：入院时间 + 出院时间 + 原因 + 费用
- 手术：手术类型 + 时间 + 费用 + 恢复情况

**洗护记录**：
- 洗澡：时间 + 使用产品 + 图片
- 剪指甲：时间 + 备注
- 洗耳朵：时间 + 使用产品
- 刷牙：时间 + 使用产品
- 梳毛：时间 + 备注
- 剃脚毛：时间 + 备注
- 美容：时间 + 项目 + 费用 + 图片
- 挤肛门腺：时间 + 备注
- 擦眼屎：时间 + 备注

**清洁记录**：
- 消毒：消毒区域 + 使用产品 + 时间
- 清洁：清洁项目 + 时间
- 换猫砂：时间 + 猫砂类型
- 洗猫砂盆：时间 + 清洁产品
- 洗食盆：时间
- 洗水盆：时间
- 洗玩具：时间 + 清洁方式
- 洗笼子：时间 + 清洁产品
- 换滤芯：设备名称 + 时间
- 换干燥剂：时间 + 位置

**自定义类型**：
- 用户可以创建自定义记录类型
- 自定义字段配置
- 保存为模板供后续使用

#### 2.3.2 记录添加流程
1. 选择宠物（如果有多只）
2. 选择记录类型
3. 填写记录内容
4. 上传图片（可选）
5. 设置分享权限
6. 保存记录

#### 2.3.3 记录展示和管理
**时间线展示**：
- 按时间倒序显示所有记录
- 不同类型用不同图标和颜色区分
- 支持下拉刷新和上拉加载

**分类筛选**：
- 按记录类型筛选
- 按时间范围筛选
- 按宠物筛选（多宠物情况）

**记录详情**：
- 完整的记录信息展示
- 图片查看（支持放大）
- 编辑和删除功能

### 2.4 记账统计功能

#### 2.4.1 消费记录
**记录字段**：
- 金额：数字输入（精确到分）
- 类别：食物、医疗、用品、服务、其他
- 备注：文字描述
- 关联宠物：选择宠物（支持多选）
- 时间：默认当前时间，可修改

**快捷记录**：
- 常用金额快捷按钮
- 常用类别快捷选择
- 语音输入金额

#### 2.4.2 统计分析
**宠物维度统计**：
- 可以切换查看不同宠物的消费
- 支持查看所有宠物的总消费

**时间维度统计**：
- 按月份统计：当月消费总额和分类占比
- 按年份统计：全年消费趋势
- 自定义时间范围统计

**图表展示**：
- 柱状图：月度消费趋势
- 饼图：消费类别占比
- 折线图：消费变化趋势

#### 2.4.3 数据导出
- 支持导出Excel格式的消费记录
- 按时间范围和宠物筛选导出
- 包含详细的消费明细和统计汇总

### 2.5 分享权限管理

#### 2.5.1 分享设置
**三种分享模式**：
- 公开：所有用户可见
- 仅家人：只有家庭成员可见
- 私有：只有自己可见

**设置方式**：
- 添加记录时设置
- 记录详情页修改
- 批量修改多条记录

#### 2.5.2 默认设置
- 用户可以设置默认的分享权限
- 新记录自动使用默认设置
- 可以为不同类型的记录设置不同的默认权限

### 2.6 家庭共养功能

#### 2.6.1 家庭创建
**创建流程**：
1. 用户点击创建家庭
2. 填写家庭名称
3. 选择要共享的宠物
4. 生成邀请码

**家庭信息**：
- 家庭名称
- 创建时间
- 成员数量
- 共享宠物列表

#### 2.6.2 成员邀请
**邀请方式**：
- 邀请码分享：生成6位数字邀请码
- 微信直接邀请：通过微信分享邀请链接

**邀请流程**：
1. 家庭主人发送邀请
2. 被邀请人点击链接或输入邀请码
3. 确认加入家庭
4. 设置成员权限

#### 2.6.3 权限管理
**角色定义**：
- 主人：所有权限，可以邀请成员、设置权限、删除家庭
- 家人：可以查看和添加记录，不能删除其他人的记录
- 观察者：只能查看记录，不能添加或修改

**权限细分**：
- 查看记录：所有角色都有
- 添加记录：主人和家人
- 编辑记录：只能编辑自己添加的记录
- 删除记录：只能删除自己添加的记录
- 管理宠物：只有主人可以

#### 2.6.4 消息推送
**推送场景**：
- 新成员加入家庭
- 重要健康记录（生病、疫苗、体检等）
- 紧急情况记录

**推送方式**：
- 微信小程序模板消息
- 站内消息通知

### 2.7 AI助手基础版

#### 2.7.1 基础对话功能
**对话界面**：
- 聊天气泡样式
- 支持文字输入
- 显示AI回复

**知识问答**：
- 宠物生病：常见疾病症状和处理建议
- 宠物训练：基础训练方法和技巧
- 宠物喂养：不同年龄段的喂养指导
- 紧急情况：紧急情况的处理步骤

#### 2.7.2 智能提醒功能
**语义识别**：
- 识别时间表达：明天、下周、9点等
- 识别任务内容：疫苗、体检、喂药等
- 生成结构化提醒

**提醒管理**：
- 自动生成提醒记录
- 设置推送时间
- 提醒后询问完成状态
- 更新任务状态

#### 2.7.3 对话历史
**历史记录**：
- 保存所有对话内容
- 按日期分组显示
- 支持搜索历史对话

**分页加载**：
- 每页显示20条对话
- 支持上拉加载更多
- 新对话自动滚动到底部

#### 2.7.4 每日总结
**总结功能**：
- 每天晚上自动总结当天对话
- 识别重要信息（健康问题、异常情况）
- 生成关注提醒

**主动关怀**：
- 如果提到宠物生病，第二天主动询问情况
- 定期询问宠物状况
- 提供个性化建议

### 2.8 领养专区

#### 2.8.1 发布领养信息
**宠物信息**：
- 基本信息：名字、性别、种类、年龄
- 健康状况：绝育、疫苗、驱虫、疾病情况
- 性格描述：文字描述宠物性格和习惯
- 图片上传：最多9张宠物照片

**领养要求**：
- 基础要求：年龄、居住条件、经济能力
- 特殊要求：养宠经验、是否同意绝育等
- 筛选问题：自定义问题列表

**发布设置**：
- 有效期：可设置领养信息的有效期
- 联系方式：手机号或微信号
- 地区：选择所在城市和区域

#### 2.8.2 浏览和筛选
**列表展示**：
- 宠物照片和基本信息
- 发布时间和地区
- 快速筛选标签

**筛选功能**：
- 地区筛选：按省市区筛选
- 类型筛选：按宠物种类筛选
- 条件筛选：按年龄、性别、绝育状态筛选

**搜索功能**：
- 关键词搜索
- 按品种搜索
- 按发布者搜索

#### 2.8.3 申请和沟通
**申请流程**：
1. 查看领养详情
2. 填写申请信息
3. 回答筛选问题
4. 提交申请
5. 等待审核

**申请信息**：
- 个人基本信息
- 养宠经验描述
- 居住环境说明
- 承诺和保证

**沟通功能**：
- 简单的聊天界面
- 支持文字和图片
- 消息推送通知

#### 2.8.4 管理和审核
**发布者管理**：
- 查看所有申请
- 筛选合适的申请者
- 与申请者沟通
- 选择最终领养者

**管理员审核**：
- 审核发布的领养信息
- 处理举报和投诉
- 维护平台秩序

**状态管理**：
- 发布中、已暂停、已完成
- 申请中、已通过、已拒绝
- 自动状态更新

## 3. 技术实现要点

### 3.1 数据存储
- 使用MongoDB存储所有数据
- 图片存储在腾讯云COS
- Redis缓存热点数据

### 3.2 API设计
- RESTful API设计
- JWT token认证
- 统一的错误处理和返回格式

### 3.3 性能优化
- 图片压缩和懒加载
- 分页加载减少数据量
- 缓存常用数据

### 3.4 安全考虑
- 用户数据加密存储
- API接口权限验证
- 图片内容安全检查

---

**文档版本**：v1.0  
**创建日期**：2025年1月  
**负责人**：开发团队
