FurBall/毛球手账 — 产品功能设计.md

18 KiB
Raw Permalink Blame History

🐾 宠物档案与健康管理小程序 — 产品功能设计

**项目名称:**FurBall

中文名称:毛球手账

一、产品定位与目标用户

维度 定义
产品定位 面向养宠人士的轻量级宠物健康管家,核心解决"忘记打疫苗、驱虫时间混乱、病历散落"三大痛点
目标用户 25-40岁城市养宠人群以猫狗为主注重宠物健康管理但嫌传统App太复杂
核心价值 让宠物健康管理像记账一样简单,关键时刻(如就医、托运)一键调出完整档案

二、功能架构总览

├── 首页Dashboard
├── 宠物档案Pet Profile
│   ├── 基础信息管理
│   ├── 健康档案
│   └── 成长记录
├── 健康日程Health Schedule
│   ├── 疫苗管理
│   ├── 驱虫管理
│   ├── 体检提醒
│   └── 自定义提醒
├── 发现/社区Discovery
│   ├── 附近医院
│   ├── 养宠百科
│   └── 丢失宠物启事(可选)
├── 我的Profile
│   ├── 多宠物切换
│   ├── 数据导出
│   └── 会员中心
└── 消息中心Notifications

三、核心功能模块详细设计

模块一宠物档案管理Pet Profile

1.1 基础信息卡片

字段 类型 说明
宠物昵称 String 必填2-10字
宠物类型 Enum 猫/狗/其他(兔、仓鼠、鸟、爬宠等)
品种 String 二级联动选择,如狗→金毛/柯基/柴犬
性别 Enum 公/母/未知
出生日期 Date 用于计算年龄,支持"不知道具体日期,估算"
体重 Number kg支持历史记录曲线
毛色/特征 String 用于丢失启事描述
绝育状态 Boolean 是/否/未计划
头像 Image 支持相册选择或拍照

产品细节

  • 首次进入强制创建至少一只宠物档案
  • 支持多宠物管理,首页可左右滑动切换
  • 年龄自动计算并显示"3岁2个月"格式
  • 体重输入后自动生成趋势图近6个月

1.2 健康档案(核心差异化功能)

子功能 描述
疫苗记录 记录每次疫苗:名称(如妙三多、狂犬)、批次号、接种日期、下次接种日期、接种医院、医生、疫苗证照片上传
驱虫记录 内驱/外驱/内外同驱分类,品牌(大宠爱、福来恩等),使用日期,下次日期
病历记录 就诊时间、医院、主诉、诊断结果、医嘱、用药清单、检查报告照片(支持多张)、费用
体检报告 年度体检数据归档支持PDF/图片上传
过敏史 食物过敏、药物过敏、环境过敏标签
紧急信息 血型(如有)、慢性病、正在服用的药物

产品细节

  • 每条记录支持时间轴展示,按时间倒序
  • 疫苗记录可生成「电子免疫证」,模拟真实疫苗本样式,方便给宠物店/托运公司查看
  • 病历支持 OCR 识别医院小票/处方单(增值功能)
  • 所有记录支持导出为PDF(会员功能)

1.3 成长记录(情感向功能)

  • 体重变化曲线图
  • 身高/体长记录(可选)
  • 里程碑事件(第一次洗澡、第一次出门、换牙等)
  • 相册时间轴(按宠物维度聚合照片)

模块二健康日程与智能提醒Health Schedule

这是最高频使用的功能,也是用户留存的核心。

2.1 疫苗提醒

功能点 设计
预设方案 根据宠物类型和年龄自动推荐疫苗方案如幼猫3针妙三多+1针狂犬
自定义方案 用户可手动调整
提醒逻辑 到期前7天、3天、当天分别推送订阅消息
完成确认 用户标记"已完成"后自动计算下次时间

2.2 驱虫提醒

功能点 设计
频率设置 内驱3月/次、外驱1月/次),根据品牌推荐默认值
季节模式 夏季自动缩短外驱间隔(可选智能建议)
提醒方式 同疫苗,支持微信订阅消息

