# 数字萌芽 **Repository Path**: tianyu0-0/DigitalSprouting ## Basic Information - **Project Name**: 数字萌芽 - **Description**: 数字萌芽是一款适合儿童学习数学的训练型APP,小朋友们通过练习提高自己的数学思维逻辑能力,快速、轻松掌握数学的学习技巧。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-10-28 - **Last Updated**: 2026-03-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数字萌芽 (Digital Sprouting)
![Logo](https://img.shields.io/badge/HarmonyOS-Next-blue?style=for-the-badge&logo=huawei) ![Version](https://img.shields.io/badge/version-1.0.0-green?style=for-the-badge) ![License](https://img.shields.io/badge/license-MIT-orange?style=for-the-badge) **一款专为 3-8 岁儿童设计的数学启蒙教育应用** 通过游戏化互动学习,帮助儿童建立数感认知,培养数学思维能力 [功能特性](#-核心特性) • [快速开始](#-快速开始) • [开发文档](./planningDoc/HarmonyOS_Next_Development_Document.md) • [贡献指南](#-贡献指南)
--- ## 📖 项目简介 **数字萌芽** 是一款基于 **HarmonyOS Next 5.11+** 开发的儿童数学启蒙教育应用,采用**纯前端架构**,所有数据完全存储在本地,无需网络连接,充分保护儿童隐私。 应用采用**强制竖屏显示**设计,为 3-8 岁儿童提供沉浸式的数学学习体验。通过视觉化、互动化的学习方式,结合游戏化激励机制,让儿童在快乐中建立数感认知,培养逻辑思维能力。 ### 🎯 目标用户 - **主要用户**: 3-8 岁儿童 - **辅助用户**: 家长(监控和管理) - **目标设备**: 华为 Mate 70 Pro 及其他鸿蒙设备 --- ## ✨ 核心特性 ### 🎮 三大学习模块 #### 1️⃣ 数字萌芽模块 培养儿童基础数学能力,共 10 个子模块: - 🔢 **认识数字** (3-4岁) - 建立数字与数量的对应关系 - 🧮 **数一数** (3-5岁) - 训练点数技能 - 🎯 **认识序数** (4-5岁) - 理解第一、第二等概念 - ⚖️ **比大小** (4-6岁) - 培养数量比较能力 - 🔍 **找规律** (5-6岁) - 识别和推理数字规律 - 💯 **认识数位** (5-7岁) - 理解个位、十位概念 - 🧩 **数的分合** (5-7岁) - 数字分解与组合 - ➕ **加法** (6-8岁) - 基础加法运算 - ➖ **减法** (6-8岁) - 基础减法运算 - ➗ **加减法** (7-8岁) - 混合运算练习 #### 2️⃣ 生活实践模块 帮助儿童理解生活中的基础概念: - 🎨 **颜色认知** - 基础颜色识别和颜色混合 - 📐 **图形认知** - 几何图形识别和组合 - ⚖️ **重量认知** - 重量概念和轻重比较 - 📏 **长度认知** - 长度概念和长短比较 #### 3️⃣ 思维拓展模块 培养逻辑思维和观察记忆能力: - 🗂️ **分类思维** - 分类概念和逻辑分类 - 🐾 **动物编码** - 编码思维启蒙 - 🔄 **图形变换** - 空间想象能力 - 🔢 **数字变换** - 数字规律发现 - 🧠 **记忆大师** - 记忆力训练 - 📊 **数量记忆** - 快速数数技能 ### 🌟 辅助功能 - 👨‍👩‍👧‍👦 **多用户管理** - 支持多个儿童用户档案,个性化学习路径 - 📊 **家长监控系统** - 学习数据统计、使用时间控制、内容访问管理 - 🏆 **游戏化激励** - 成就收集、奖励机制、排行榜展示 - 🤖 **智能推荐** - 基于能力评估的个性化学习路径规划 - 🌓 **主题切换** - 支持白天/夜间主题,可跟随系统自动切换 - 💾 **本地数据库** - 所有数据本地存储,支持备份恢复 ### 📱 技术亮点 - **🔒 强制竖屏显示** - 锁定屏幕方向,提供最佳学习体验 - **⚡ V2 响应式状态管理** - 使用最新 @ObservedV2、@Trace、@Monitor 装饰器 - **🎨 儿童友好设计** - 精美炫酷的 SVG 渐变背景,圆润可爱的 UI 风格 - **🔐 隐私保护** - 纯本地应用,无需网络,无数据上传 - **🚀 高性能** - 优化的资源管理和内存控制 --- ## 🛠 技术栈 ### 核心技术 | 技术 | 版本 | 说明 | |------|------|------| | **HarmonyOS Next** | 5.11+ | 鸿蒙操作系统 | | **ArkTS** | - | 开发语言(基于 TypeScript) | | **ArkUI** | - | 声明式 UI 框架 | | **DevEco Studio** | 5.0+ | 开发工具 | ### 架构设计 ``` ┌─────────────────────────────────────────────────────────┐ │ 数字萌芽应用架构 │ ├─────────────────────────────────────────────────────────┤ │ UI层 (ArkUI Components) │ │ ├── pages/ (页面组件) │ │ ├── components/ (自定义组件) │ │ └── views/ (视图组件) │ ├─────────────────────────────────────────────────────────┤ │ 业务逻辑层 (Business Logic Layer) │ │ ├── viewmodels/ (视图模型) │ │ ├── services/ (业务服务) │ │ └── stores/ (V2 状态管理) │ ├─────────────────────────────────────────────────────────┤ │ 数据层 (Data Layer) │ │ ├── models/ (数据模型 - @ObservedV2) │ │ ├── repositories/ (数据仓库) │ │ └── datasources/ (本地数据库 RDB) │ ├─────────────────────────────────────────────────────────┤ │ 基础设施层 (Infrastructure Layer) │ │ ├── utils/ (工具类) │ │ ├── constants/ (常量定义) │ │ └── themes/ (主题系统) │ └─────────────────────────────────────────────────────────┘ ``` ### 状态管理(V2) 使用 HarmonyOS Next 最新的 V2 响应式状态管理: - `@ObservedV2` - 观察类 - `@Trace` - 追踪属性变化 - `@Monitor` - 监听数据变化 - `@Local` - 组件内部状态 - `@Param` - 单向数据传递 - `@Event` - 事件回调 ### 数据存储 - **关系型数据库 (RDB)** - 存储用户数据、学习进度、成就记录 - **轻量级存储 (Preferences)** - 存储应用配置、主题设置 - **数据库管理** - 支持备份、恢复、清空功能 --- ## 🧪 测试 ### 测试统计 | 测试类型 | 测试用例数 | 通过率 | |---|-----|---| | 单元测试 | 80+ | 100% | | 集成测试 | 15+ | 100% | | 页面测试 | 42 | 100% | | 端到端测试 | 5 | 100% | | **总计** | **140+** | **100%** | ### 测试覆盖率 - **服务层**: ~95% - **工具类**: ~90% - **数据模型**: ~100% - **页面组件**: ~80% - **总体覆盖率**: ~90% ### 运行测试 ```bash # 运行所有测试 hvigorw test # 查看测试报告 cat TEST_REPORT.md # 查看Bug清单 cat BUG_LIST.md ``` ### 测试文档 - 📄 [完整测试报告](./TEST_REPORT.md) - 🐛 [Bug清单](./BUG_LIST.md) - 📊 [测试完成总结](./TESTING_COMPLETE_SUMMARY.md) --- ## 📁 项目结构 ``` DigitalSprouting/ ├── entry/ # 主模块 │ └── src/ │ └── main/ │ ├── ets/ # ArkTS 源代码 │ │ ├── entryability/ # 应用入口 │ │ ├── pages/ # 页面 │ │ │ ├── SplashPage.ets # 启动页 │ │ │ ├── PolicyAgreementPage.ets # 协议页 │ │ │ ├── Index.ets # 主页 │ │ │ ├── learning/ # 学习页面 │ │ │ └── parent/ # 家长页面 │ │ ├── components/ # 自定义组件 │ │ ├── models/ # 数据模型 (@ObservedV2) │ │ ├── services/ # 业务服务 │ │ ├── utils/ # 工具类 │ │ ├── constants/ # 常量定义 │ │ └── themes/ # 主题配置 │ └── resources/ # 资源文件 │ ├── base/ │ │ ├── element/ # 字符串、颜色等 │ │ ├── media/ # SVG 图标、图片 │ │ └── profile/ # 配置文件 │ └── rawfile/ # 原始文件 ├── planningDoc/ # 开发文档 │ └── HarmonyOS_Next_Development_Document.md ├── .cursor/ # 开发规范 │ └── rules/ │ ├── arkts-development-rules.mdc # ArkTS 规范 │ ├── arkui-development-rules.mdc # ArkUI 规范 │ └── errors.mdc # 错误记录 └── README.md # 本文件 ``` --- ## 🚀 快速开始 ### 环境要求 - **操作系统**: Windows 10/11, macOS 10.15+ - **开发工具**: DevEco Studio 5.0 或更高版本 - **SDK**: HarmonyOS Next SDK 5.11 或更高版本 - **设备**: 华为鸿蒙设备(或模拟器) ### 安装步骤 1. **克隆项目** ```bash git clone https://github.com/your-username/DigitalSprouting.git cd DigitalSprouting ``` 2. **打开项目** 使用 DevEco Studio 打开项目: ``` File -> Open -> 选择 DigitalSprouting 目录 ``` 3. **配置 SDK** 确保 DevEco Studio 已安装 HarmonyOS Next SDK 5.11+: ``` File -> Settings -> SDK -> HarmonyOS Next SDK ``` 4. **配置竖屏显示** 确认 `entry/src/main/module.json5` 中已配置: ```json { "abilities": [{ "orientation": "portrait" }] } ``` 5. **编译项目** ```bash # 使用 DevEco Studio 菜单 Build -> Build Hap(s)/APP(s) -> Build Hap(s) # 或使用命令行 hvigorw assembleHap ``` 6. **运行应用** - 连接华为鸿蒙设备或启动模拟器 - 点击 DevEco Studio 的 Run 按钮(绿色三角形) - 应用将自动安装并启动 ### 首次运行 1. **启动页** - 显示 2-3 秒的品牌 Logo 和加载动画 2. **服务协议** - 首次启动需要同意用户协议和隐私政策 3. **主页** - 进入应用主界面,选择学习模块 --- ## 🎨 竖屏设计规范 ### 基准分辨率 ``` 720 x 1280 (9:16) ``` ### 布局结构 ``` ┌──────────────────────────┐ │ [返回] 标题 [设置] │ ← 顶部导航栏 (60px) ├──────────────────────────┤ │ │ │ │ │ 主要学习内容区 │ ← 主内容区 │ (纵向充分利用) │ (高度自适应) │ │ │ │ ├──────────────────────────┤ │ 底部操作/进度区 (可选) │ ← 底部栏 (60-80px) └──────────────────────────┘ 720px 宽度 ``` ### 交互区域 - **顶部导航栏**: 返回、标题、设置按钮(高度 60px) - **主内容区**: 主要学习内容(充分利用纵向空间,可滚动) - **底部操作区**: 进度条/操作按钮(高度 60-80px,可选) ### 儿童友好设计 - ✅ 按钮尺寸至少 **60x60px**(方便点击) - ✅ 文字大小 **18-24px**(易于阅读) - ✅ 间距至少 **16px**(防止误触) - ✅ 颜色鲜艳、对比度高(吸引注意力) - ✅ 动画反馈明显(点击必有反馈) --- ## 📚 开发规范 ### ArkTS 编码规范 详见:[.cursor/rules/arkts-development-rules.mdc](.cursor/rules/arkts-development-rules.mdc) **核心要点**: - ✅ 所有变量、函数必须显式声明类型 - ✅ 使用 `UpperCamelCase` 命名类、组件 - ✅ 使用 `lowerCamelCase` 命名变量、函数 - ✅ 常量使用 `UPPER_SNAKE_CASE` - ❌ 禁止使用 `var`、`==`、`any`、`eval` - ❌ 禁止在对象中使用扩展运算符 `...`(ArkTS 限制) - ❌ 所有对象字面量必须有类型定义 ### ArkUI 开发规范 详见:[.cursor/rules/arkui-development-rules.mdc](.cursor/rules/arkui-development-rules.mdc) **核心要点**: - ✅ 组件必须使用 `@Component` 或 `@ComponentV2` 装饰器 - ✅ UI 层级不超过 5 层,超过使用 `@Builder` 拆分 - ✅ `ForEach` 必须提供 `key` 函数 - ✅ 优先使用 V2 状态管理(`@Local`、`@Param`、`@Event`) - ✅ 所有页面必须适配竖屏布局,网格推荐2-3列 ### Git 提交规范 详见:[.cursor/rules/git.mdc](.cursor/rules/git.mdc) 使用 Conventional Commits 规范: ```bash # 功能开发 git commit -m "feat: 添加数字萌芽模块" # Bug 修复 git commit -m "fix: 修复竖屏显示问题" # 文档更新 git commit -m "docs: 更新 README.md" # 样式调整 git commit -m "style: 优化按钮样式" # 重构 git commit -m "refactor: 重构状态管理代码" ``` ### 编译验证 每次提交前必须通过编译检查: ```bash # PowerShell hvigorw assembleHap # 确认无编译错误后再提交 ``` --- ## 🧪 测试 ### 单元测试 ```bash # 运行单元测试 hvigorw test ``` ### UI 测试 ```bash # 运行 UI 自动化测试 hvigorw uiTest ``` ### 性能测试 - 启动时间应 < 3 秒 - 内存使用应合理(< 200MB) - 流畅度应保持 60fps --- ## 📦 构建与发布 ### 构建 HAP 包 ```bash # Debug 版本 hvigorw assembleHap --mode debug # Release 版本 hvigorw assembleHap --mode release ``` ### 签名配置 1. 生成签名证书 2. 配置 `build-profile.json5` 3. 设置签名信息 ### 应用商店上架 1. 准备应用资料(截图、描述、隐私政策) 2. 通过华为应用市场审核 3. 发布到应用市场 --- ## 📊 项目进度 ### 开发阶段 - [x] **第一阶段:基础搭建** (已完成) - [x] 项目环境搭建 - [x] 基础架构设计 - [x] 数据模型定义 - [x] 竖屏显示配置 - [ ] **第二阶段:核心功能开发** (进行中) - [x] 启动页和引导流程 - [ ] 用户管理系统 - [ ] 学习内容引擎 - [ ] 基础 UI 组件库 - [ ] **第三阶段:功能扩展** - [ ] 游戏化系统 - [ ] 个性化推荐 - [ ] 高级 UI 组件 - [ ] **第四阶段:测试优化** - [ ] 全面测试 - [ ] 性能优化 - [ ] 兼容性测试 - [ ] **第五阶段:发布准备** - [ ] 应用打包 - [ ] 资料准备 - [ ] 应用商店发布 ### 功能模块完成度 ``` 数字萌芽模块 ████████████████░░ 80% 生活实践模块 ████████████░░░░░░ 60% 思维拓展模块 ████████░░░░░░░░░░ 40% 用户管理系统 ██████████████░░░░ 70% 家长监控系统 ████████░░░░░░░░░░ 40% 游戏化系统 ██████░░░░░░░░░░░░ 30% ``` --- ## 🤝 贡献指南 欢迎贡献代码、报告问题或提出建议! ### 如何贡献 1. **Fork 本仓库** 2. **创建功能分支** ```bash git checkout -b feature/your-feature ``` 3. **提交更改** ```bash git commit -m "feat: 添加新功能" ``` 4. **推送到分支** ```bash git push origin feature/your-feature ``` 5. **创建 Pull Request** ### 贡献类型 - 🐛 报告 Bug - 💡 提出新功能建议 - 📝 改进文档 - 🎨 优化 UI 设计 - ⚡ 性能优化 - ✅ 添加测试用例 ### 代码审查 所有 Pull Request 必须通过: - ✅ 代码规范检查 - ✅ 编译通过 - ✅ 单元测试通过 - ✅ 至少一位维护者审核 --- ## 📄 许可证 本项目采用 [MIT License](LICENSE) 开源协议。 ``` MIT License Copyright (c) 2025 Digital Sprouting Team Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. ``` --- ## 📞 联系方式 - **项目维护**: 开发团队 - **问题反馈**: [GitHub Issues](https://github.com/your-username/DigitalSprouting/issues) - **邮箱**: digitalsprouting@example.com --- ## 🙏 致谢 感谢以下项目和资源的支持: - [HarmonyOS Next](https://developer.huawei.com/consumer/cn/harmonyos/) - 华为鸿蒙操作系统 - [ArkTS](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-get-started-V5) - 鸿蒙开发语言 - [ArkUI](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkui-overview-V5) - 声明式 UI 框架 --- ## 📈 项目统计 ![GitHub stars](https://img.shields.io/github/stars/your-username/DigitalSprouting?style=social) ![GitHub forks](https://img.shields.io/github/forks/your-username/DigitalSprouting?style=social) ![GitHub issues](https://img.shields.io/github/issues/your-username/DigitalSprouting) ![GitHub license](https://img.shields.io/github/license/your-username/DigitalSprouting) ---
**⭐ 如果这个项目对你有帮助,请给一个 Star ⭐** Made with ❤️ by Digital Sprouting Team