Skip to content

firstmeet/babyTime

Repository files navigation

萌宝食光 (BabyTime)

基于 HarmonyOS Next 的智能育儿记录应用

项目架构

📁 目录结构

entry/src/main/ets/
├── common/                      # 通用模块
│   ├── Constants.ets            # 常量定义
│   ├── DatabaseManager.ets      # 数据库管理器
│   ├── LiveViewManager.ets      # 实况窗管理器
│   ├── ReminderManager.ets      # 系统提醒管理器
│   ├── DataExportManager.ets    # 数据导出管理器
│   └── Utils.ets                # 工具类(日期计算等)
├── components/                  # 可复用组件
│   ├── StatusCard.ets          # 状态卡片
│   └── TimelineItem.ets        # 时间轴项
├── model/                      # 数据模型与数据访问层
│   ├── Types.ets               # 类型定义
│   ├── MockData.ets            # 模拟数据
│   ├── RecordRepository.ets    # 记录数据仓库
│   └── BabyRepository.ets      # 宝宝数据仓库
├── pages/                      # 页面
│   ├── Index.ets               # 主页(底部导航)
│   ├── DashboardPage.ets       # 首页看板
│   ├── BreastfeedingPage.ets   # 哺乳计时
│   ├── BottlePage.ets          # 瓶喂记录
│   ├── DiaperPage.ets          # 换尿布记录
│   ├── SleepPage.ets           # 睡眠记录
│   ├── MedicinePage.ets        # 喂药记录
│   ├── GrowthPage.ets          # 生长记录
│   ├── TrendsPage.ets          # 趋势分析
│   ├── FamilyPage.ets          # 家庭管理
│   ├── WikiPage.ets            # 育儿百科
│   └── ProfilePage.ets         # 个人中心
└── viewmodel/                  # 视图模型(预留)

🏗️ 技术架构

技术栈

  • 框架:HarmonyOS Next (API 12+)
  • 语言:ArkTS (Strict Mode)
  • UI:ArkUI (声明式)
  • 存储:RDB (@ohos.data.relationalStore)
  • 状态管理:AppStorage + @State/@Prop/@Link
  • 系统特性
    • Live View (@kit.LiveViewKit) - 实况窗
    • Reminder Kit (@kit.BackgroundTasksKit, @kit.NotificationKit) - 系统提醒
    • File System (@ohos.file.fs) - 文件导出
    • Ability Kit (@kit.AbilityKit) - Context 管理

架构模式

  • Repository Pattern:数据访问层抽象,统一数据操作接口
  • Singleton Pattern:管理器类(DatabaseManager、LiveViewManager 等)使用单例
  • Builder Pattern:自定义组件使用 @Builder 装饰器
  • MVVM:页面(View)+ AppStorage(ViewModel)+ Repository(Model)

🎨 设计规范