2.3 自定义提醒

  • 洗澡、剪指甲、换粮、买粮、体内外驱分开提醒等
  • 支持循环周期每N天/周/月)
  • 支持一次性提醒(如预约了绝育手术)

2.4 日程看板(首页核心)

┌─────────────────────────────┐
│  今日日程                    │
│  🐱 咪咪 — 外驱(大宠爱)    │
│     已逾期2天 ⚠️            │
│  🐶 旺财 — 狂犬疫苗第2年 │
│     还有5天                  │
├─────────────────────────────┤
│  本周待办3               │
│  本月已完成5             │
└─────────────────────────────┘

产品细节

  • 逾期事项红色高亮,点击直达记录页面
  • 完成操作后弹出「成就卡片」,可分享朋友圈
  • 连续按时完成N次获得徽章游戏化

模块三附近服务LBS Discovery

3.1 附近宠物医院

功能 说明
地图模式 基于腾讯位置服务显示3km/5km/10km内医院
列表模式 距离排序显示评分、营业时间、是否24小时
医院档案 名称、地址、电话、营业时间、特色科室、用户评价
一键导航 唤起腾讯地图/高德地图
我的就诊记录 关联到该医院的病历自动聚合

数据来源

  • MVP阶段手动录入种子数据你所在城市50家医院
  • 增长阶段UGC 允许用户添加/纠错,审核后展示

3.2 养宠百科(内容运营)

  • 按宠物类型分类的科普文章(疫苗知识、驱虫指南、常见疾病)
  • 搜索功能(如"猫咪呕吐怎么办"
  • 症状自查工具(决策树:症状→可能原因→建议就医/观察)

3.3 宠物丢失启事(社区功能,可选)

  • 发布丢失信息:宠物照片、特征、丢失地点、时间、联系方式
  • 基于地理位置推送给附近用户
  • 发现宠物者可点击「我看见了」上传位置
  • 注意需接入微信内容安全API审核避免诈骗

模块四数据与个性化My Profile

4.1 多宠物管理

  • 支持创建最多3只宠物免费版/ 无限(会员版)
  • 快速切换首页顶部宠物头像Tab切换
  • 家庭共享:邀请家人共同管理同一只宠物(通过分享链接绑定)

4.2 数据安全与导出

  • 云端自动备份uniCloud天然支持
  • 导出PDF疫苗接种证明、完整健康档案
  • 数据迁移支持导出Excel/导入(防平台锁定)

4.3 会员体系

等级 功能
免费版 2只宠物、基础提醒、本地记录
高级会员 无限宠物、PDF导出、OCR识别、家庭共享、去广告、优先客服

四、核心用户流程User Flow

流程1新用户首次使用Onboarding

启动小程序 → 微信授权登录 → 引导创建宠物档案
    ↓
输入宠物昵称、类型、品种、生日、头像
    ↓
系统根据年龄自动推荐疫苗/驱虫计划
    ↓
"是否开启提醒?" → 引导开启订阅消息授权
    ↓
进入首页,展示今日/近期日程

流程2记录一次疫苗接种

首页点击"+" → 选择"记录疫苗" → 选择宠物
    ↓
填写:疫苗名称、接种日期、医院、医生、批次号
    ↓
上传疫苗证照片(可选)
    ↓
系统自动计算下次接种日期如1年后
    ↓
确认保存 → 更新日程看板

流程3逾期提醒处理

收到订阅消息:"咪咪的外驱已逾期3天"
    ↓
点击消息进入小程序 → 高亮显示逾期事项
    ↓
用户选择:"已完成" / "推迟3天" / "忽略"
    ↓
若完成:要求补录使用的驱虫药品牌 → 更新记录

五、数据库设计uniCloud / MongoDB

集合1users用户表

{
  _id: ObjectId,
  wx_openid: String,          // 微信openid
  unionid: String,            // 微信unionid
  nickName: String,
  avatarUrl: String,
  phone: String,              // 可选绑定
  membership: {
    type: String,             // 'free' | 'premium'
    expireAt: Date
  },
  createdAt: Date,
  updatedAt: Date
}

集合2pets宠物档案表

{
  _id: ObjectId,
  user_id: ObjectId,          // 关联users
  name: String,
  type: String,               // 'cat' | 'dog' | 'other'
  breed: String,
  gender: String,             // 'male' | 'female' | 'unknown'
  birthday: Date,
  isBirthdayEstimated: Boolean,
  color: String,
  weight: [{                  // 体重历史数组
    value: Number,
    date: Date,
    note: String
  }],
  neutered: Boolean,
  avatar: String,             // 云存储URL
  allergies: [String],
  chronicDiseases: [String],
  emergencyContact: {
    name: String,
    phone: String
  },
  createdAt: Date
}

集合3health_records健康记录表

{
  _id: ObjectId,
  pet_id: ObjectId,
  user_id: ObjectId,
  type: String,               // 'vaccine' | 'deworm' | 'medical' | 'checkup'
  // 疫苗专用字段
  vaccineName: String,
  batchNumber: String,
  // 驱虫专用字段
  dewormType: String,         // 'internal' | 'external' | 'both'
  brand: String,
  // 病历通用字段
  hospital: String,
  doctor: String,
  date: Date,
  nextDate: Date,             // 下次提醒日期
  description: String,
  diagnosis: String,
  medications: [{
    name: String,
    dosage: String,
    frequency: String
  }],
  images: [String],           // 云存储图片数组
  cost: Number,               // 费用,可选
  isCompleted: Boolean,       // 是否完成(用于提醒)
  createdAt: Date
}

集合4schedules日程/提醒表)

