Просмотр исходного кода

更新需求文档:小游戏作为任务类型的一种形式,新增小游戏类任务分类和API说明

Sisyphus 6 месяцев назад
Родитель
Сommit
a655ab09c7
2 измененных файлов с 103 добавлено и 3 удалено
  1. 58 3
      docs/task-requirements.md
  2. 45 0
      docs/系统测试/.test-sync.json

+ 58 - 3
docs/task-requirements.md

@@ -64,9 +64,14 @@
 - **定时任务**: `RepeatTaskGenerator` 每天05:00执行
 
 #### TASK-005: 设置任务分类
-- **描述**: 学习类/生活类/运动类/其他
+- **描述**: 学习类/生活类/运动类/小游戏类/其他
 - **字段**: `category` (String)
-- **可选值**: `学习类` / `生活类` / `运动类` / `其他`
+- **可选值**: `学习类` / `生活类` / `运动类` / `小游戏类` / `其他`
+- **说明**: 小游戏类是一种任务类型,孩子通过完成在线小游戏获得积分奖励
+- **小游戏列表**:
+  - 舒尔特方格 - 专注力训练
+  - 猜数字 (1a2b) - 逻辑推理训练
+  - 数独 - 策略与数学思维训练
 
 ---
 
@@ -129,7 +134,47 @@
 
 ---
 
-### 2.5 任务提醒与统计(TASK-013~016)
+### 2.5 小游戏任务类型(TASK-017A~C)
+
+> 说明:小游戏是任务分类的一种形式,属于"小游戏类"任务。孩子完成小游戏后获得积分奖励,与普通任务采用相同的积分计算逻辑。
+
+#### TASK-017A: 小游戏任务-舒尔特方格
+- **描述**: 专注力训练游戏,在方格中按顺序点击数字
+- **游戏代码**: `schulte`
+- **游戏参数**: gridSize (5x5, 6x6等)
+- **积分规则**: 根据完成时间计算,参考 `MiniGameService.completeGame()`
+- **状态**: ✅ 已实现
+- **API**:
+  - `POST /api/mini-game/list` - 获取小游戏列表
+  - `POST /api/mini-game/complete` - 完成任务获得积分
+
+#### TASK-017B: 小游戏任务-猜数字(1a2b)
+- **描述**: 逻辑推理游戏,猜测4位数字并获取A、B提示
+- **游戏代码**: `1a2b`
+- **积分规则**: 用时越短分数越高,120秒内完成得满分
+- **状态**: ✅ 已实现
+- **特殊逻辑**: 用时判断(不是次数判断)
+
+#### TASK-017C: 小游戏任务-数独
+- **描述**: 策略与数学思维训练游戏,完成9x9数独
+- **游戏代码**: `sudoku`
+- **难度等级**: easy, medium, hard
+- **积分规则**: 根据完成时间和难度计算
+- **验证逻辑**: 行、列、3x3宫格都必须正确
+
+#### 小游戏任务与普通任务的关系
+
+| 特性 | 普通任务 | 小游戏任务 |
+|------|---------|-----------|
+| 任务分类 | 学习类/生活类/运动类/其他 | 小游戏类 |
+| 完成方式 | 打卡/文本/图片/视频 | 游戏完成回调 |
+| 积分计算 | 基础分+超额分 | 按游戏规则计算 |
+| 审核流程 | 可选需审核 | 直接完成即时获积分 |
+| 历史记录 | 任务历史 | 统一记录在任务历史中 |
+
+---
+
+### 2.6 任务提醒与统计(TASK-013~016)
 
 #### TASK-013: 任务提醒通知
 - **描述**: 在任务截止前发送提醒
@@ -661,6 +706,16 @@ pending → cancelled (创建者删除)
 | GET | /api/tasks/statistics/date/{childId} | 日期统计 |
 | GET | /api/tasks/statistics/family/{familyId} | 家庭统计 |
 
+### 4.3 小游戏任务(任务类型为"小游戏类")
+
+| 方法 | 路径 | 功能 |
+|------|------|------|
+| POST | /api/mini-game/list | 获取小游戏列表 |
+| POST | /api/mini-game/{gameCode} | 获取游戏详情 |
+| POST | /api/mini-game/all | 获取所有小游戏(管理端) |
+| PUT | /api/mini-game/{id}/status | 更新游戏状态 |
+| POST | /api/mini-game/complete | 完成任务获得积分 |
+
 ---
 
 ## 五、前端页面一览

+ 45 - 0
docs/系统测试/.test-sync.json

@@ -1071,6 +1071,51 @@
       "subModule": "模板生成",
       "hasTestCase": false,
       "testCaseFile": null
+    },
+    {
+      "id": "GAME-001",
+      "description": "小游戏任务类型-舒尔特方格(专注力训练)",
+      "priority": "P1",
+      "module": "任务管理模块",
+      "subModule": "小游戏任务",
+      "hasTestCase": true,
+      "testCaseFile": "./test-cases.js"
+    },
+    {
+      "id": "GAME-002",
+      "description": "小游戏任务类型-猜数字(1a2b)逻辑推理训练",
+      "priority": "P1",
+      "module": "任务管理模块",
+      "subModule": "小游戏任务",
+      "hasTestCase": true,
+      "testCaseFile": "./test-cases.js"
+    },
+    {
+      "id": "GAME-003",
+      "description": "小游戏任务类型-数独策略与数学思维训练",
+      "priority": "P1",
+      "module": "任务管理模块",
+      "subModule": "小游戏任务",
+      "hasTestCase": true,
+      "testCaseFile": "./test-cases.js"
+    },
+    {
+      "id": "GAME-004",
+      "description": "小游戏任务积分计算规则",
+      "priority": "P1",
+      "module": "任务管理模块",
+      "subModule": "小游戏任务",
+      "hasTestCase": false,
+      "testCaseFile": null
+    },
+    {
+      "id": "GAME-005",
+      "description": "小游戏任务完成记录纳入任务历史",
+      "priority": "P1",
+      "module": "任务管理模块",
+      "subModule": "小游戏任务",
+      "hasTestCase": false,
+      "testCaseFile": null
     }
   ]
 }