🗺️ 咕咕拼音 (GuGuPinYin) 项目路线图
目标: 面向5岁儿童的21天拼音学习APP,对标Duolingo交互体验
技术栈: Unity 2021.1.7f1 + PHP 后端 + MySQL 数据库
更新时间: 2026-01-28
📊 项目总览
🎯 当前进度概览
| 阶段 | 模块 | 状态 | 完成度 |
|---|---|---|---|
| 核心课程 | Day 1-2 (a o e / i u ü) | ✅ 已完成 | 100% |
| 核心课程 | Day 3-21 | 🚧 开发中 | 10% |
| 题型系统 | ListenChoose 听音选字 | ✅ 已实现 | 100% |
| 题型系统 | ListenAssemble 听音拼装 | ✅ 已实现 | 100% |
| 题型系统 | MatchPairs 配对连线 | ✅ 已实现 | 100% |
| 题型系统 | ListenRepeat 跟读录音 | ⚙️ 基础框架 | 60% |
| 用户系统 | 本地存档 | ✅ 已实现 | 100% |
| 用户系统 | 云端同步 | 📋 计划中 | 0% |
| 支付系统 | 微信/支付宝 | 📋 计划中 | 0% |
| 发布准备 | iOS/Android | 📋 计划中 | 0% |
🧩 模块分解与 Skill 文档
每个模块都有对应的 Skill 文档,位于 .agent/skills/ 目录。
第一阶段:核心课程内容 (Critical Path)
| 模块ID | 模块名称 | Skill文档 | 优先级 | 预估工时 | 依赖 |
|---|---|---|---|---|---|
| M01 | 课程内容批量生成 | content-batch-gen.md | 🔴 P0 | 3周 | - |
| M02 | 复习机制系统 | review-system.md | 🟠 P1 | 1周 | M01 |
| M03 | 语音评测集成 | speech-assessment.md | 🟠 P1 | 2周 | - |
第二阶段:用户与账户系统
| 模块ID | 模块名称 | Skill文档 | 优先级 | 预估工时 | 依赖 |
|---|---|---|---|---|---|
| M04 | 用户注册登录 | user-auth.md | 🟠 P1 | 1周 | - |
| M05 | 学习进度云同步 | cloud-sync.md | 🟡 P2 | 1周 | M04 |
| M06 | 家长控制面板 | parental-control.md | 🟡 P2 | 1周 | M04 |
第三阶段:支付与变现
| 模块ID | 模块名称 | Skill文档 | 优先级 | 预估工时 | 依赖 |
|---|---|---|---|---|---|
| M07 | 支付宝支付集成 | alipay-integration.md | 🟠 P1 | 1周 | M04 |
| M08 | 微信支付集成 | wechat-pay.md | 🟠 P1 | 1周 | M04 |
| M09 | 订阅会员系统 | subscription.md | 🟠 P1 | 1周 | M07, M08 |
第四阶段:运营与发布
| 模块ID | 模块名称 | Skill文档 | 优先级 | 预估工时 | 依赖 |
|---|---|---|---|---|---|
| M10 | 数据统计与埋点 | analytics.md | 🟡 P2 | 1周 | - |
| M11 | 推送通知系统 | push-notification.md | 🟡 P2 | 1周 | M04 |
| M12 | 应用商店发布 | app-store-release.md | 🔴 P0 | 2周 | ALL |
📝 模块详细说明
M01: 课程内容批量生成
状态: 🚧 进行中 | 难度: ⭐⭐⭐⭐
目标: 完成 Day 3 ~ Day 21 共 19 天的课程内容配置
当前已完成
- ✅ Day 1: 单韵母 a o e + 四声调认读
- ✅ Day 2: 单韵母 i u ü
待开发内容
| 天数 | 内容 | 拼音数量 | 难点 |
|---|---|---|---|
| Day 3 | 巩固复习6个单韵母 | 0 (复习) | 需要复习题型逻辑 |
| Day 4 | 声母 b p m f | 4 | 新增声母拼读规则 |
| Day 5 | 声母 d t n l | 4 | - |
| Day 6 | 巩固复习8个声母 | 0 (复习) | - |
| Day 7 | 声母 g k h | 3 | - |
| Day 8 | 声母 j q x | 3 | j q x + ü 规则 ⚠️ |
| Day 9 | 巩固复习14个声母 | 0 (复习) | - |
| Day 10 | z c s + zi ci si | 6 | 整体认读音节引入 |
| Day 11 | zh ch sh r + zhi chi shi ri | 8 | 翘舌音 + 整体认读 |
| Day 12 | y w + yi wu yu | 5 | 半元音 |
| Day 13 | 巩固复习23个声母 | 0 (复习) | 大复习 |
| Day 14 | 复韵母 ai ei ui | 3 | 复韵母教学模式 |
| Day 15 | 复韵母 ao ou iu | 3 | - |
| Day 16 | 复韵母 ie üe er + ye yue | 5 | er 特殊处理 |
| Day 17 | 巩固复习9个复韵母 | 0 (复习) | - |
| Day 18 | 前鼻韵母 an en in un ün + yuan yin yun | 8 | 整体认读音节 |
| Day 19 | 后鼻韵母 ang eng ing ong + ying | 5 | - |
| Day 20 | 巩固复习前后鼻韵母 | 0 (复习) | - |
| Day 21 | 总复习 + 拼读练习 | 0 (总复习) | 综合测试 |
技术要点
- LessonFlow SO 配置: 每课时需配置
流程:第N课时.asset - LessonContent SO: 配置该课时的拼音内容和多媒体资源
- QuestionBank SO: 配置题目选项池
难点分析
| 难点 | 说明 | 解决方案 |
|---|---|---|
| j q x + ü 规则 | ü 遇到 j q x 要去掉两点 | 增加特殊规则提示卡 DisplayHint |
| 整体认读音节 | 不拼读,直接记忆 | 专用展示模式 |
| 复习课 | 需要从已学内容中抽取 | QuestionContentGenerator 动态生成 |
M02: 复习机制系统
状态: 📋 计划中 | 难度: ⭐⭐⭐
目标: 实现智能复习,遗忘曲线算法
核心功能
- [ ] 艾宾浩斯遗忘曲线调度
- [ ] 错题自动收集与重练
- [ ] 弱项拼音强化练习
技术方案
csharp
// 复习调度器伪代码
public class ReviewScheduler
{
// 计算下次复习时间
public DateTime GetNextReviewDate(PinyinProgress progress)
{
int[] intervals = { 1, 2, 4, 7, 15, 30 }; // 天数
int level = progress.reviewLevel;
return progress.lastReviewDate.AddDays(intervals[level]);
}
}M03: 语音评测集成
状态: ⚙️ 基础框架已有 | 难度: ⭐⭐⭐⭐⭐
目标: 集成 AI 语音评测,实时反馈发音准确度
现有基础
- ✅
VoiceRecorder.cs跨平台录音 - ✅
AudioWaveDisplay.cs音波可视化 - ✅
PronunciationDetector.cs基础检测
待集成 SDK 选项
| SDK | 优点 | 缺点 | 费用 |
|---|---|---|---|
| Azure Speech | 精度高,拼音支持 | 需联网 | 按调用计费 |
| 讯飞语音 | 中文专精 | SDK 较重 | 商用收费 |
| 百度语音 | 免费额度高 | 精度一般 | 免费/收费 |
集成步骤
- 选择 SDK 并申请 API Key
- 封装
ISpeechAssessment接口 - 实现
ListenRepeat卡片的评分逻辑 - 设计发音反馈 UI(分数、纠错提示)
M04: 用户注册登录
状态: 📋 计划中 | 难度: ⭐⭐⭐
目标: 手机号/微信一键登录
API 设计 (PHP 后端)
http
POST /api/v1/auth/sms-code
POST /api/v1/auth/login
POST /api/v1/auth/wechat-login
GET /api/v1/user/profile数据库表设计
sql
CREATE TABLE users (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
phone VARCHAR(20) UNIQUE,
wechat_openid VARCHAR(100) UNIQUE,
nickname VARCHAR(50),
avatar_url VARCHAR(255),
role ENUM('child', 'parent') DEFAULT 'child',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
CREATE TABLE user_devices (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT,
device_id VARCHAR(100),
platform ENUM('ios', 'android'),
push_token VARCHAR(255),
last_login TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id)
);Unity 端实现
csharp
// API 客户端接口
public interface IAuthService
{
UniTask<bool> SendSmsCode(string phone);
UniTask<UserInfo> LoginWithSms(string phone, string code);
UniTask<UserInfo> LoginWithWechat(string code);
}M05: 学习进度云同步
状态: 📋 计划中 | 难度: ⭐⭐⭐
目标: 本地/云端双向同步,支持多设备
同步策略
- 本地优先: 无网络时正常使用,联网后同步
- 冲突解决: 以时间戳较新的为准
- 增量同步: 只传输变更数据
数据结构
sql
CREATE TABLE user_progress (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT,
lesson_day INT,
completed BOOLEAN DEFAULT FALSE,
stars INT DEFAULT 0,
accuracy DECIMAL(5,2),
learning_seconds INT DEFAULT 0,
completed_at TIMESTAMP,
synced_at TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id)
);
CREATE TABLE pinyin_mastery (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT,
pinyin VARCHAR(10),
mastery_level INT DEFAULT 0, -- 0-5
review_count INT DEFAULT 0,
last_review TIMESTAMP,
next_review TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id)
);M06: 家长控制面板
状态: 📋 计划中 | 难度: ⭐⭐
目标: 家长可查看学习报告、设置学习时间
功能清单
- [ ] 学习报告(每日/每周)
- [ ] 学习时长限制
- [ ] 休息提醒设置
- [ ] 错题本查看
- [ ] 成就系统展示
M07: 支付宝支付集成
状态: 📋 计划中 | 难度: ⭐⭐⭐⭐
目标: 集成支付宝 APP 支付
前置条件
- [ ] 企业支付宝账户
- [ ] 签约 APP 支付
- [ ] 获取 APPID、私钥
流程图
PHP 服务端代码结构
php
// app/Services/AlipayService.php
class AlipayService
{
public function createOrder(User $user, string $productId): array;
public function verifyNotify(array $params): bool;
public function handleCallback(array $params): void;
}M08: 微信支付集成
状态: 📋 计划中 | 难度: ⭐⭐⭐⭐
目标: 集成微信 APP 支付
与支付宝的差异
| 对比项 | 支付宝 | 微信支付 |
|---|---|---|
| SDK集成 | 官方SDK | 官方SDK |
| 签名方式 | RSA2 | 商户证书 |
| 回调验签 | 公钥验签 | 证书验签 |
| iOS支持 | 需配置 URL Scheme | 需配置 Universal Link |
M09: 订阅会员系统
状态: 📋 计划中 | 难度: ⭐⭐⭐
目标: VIP 会员订阅,解锁全部课程
会员方案设计
| 方案 | 价格 | 时长 | 特权 |
|---|---|---|---|
| 月度VIP | ¥18 | 30天 | 全课程解锁 |
| 季度VIP | ¥48 | 90天 | 全课程 + 错题本 |
| 年度VIP | ¥128 | 365天 | 全课程 + 家长报告 |
| 终身VIP | ¥298 | 永久 | 全部功能 |
数据库设计
sql
CREATE TABLE subscriptions (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT,
plan_type ENUM('monthly', 'quarterly', 'yearly', 'lifetime'),
status ENUM('active', 'expired', 'cancelled'),
start_date DATE,
end_date DATE,
payment_channel ENUM('alipay', 'wechat', 'apple', 'google'),
order_id VARCHAR(100),
created_at TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id)
);M10: 数据统计与埋点
状态: 📋 计划中 | 难度: ⭐⭐
目标: 用户行为分析,优化产品
埋点事件列表
| 事件ID | 事件名称 | 参数 |
|---|---|---|
| lesson_start | 开始课程 | lesson_day |
| lesson_complete | 完成课程 | lesson_day, stars, accuracy |
| question_answer | 回答问题 | question_type, is_correct |
| subscription_view | 查看订阅页 | source |
| subscription_purchase | 购买订阅 | plan_type, price |
M11: 推送通知系统
状态: 📋 计划中 | 难度: ⭐⭐
目标: 学习提醒,召回用户
推送场景
- 每日学习提醒(可设置时间)
- 连续学习天数提醒
- 新课程解锁通知
- 长时间未登录召回
M12: 应用商店发布
状态: 📋 计划中 | 难度: ⭐⭐⭐⭐
目标: 成功上架 App Store 和各安卓市场
iOS App Store
- [ ] Apple Developer 账号
- [ ] App Store Connect 配置
- [ ] 隐私政策 (Privacy Manifest)
- [ ] 审核素材准备
- [ ] 年龄分级填写
Android 市场
| 市场 | 要求 | 备注 |
|---|---|---|
| 华为应用市场 | 软著、ICP | 必须 |
| 小米应用商店 | 软著 | - |
| OPPO 软件商店 | 软著 | - |
| VIVO 应用商店 | 软著 | - |
| 应用宝 | 软著、备案 | - |
必备资质
- [ ] 软件著作权登记证书
- [ ] ICP 备案号
- [ ] 隐私政策页面
- [ ] 用户协议页面
🔧 技术架构图
📁 Skill 文档目录
所有模块的详细开发指南位于:
.agent/skills/
├── content-batch-gen.md # M01: 课程内容批量生成
├── review-system.md # M02: 复习机制系统
├── speech-assessment.md # M03: 语音评测集成
├── user-auth.md # M04: 用户注册登录
├── cloud-sync.md # M05: 学习进度云同步
├── parental-control.md # M06: 家长控制面板
├── alipay-integration.md # M07: 支付宝支付集成
├── wechat-pay.md # M08: 微信支付集成
├── subscription.md # M09: 订阅会员系统
├── analytics.md # M10: 数据统计与埋点
├── push-notification.md # M11: 推送通知系统
└── app-store-release.md # M12: 应用商店发布🚀 下一步行动建议
短期 (1-2周)
优先完成 Day 3-6 课程内容 (M01)
- 利用现有题型模板快速配置
- 重点解决复习课的动态题目生成
完善语音跟读功能 (M03)
- 选择并集成语音评测 SDK
- 完成
ListenRepeat卡片逻辑
中期 (3-4周)
搭建 PHP 后端基础框架
- 用户表、进度表设计
- RESTful API 框架搭建
实现手机号登录 (M04)
- 对接短信服务商
- 实现登录/注册流程
长期 (1-2月)
- 集成支付系统 (M07, M08)
- 准备应用商店资质 (M12)
- 完成全部 21 天课程 (M01)
📌 风险与注意事项
| 风险项 | 影响 | 缓解措施 |
|---|---|---|
| 语音评测 SDK 成本 | 运营成本 | 本地缓存 + 合理调用频率 |
| 支付审核时间 | 上线延迟 | 提前1个月申请 |
| iOS 审核被拒 | 上线延迟 | 严格遵循审核指南 |
| 内容违规风险 | 下架 | 确保内容符合儿童应用规范 |
文档维护: 请在每次重大进度更新后修改本文档
最后更新: 2026-01-28 by AI Assistant