{
  _id: ObjectId,
  pet_id: ObjectId,
  user_id: ObjectId,
  type: String,               // 'vaccine' | 'deworm' | 'custom'
  title: String,
  scheduledDate: Date,
  frequency: String,          // 'once' | 'daily' | 'weekly' | 'monthly' | 'yearly'
  interval: Number,           // 每N个frequency
  status: String,             // 'pending' | 'completed' | 'overdue' | 'skipped'
  reminderDays: [Number],     // 提前提醒天数 [7,3,1]
  relatedRecordId: ObjectId,  // 关联health_records
  createdAt: Date
}

集合5hospitals医院表种子数据+UGC

{
  _id: ObjectId,
  name: String,
  address: String,
  location: {
    type: "Point",
    coordinates: [lng, lat]   // GeoJSON用于地理位置查询
  },
  phone: String,
  hours: String,
  is24Hour: Boolean,
  tags: [String],             // ['骨科', '心脏科', '夜间急诊']
  rating: Number,
  reviewCount: Number,
  verified: Boolean,          // 是否官方认证
  createdAt: Date
}

索引建议

  • pets: { user_id: 1 }
  • health_records: { pet_id: 1, date: -1 }, { user_id: 1 }
  • schedules: { user_id: 1, scheduledDate: 1 }, { status: 1 }
  • hospitals: { location: "2dsphere" }(地理位置查询必需)

六、技术实现要点uniCloud侧

1. 云函数设计

云函数 职责
login 微信登录获取openid创建/更新用户
petCrud 宠物的增删改查
recordCrud 健康记录的增删改查
scheduleManager 创建提醒、计算下次日期、更新状态
reminderPush 定时触发器每天9:00扫描schedules,给当天/逾期用户发订阅消息
nearbyHospitals 接收经纬度用MongoDB $near查询附近医院
exportPdf 生成PDF档案可用pdfkit或调用外部API
contentCheck 调用微信内容安全API审核UGC内容

2. 定时触发器(关键)