色彩系统

  • 品牌主色
    • Mint Green (#A8E6CF) - 健康、成长
    • Warm Peach (#FFD3B6) - 哺乳、温馨
  • 状态色
    • Safe Blue (#DCEDC1) - 正常
    • Caution Orange (#FFD3B6) - 警告
    • Alert Red (#FF8B94) - 紧急
  • 中性色
    • 背景层 (#F9FAFB)
    • 卡片层 (#FFFFFF)
    • 文字主色 (#2C3E50)

UI 规范

  • 圆角:24vp+ (大圆角设计)
  • 动画时长:300ms / 350ms
  • 字体:计时器使用 Monospace 防止跳动

🗄️ 数据库设计

Activity_Log 表

CREATE TABLE Activity_Log (
  log_id TEXT PRIMARY KEY,
  baby_id TEXT NOT NULL,
  type INTEGER NOT NULL,        -- 1:母乳, 2:瓶喂, 3:尿布, 4:睡眠, 5:医疗
  start_time INTEGER NOT NULL,
  end_time INTEGER,
  side_index INTEGER,           -- 0:左, 1:右
  amount REAL,                  -- ml 或秒
  formula_brand TEXT,
  diaper_type TEXT,
  diaper_color TEXT,
  diaper_texture TEXT,
  note TEXT,
  created_by TEXT,
  is_sync INTEGER DEFAULT 0     -- 0:未上传, 1:已上传
);

Baby 表

CREATE TABLE Baby (
  baby_id TEXT PRIMARY KEY,
  name TEXT NOT NULL,
  gender TEXT NOT NULL,
  birth_date INTEGER NOT NULL,
  theme_color TEXT NOT NULL,
  avatar_url TEXT,
  is_sync INTEGER DEFAULT 0
);

⚙️ 核心功能实现

1. 哺乳计时 (Breastfeeding Timer)

  • 永不停止的计时器:基于 startTime 计算 currentTime - startTime
  • 左右侧独立计时:支持实时切换
  • 状态持久化:使用 AppStorage 跨页面保存
  • 实况窗集成:后台任务挂载显示

关键代码位置

  • BreastfeedingPage.ets - 主页面
  • LiveViewManager.ets - 实况窗管理

2. 数据层 (Data Layer)

  • Repository 模式:封装所有数据库操作
  • 同步状态管理is_sync 字段维护云端同步状态
  • 数据验证:奶量超标自动弹窗确认

关键代码位置

  • DatabaseManager.ets - 数据库初始化
  • RecordRepository.ets - 记录CRUD
  • BabyRepository.ets - 宝宝档案CRUD

3. 实况窗 (Live View)

  • 动态显示:仅在计时器激活时显示
  • 实时更新:每秒刷新显示时间
  • 点击跳转:快速返回计时页面

关键代码位置

  • DashboardPage.ets - 实况窗显示逻辑
  • LiveViewManager.ets - 实况窗生命周期管理

4. 睡眠记录 (Sleep Tracking)

  • 持续计时:后台保持计时状态
  • 状态持久化:应用关闭后恢复
  • 备注功能:记录睡眠质量

关键代码位置

  • SleepPage.ets - 睡眠记录页面
  • AppStorage - 睡眠状态保存

5. 喂药提醒 (Medicine Reminder)

  • 系统级提醒:使用 @kit.ReminderAgentKit
  • 间隔设置:4/6/8/12小时可选
  • 强提醒:到时自动弹出

关键代码位置

  • MedicinePage.ets - 喂药记录页面
  • ReminderManager.ets - 提醒管理器

6. 趋势分析 (Trends)

  • 多维度统计:喂养、睡眠、排泄全面分析
  • 时间段选择:今日/7天/30天
  • 平均值计算:自动计算各项平均值

关键代码位置

  • TrendsPage.ets - 趋势分析页面

7. 生长记录增强 (Enhanced Growth Tracking)

  • 数据记录:体重、身高、头围多维度记录
  • 历史查看:时间轴展示所有生长记录
  • WHO 标准对比:实时对比 WHO 生长标准,显示评估结果
  • 数据验证:智能验证输入数据合理性

关键代码位置

  • GrowthPage.ets - 生长记录页面
  • GrowthData.ets - 生长数据模型和 WHO 标准

8. 疫苗助手增强 (Enhanced Vaccine Assistant)

  • 完整疫苗清单:包含国家免疫规划疫苗 + 自费疫苗(共22种)
  • 数据持久化:使用 Preferences 保存接种记录
  • 分类筛选:全部/必须接种/自费疫苗
  • 进度统计:实时显示接种完成度
  • 详细信息:建议月龄、剂次、接种日期

关键代码位置

  • WikiPage.ets - 疫苗助手页面
  • VaccineManager.ets - 疫苗数据管理器

9. 宝宝档案 (Baby Profile)

  • 档案编辑:姓名、性别、出生日期、主题色
  • 月龄计算:自动计算当前月龄和成长阶段
  • 数据管理:导出数据、云端同步(预留)

关键代码位置

  • ProfilePage.ets - 宝宝档案页面
  • Utils.ets - 工具类(日期计算等)

10. 家庭成员 (Family Management)

  • 成员管理:添加/管理家庭成员
  • 在线状态:显示成员在线状态
  • 协同功能:实时同步、操作可见、NFC交接(预留)

关键代码位置

  • FamilyPage.ets - 家庭成员页面

11. 数据导出 (Data Export)

  • JSON 导出:完整数据导出为 JSON 格式
  • 报告生成:生成文本格式的成长报告
  • 统计分析:记录统计、同步状态

关键代码位置

  • DataExportManager.ets - 数据导出管理器

🚀 使用指南

编译命令

# 编译项目
hvigorw assembleHap

# 安装到设备
hdc install entry-default-signed.hap

数据流程

  1. 启动应用EntryAbility 初始化数据库
  2. 创建记录 → 页面 → RecordRepository → RDB
  3. 查询记录DashboardPageRecordRepository → RDB

📊 已实现的功能

核心功能

✅ 底部导航(5个Tab)
✅ 侧边抽屉(多宝宝切换)
✅ 哺乳计时(左右侧独立 + 实况窗)
✅ 瓶喂记录(液面动画 + 数据验证)
✅ 换尿布记录(颜色/性状选择)
✅ 睡眠记录(持续计时 + 状态保存)
✅ 喂药记录(提醒集成)

数据与分析

✅ 数据库持久化(RDB + Repository Pattern)
✅ 实况窗集成(LiveViewKit)
✅ 时间轴展示
✅ 趋势分析(统计数据)
✅ 疫苗助手(接种清单)

智能功能

✅ 数据验证(奶量超标警告)
✅ 系统级提醒(ReminderKit)
✅ 状态持久化(计时器恢复)
✅ 错误处理规范

🔮 待实现功能

⬜ 生长曲线(身高/体重/头围)
⬜ 图表可视化(奶量曲线、睡眠时长)
⬜ 云端同步(Cloud DB)
⬜ NFC 碰一碰交接
⬜ 家庭成员协同(实时状态)
⬜ 辅食实验室(成分分析)
⬜ 过敏推导算法(72小时追溯)
⬜ 月子/婴儿/幼儿模式切换
⬜ 多宝宝并发同步

📝 开发规范

  • 异步处理:优先使用 async/await
  • 状态管理:全局状态用 AppStorage,局部用 @State/@Link
  • 错误处理:所有异步操作包裹在 try-catch
  • 命名规范
    • 文件:PascalCase(组件)/ kebab-case(资源)
    • 变量:camelCase
    • 常量:UPPER_SNAKE_CASE

🐛 调试技巧

// 查看日志
hilog.info(0x0000, 'TAG', 'message');

// 数据库查询调试
console.info('[RecordRepository] Query result:', JSON.stringify(records));

开发团队: AI Coding Assistant
HarmonyOS 版本: 6.0 Next (API 12+)

🎉 功能完成统计

核心记录功能:7/7 ✅

  • 哺乳计时、瓶喂、换尿布、睡眠、喂药、生长记录、时间轴展示

智能功能:7/7 ✅

  • 数据验证、系统提醒、实况窗、状态持久化、错误处理、权限管理、数据导出

分析功能:2/2 ✅

  • 趋势分析、疫苗助手

管理功能:3/3 ✅

  • 宝宝档案编辑、家庭成员管理、数据导出/报告

工具类:5/5 ✅

  • DatabaseManager、LiveViewManager、ReminderManager、DataExportManager、VaccineManager、Utils

模型与数据:3/3 ✅

  • Types、GrowthData、WHO 生长标准

总进度:27/27 核心功能已完成 🎊


最后更新: 2026-01-13

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors