新增数学思维自学板块与考试板块(9模块154课+初一上5套真实试卷客观题)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
jacobxu666
2026-08-06 08:00:46 +08:00
co-authored by Claude Opus 4.8
parent 3473ecbf2b
commit bc53e2b2a5
38 changed files with 3393 additions and 10 deletions
+71
View File
@@ -0,0 +1,71 @@
# 数学思维课时内容创作规范(供创作代理参考)
## 输出文件
`src/content/math/<module>.json`,顶层结构:
```json
{
"module": "calc",
"moduleName": "计算与计数",
"points": [ { "id": "calc-01", "title": "...", "grade": "一~二年级", "difficulty": 1, "summary": "...", "md": "..." } ]
}
```
`module` 与 `moduleName` 固定对应:
- calc=计算与计数, apply=应用题, geo=几何, num=数论, travel=行程, eq=方程, combo=组合
## 单个 point 字段
- `id`: `<module>-<两位序号>`,如 calc-01、calc-02;同一文件内连续不重复。
- `title`: 课时标题,≤30 字。
- `grade`: 适用学段,如 "一~二年级" / "三~四年级" / "五~六年级" / "小升初"。
- `difficulty`: 1(基础)/2(提高)/3(竞赛入门)。
- `summary`: 一句话目标,≤40 字。
- `md`: 课时正文 markdown,**含一个 quiz 块**。
## md 正文结构(保证 ≥40 分钟,内容必须忠实于源材料、不要臆造知识点)
```
> ⏱ 本课约 40 分钟:热身 5' → 精讲与例题 20' → 即时练习 15'
## ① 回顾与目标
(1-2 句:承接什么、本课要达成什么)
## ② 知识精讲
### 概念/方法 1
(定义、法则、关键点;配 1-2 个例题,例题要写【思路】【解答】【验算/提醒】)
### 概念/方法 2
...
## ③ 常见错误与提醒
- (易错点,逐条列出)
## ④ 即时练习
```quiz
{"questions":[ ... 8~10 题 ... ]}
```
## ⑤ 本课小结
- (3-5 条要点回顾)
```
注意:正文用中文;数学式用纯文本(如 3/4、2×3、a+b),不用 LaTeX;不用图片。
## quiz 题目格式(必须是合法 JSON,放在 ```quiz 围栏内)
题型只用 choice / fill / judge 三种(order/match 在数学里判分不稳,避免使用):
```json
{"questions":[
{"type":"choice","stem":"25×32 等于多少?","options":["700","800","900"],"answer":1,"explain":"把 32 拆成 4×8,25×4×8=800。"},
{"type":"fill","stem":"计算:56+44=?","answers":["100"],"explain":"凑整:56+44=100。"},
{"type":"judge","stem":"0 除以任何数都得 0。","answer":1,"explain":"错。0 不能作除数,0 除以任何非 0 数才得 0。"}
]}
```
字段说明:
- `type`: "choice" | "fill" | "judge"
- `stem`: 题干字符串
- choice: `options` 为选项数组,`answer` 为正确项下标(0 起)
- fill: `answers` 为可接受答案数组(判分会 trim+小写比对,可给多个等价写法,如 ["100","100.0"])
- judge: `answer` 为下标,0=对、1=错(界面显示为"对/错")
- `explain`: 每题必填的讲解,讲清思路
每课 8~10 题,答案必须正确,覆盖本课知识点。
## 切分原则
- 每课聚焦一个可独立学会的知识单元,正文详实(概念+多例题+易错+练习),确保认真学+做题 ≥40 分钟。
- 源材料里一节内容很多的,按知识单元拆成多课;内容太少的小节合并成一课。
- 例题与练习题尽量取自源材料的原题;源材料没给答案的,你要算出正确答案并写进 explain。
- 不要照抄导航/目录类文字,只提炼知识内容。
+87
View File
@@ -0,0 +1,87 @@
# 数学思维自学板块 + 考试板块 设计决策
> 2026-08-06 用户授权自动执行,所有决策按推荐方案落地。
## 一、数学思维自学板块(对标英语语法板块)
### 1. 数据来源
`/Users/jacobxu/Documents/obsidian/数学自学/` 七个模块:
01-计算与计数、02-应用题、03-几何、04-数论、05-行程、06-方程、07-组合。
### 2. 级别(level)组织 —— 按七大模块划分
| level id | 名称 | 说明 |
| --- | --- | --- |
| calc | 计算与计数 | 整数/分数/小数运算、运算律、巧算、计数原理 |
| apply | 应用题 | 和差倍、鸡兔同笼、工程、比例等经典模型 |
| geo | 几何 | 平面图形周长面积、立体图形、割补法 |
| num | 数论 | 整除、质合、位值原理、余数 |
| travel | 行程 | 相遇追及、流水行船、环形跑道 |
| eq | 方程 | 用字母表示数、解方程、列方程解应用题 |
| combo | 组合 | 抽屉原理、最值、逻辑推理、策略游戏 |
不按年级分层:源材料按知识体系组织,同一模块内跨年级;每课标注适用学段。
### 3. 课时设计(每天 1 课 ≥ 40 分钟)
每课 md 统一模板:
```
> ⏱ 本课约 40 分钟:回顾热身 5' → 知识精讲与例题 20' → 即时练习 15'
## ① 回顾与目标
## ② 知识精讲(概念 + 例题,例题带思路与验算)
## ③ 常见错误与提醒
## ④ 即时练习 ← ```quiz 块,8~10 题
## ⑤ 本课小结
```
- 源材料偏薄的章节(A 类低年级小节 ~300-450 字)合并 2-4 节为一课,并补例题;
- 源材料偏厚的章节(B 类 1200-1900 字)按知识单元拆分为多课;
- 源材料缺答案的练习题由转换时补全标准答案;
- 每课 8-10 道即时练习题(choice/judge/fill 为主),每题带 explain 讲解。
### 4. 数据表(镜像 grammar_point / grammar_progress)
- `math_point`:同 grammar_point 结构(point_id 全局唯一 slug,如 `calc-01`)。
- `math_progress`:child + point_id 唯一,记录 score/passed。
- `math_weekly_test`:child + week_key 唯一,同 weekly_test。
- 错题复用 wrong_book 表;sourceType 扩展:`mlesson`(数学课)/ `mweekly`(数学周测)/ `exam`(考试)。
### 5. 判定与联动
- 即时练习 ≥80 分通过,点亮该课;
- 通过即生成当日打卡 `数学思维 · <课题>`,subject='math'(复用 grammar 的 taskInstance 逻辑);
- 每周检测:从已点亮数学课的 quiz 题池 seeded 抽 10 题(不足 5 题时用 calc 模块兜底),达标生成打卡 `数学周检测 · <weekKey>`,subject='math'。
### 6. 页面
- `/math` 课程地图(同 /learn 布局,按 7 模块分组);
- `/math/[id]` 课时页(复用 LessonBody + QuizBlock);
- `/math/weekly` 数学周测;
- `/kid` 首页新增「数学思维」渐变入口卡 + 「考试中心」卡。
## 二、考试板块
### 1. 内容来源与真实性
来源:组卷网(zujuan.xkw.com,与 sj.zxxk.com 同一学科网体系)初中数学公开试卷页。
- 试卷页公开:试卷标题/年份/地区/分值/时长/全部题干/选项/知识点标注;
- 答案解析登录不可见:由题目本身客观推导作答(计算/选择/判断答案唯一确定),并编写解析;
- 每张试卷记录 sourceUrl,保证可回溯对照原始试卷;
- 公式类题目:原站为图片无法直接取文本,按原图内容以文字/LaTeX 转写并核对答案。
### 2. 首期范围:初一上学期数学(人教版进度,按月度分类)
| 月份 | 考查范围 | 试卷类型 |
| --- | --- | --- |
| 9 月 | 有理数 | 月考 |
| 10 月 | 整式的加减 | 月考/单元 |
| 11 月 | 一元一次方程(+期中范围) | 期中 |
| 12 月 | 几何图形初步 | 月考/单元 |
| 1 月 | 全册综合 | 期末 |
每月 ≥1 张真实卷,首期共 5-9 张;schema 预留 subject/grade/semester 字段,可扩展其它学科年级。
### 3. 数据表
- `exam_paper`:paper_id(slug)、subject/grade/semester/month、exam_type、title、region/year、duration/full_score、source_url、questions(JSON,QuizQ 数组)、seq;
- `exam_record`:child + paper_id 唯一,score/correct/total/passed、answers JSON、taken_at。
### 4. 考试体验
- `/exam` 考试中心:按月份分组列表,显示已考分数;
- `/exam/[id]` 答题页:复用 QuizBlock(可提交多次,取最后一次成绩);
- 判定同语法:≥80 分达标,错题进错题本(sourceType='exam');达标生成打卡 `考试 · <卷名>` subject='math'。
## 三、已知约束
1. drizzle 迁移历史与生产库有漂移(0002 文件为旧版 seq 结构,生产库实为 point_id 版,其余表由 push 创建)。本次 0003 手写纯新增表 SQL,不触碰既有结构;
2. 生产部署:push → 服务器 git pull + docker compose build/up,容器启动自动 migrate;
3. 数学题渲染暂不引入 KaTeX:题干用纯文本表达(分数写作 3/4,乘号用 ×),避免依赖膨胀;后续需要再加。