// 每天上午9点执行
exports.main = async (event, context) => {
  const today = new Date();
  const db = uniCloud.database();
  
  // 查找今天需要提醒或已逾期的日程
  const schedules = await db.collection('schedules')
    .where({
      scheduledDate: db.command.lte(today),
      status: db.command.in(['pending', 'overdue'])
    })
    .get();
    
  // 批量发送订阅消息(需用户之前授权过)
  for (let item of schedules.data) {
    await sendSubscribeMessage(item.user_id, item);
  }
  
  // 标记逾期
  await markOverdue(schedules.data);
};

3. 权限设计DB Schema

利用 uniCloud 的 DB Schema 控制数据安全:

{
  "bsonType": "object",
  "permission": {
    "read": "doc.user_id == auth.uid",
    "create": "auth.uid != null",
    "update": "doc.user_id == auth.uid",
    "delete": "doc.user_id == auth.uid"
  }
}

确保用户只能看到自己的宠物数据。


七、UI/UX 设计建议

首页布局

┌──────────────────────────────┐
│  [头像] 早上好,铲屎官        │
│                              │
│  ┌────┐  ┌────┐  ┌────┐    │
│  │🐱咪咪│  │🐶旺财│  │+添加│   │
│  └────┘  └────┘  └────┘    │
│                              │
│  📅 今日日程                 │
│  ┌────────────────────────┐  │
│  │ ⚠️ 咪咪外驱 已逾期2天   │  │
│  │    [立即补录]           │  │
│  └────────────────────────┘  │
│  ┌────────────────────────┐  │
│  │ ✅ 旺财狂犬疫苗 还有5天 │  │
│  └────────────────────────┘  │
│                              │
│  📊 咪咪本月健康概览          │
│  体重: 4.2kg ↑0.1           │
│  下次疫苗: 2026-12-01        │
│                              │
│  [快速记录] [查看档案] [附近医院] │
└──────────────────────────────┘

设计规范

  • 主色调:暖橙色(#FF8C42+ 薄荷绿(#4ECDC4传递温暖、健康、活力
  • 图标风格:线性插画,宠物形象圆润可爱
  • 空状态:未创建宠物时展示引导插画;无日程时显示"今天可以撸猫啦~"
  • 加载态 paw print爪印旋转动画

八、MVP 版本排期建议

Phase 12-3周核心闭环

  • 微信登录 + 用户系统
  • 创建/编辑宠物基础档案
  • 疫苗/驱虫记录 CRUD
  • 基础提醒逻辑 + 订阅消息推送
  • 首页日程看板

Phase 22周体验增强

  • 体重记录 + 曲线图
  • 病历记录(图文)
  • 电子免疫证生成H5页面样式
  • 多宠物切换

Phase 32周社区与变现

  • 附近医院(种子数据)
  • 养宠百科10篇种子文章
  • 会员系统uniCloud支持微信支付
  • PDF导出

Phase 4持续运营

  • 丢失宠物启事
  • 家庭共享
  • OCR识别
  • 用户反馈迭代

九、商业化路径

阶段 策略
冷启动 免费使用,通过宠物群、小红书、豆瓣小组引流
成长期 推出高级会员¥12/月 或 ¥98/年),核心功能免费,高级功能付费
变现期 宠物保险 CPS 分销(支付宝/众安宠物险)、宠物医院导流抽佣、宠物用品电商

十、风险与合规注意

  1. 订阅消息限制:微信小程序订阅消息需要用户每次授权,设计时要引导用户在关键节点(如设置提醒时)授权,且文案说明价值
  2. 医疗免责声明:所有健康建议需标注"仅供参考,具体请遵医嘱",避免医疗纠纷
  3. 图片审核用户上传的宠物照片、病历等需接入微信内容安全API
  4. 数据隐私:宠物档案属于个人数据,需在用户协议中明确数据使用范围

如果你确定要做这个方向,我可以继续帮你输出:

  1. 详细的数据库 Schema 代码uniCloud 的 DB Schema 格式)
  2. 核心页面的前端组件结构uni-app 页面规划)
  3. 云函数代码框架登录、CRUD、定时提醒

你想先从哪个部分深入?