基于 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) - 哺乳、温馨
- Mint Green (
- 状态色
- Safe Blue (
#DCEDC1) - 正常 - Caution Orange (
#FFD3B6) - 警告 - Alert Red (
#FF8B94) - 紧急
- Safe Blue (
- 中性色
- 背景层 (
#F9FAFB) - 卡片层 (
#FFFFFF) - 文字主色 (
#2C3E50)
- 背景层 (
- 圆角:24vp+ (大圆角设计)
- 动画时长:300ms / 350ms
- 字体:计时器使用 Monospace 防止跳动
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:已上传
);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
);- 永不停止的计时器:基于
startTime计算currentTime - startTime - 左右侧独立计时:支持实时切换
- 状态持久化:使用
AppStorage跨页面保存 - 实况窗集成:后台任务挂载显示
关键代码位置:
BreastfeedingPage.ets- 主页面LiveViewManager.ets- 实况窗管理
- Repository 模式:封装所有数据库操作
- 同步状态管理:
is_sync字段维护云端同步状态 - 数据验证:奶量超标自动弹窗确认
关键代码位置:
DatabaseManager.ets- 数据库初始化RecordRepository.ets- 记录CRUDBabyRepository.ets- 宝宝档案CRUD
- 动态显示:仅在计时器激活时显示
- 实时更新:每秒刷新显示时间
- 点击跳转:快速返回计时页面
关键代码位置:
DashboardPage.ets- 实况窗显示逻辑LiveViewManager.ets- 实况窗生命周期管理
- 持续计时:后台保持计时状态
- 状态持久化:应用关闭后恢复
- 备注功能:记录睡眠质量
关键代码位置:
SleepPage.ets- 睡眠记录页面AppStorage- 睡眠状态保存
- 系统级提醒:使用
@kit.ReminderAgentKit - 间隔设置:4/6/8/12小时可选
- 强提醒:到时自动弹出
关键代码位置:
MedicinePage.ets- 喂药记录页面ReminderManager.ets- 提醒管理器
- 多维度统计:喂养、睡眠、排泄全面分析
- 时间段选择:今日/7天/30天
- 平均值计算:自动计算各项平均值
关键代码位置:
TrendsPage.ets- 趋势分析页面
- 数据记录:体重、身高、头围多维度记录
- 历史查看:时间轴展示所有生长记录
- WHO 标准对比:实时对比 WHO 生长标准,显示评估结果
- 数据验证:智能验证输入数据合理性
关键代码位置:
GrowthPage.ets- 生长记录页面GrowthData.ets- 生长数据模型和 WHO 标准
- 完整疫苗清单:包含国家免疫规划疫苗 + 自费疫苗(共22种)
- 数据持久化:使用 Preferences 保存接种记录
- 分类筛选:全部/必须接种/自费疫苗
- 进度统计:实时显示接种完成度
- 详细信息:建议月龄、剂次、接种日期
关键代码位置:
WikiPage.ets- 疫苗助手页面VaccineManager.ets- 疫苗数据管理器
- 档案编辑:姓名、性别、出生日期、主题色
- 月龄计算:自动计算当前月龄和成长阶段
- 数据管理:导出数据、云端同步(预留)
关键代码位置:
ProfilePage.ets- 宝宝档案页面Utils.ets- 工具类(日期计算等)
- 成员管理:添加/管理家庭成员
- 在线状态:显示成员在线状态
- 协同功能:实时同步、操作可见、NFC交接(预留)
关键代码位置:
FamilyPage.ets- 家庭成员页面
- JSON 导出:完整数据导出为 JSON 格式
- 报告生成:生成文本格式的成长报告
- 统计分析:记录统计、同步状态
关键代码位置:
DataExportManager.ets- 数据导出管理器
# 编译项目
hvigorw assembleHap
# 安装到设备
hdc install entry-default-signed.hap- 启动应用 →
EntryAbility初始化数据库 - 创建记录 → 页面 →
RecordRepository→ RDB - 查询记录 →
DashboardPage→RecordRepository→ 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