feat: 完成分龄页开发

This commit is contained in:
R524809
2026-05-06 17:28:51 +08:00
parent 50394154f7
commit 9bdf850f20
54 changed files with 3499 additions and 1021 deletions
+557
View File
@@ -0,0 +1,557 @@
import type { AgeBandKey } from '../../core/data/difficulty';
export type AbilityItem = {
icon: string;
title: string;
desc: string;
};
/** 每周练习项:与云 / page-config 中 worksheet 字段对齐,便于跳转 */
export type WeekExercise = {
/** 与云数据库 worksheets._id、page-config category.items[].id 一致 */
_id: string;
title: string;
subtitle: string;
/** 小程序内路径,可含 query,如 /mathPages/mathDraw/mathDraw?id=xxx */
path: string;
};
export type WeekPlan = {
week: number;
theme: string;
exercises: WeekExercise[];
};
export const AGE_TAB_SUB: Record<AgeBandKey, string> = {
'3-4': '启蒙认知',
'4-5': '基础练习',
'5-6': '能力提升',
'6-7': '幼小衔接',
'7-8': '知识拓展',
};
/** 各年龄段能力目标(初版,可由 AI Skill 更新) */
export const AGE_ABILITIES: Record<AgeBandKey, AbilityItem[]> = {
'3-4': [
{ icon: '🔢', title: '数感', desc: '认读 1-5、点数对应' },
{ icon: '✏️', title: '书写', desc: '涂鸦线条、简单描红' },
{ icon: '🧩', title: '思维', desc: '找相同、简单配对' },
],
'4-5': [
{ icon: '🔢', title: '数感', desc: '10 以内数数、比大小' },
{ icon: '✏️', title: '书写', desc: '笔画模仿、图形描边' },
{ icon: '🧩', title: '思维', desc: '规律排序、图形分类' },
],
'5-6': [
{ icon: '🔢', title: '数感', desc: '10以内加减法、凑十法' },
{ icon: '✏️', title: '书写', desc: '练字帖、拼音入门' },
{ icon: '🧩', title: '思维', desc: '方格推理、格子仿画 5×5' },
],
'6-7': [
{ icon: '🔢', title: '数感', desc: '20 以内运算、应用题启蒙' },
{ icon: '✏️', title: '书写', desc: '常用字书写、词语积累' },
{ icon: '🧩', title: '思维', desc: '逻辑填空、空间想象' },
],
'7-8': [
{ icon: '🔢', title: '数感', desc: '乘除启蒙、巧算练习' },
{ icon: '✏️', title: '书写', desc: '段落抄写、古诗诵读' },
{ icon: '🧩', title: '思维', desc: '数独入门、综合推理' },
],
};
/**
* 4 周路线(初版):每项含 _id / subtitle / path,与线上 worksheet 或本地分类兜底一致。
* AI Skill 生成时应从 .cache/page-config.json 的 category.items[] 复制 id→_id、title、subtitle、path。
*/
export const AGE_WEEK_PLANS: Record<AgeBandKey, WeekPlan[]> = {
'3-4': [
{
week: 1,
theme: '数感启蒙',
exercises: [
{
_id: 'number-find',
title: '找数字,涂一涂',
subtitle: '在数字方阵中找出目标数字并涂色',
path: '/mathPages/mathDraw/mathDraw?id=number-find',
},
{
_id: 'addition-5',
title: '5以内加法',
subtitle: '图形化展示 5 以内加法',
path: '/mathPages/mathDraw/mathDraw?id=addition-5',
},
{
_id: 'counting-matching',
title: '数一数,连一连',
subtitle: '连线配对数字和对应数量图形',
path: '/mathPages/mathDraw/mathDraw?id=counting-matching',
},
],
},
{
week: 2,
theme: '形状与连线',
exercises: [
{
_id: 'shape-recognition',
title: '识别形状',
subtitle: '识别形状,涂一涂',
path: '/focusPages/focusDraw/focusDraw?id=shape-recognition',
},
{
_id: 'line-recognition',
title: '线条识别',
subtitle: '认识不同线条,画出颜色对应的线条',
path: '/focusPages/focusDraw/focusDraw?id=line-recognition',
},
{
_id: 'dot-connect',
title: '数字点连线',
subtitle: '按数字顺序连点成图',
path: '/focusPages/focusDraw/focusDraw?id=dot-connect',
},
],
},
{
week: 3,
theme: '趣味专注',
exercises: [
{
_id: 'color-pattern',
title: '颜色找规律',
subtitle: '观察颜色规律,在空白图形中涂色',
path: '/focusPages/focusDraw/focusDraw?id=color-pattern',
},
{
_id: 'grid-drawing-3x3',
title: '格子仿画 3×3',
subtitle: '简单有趣,培养专注力',
path: '/focusPages/focusDraw/focusDraw?id=grid-drawing-3x3',
},
{
_id: 'match-connect',
title: '连连看',
subtitle: '根据物品连一连',
path: '/focusPages/focusDraw/focusDraw?id=match-connect',
},
],
},
{
week: 4,
theme: '综合练习',
exercises: [
{
_id: 'addition-10',
title: '10以内加法',
subtitle: '图形化展示 10 以内加法',
path: '/mathPages/mathDraw/mathDraw?id=addition-10',
},
{
_id: 'word-recognition',
title: '识字卡',
subtitle: '输入或选字生成涂色识字卡',
path: '/pages/index/index',
},
{
_id: 'number-coloring',
title: '按数字,涂颜色',
subtitle: '按指定数字给对应圆圈涂色',
path: '/mathPages/mathDraw/mathDraw?id=number-coloring',
},
],
},
],
'4-5': [
{
week: 1,
theme: '数数与比较',
exercises: [
{
_id: 'counting-fill',
title: '数一数,填一填',
subtitle: '数出物品数量,填写数字',
path: '/mathPages/mathDraw/mathDraw?id=counting-fill',
},
{
_id: 'compare',
title: '数一数,比大小',
subtitle: '比较数量,填入 ><=',
path: '/mathPages/mathDraw/mathDraw?id=compare',
},
{
_id: 'number-object-match',
title: '数物连线',
subtitle: '连线相同数量的物品和数字',
path: '/mathPages/mathDraw/mathDraw?id=number-object-match',
},
],
},
{
week: 2,
theme: '线条与形状',
exercises: [
{
_id: 'number-write',
title: '看数字,写一写',
subtitle: '按笔画顺序练习书写数字',
path: '/mathPages/mathDraw/mathDraw?id=number-write',
},
{
_id: 'shape-symbol',
title: '图形符号配对',
subtitle: '根据图形画对应符号',
path: '/focusPages/focusDraw/focusDraw?id=shape-symbol',
},
{
_id: 'counting-matching',
title: '数一数,连一连',
subtitle: '连线配对数字和对应数量图形',
path: '/mathPages/mathDraw/mathDraw?id=counting-matching',
},
],
},
{
week: 3,
theme: '规律与分类',
exercises: [
{
_id: 'color-pattern',
title: '颜色找规律',
subtitle: '观察颜色规律,在空白图形中涂色',
path: '/focusPages/focusDraw/focusDraw?id=color-pattern',
},
{
_id: 'number-sort',
title: '数字排序',
subtitle: '写出正确的数字顺序',
path: '/mathPages/mathDraw/mathDraw?id=number-sort',
},
{
_id: 'color-shape-match',
title: '根据颜色画图形',
subtitle: '根据颜色画出对应图形',
path: '/focusPages/focusDraw/focusDraw?id=color-shape-match',
},
],
},
{
week: 4,
theme: '综合提升',
exercises: [
{
_id: 'code-connect',
title: '译码连线',
subtitle: '按数字顺序将数字对应颜色连线',
path: '/focusPages/focusDraw/focusDraw?id=code-connect',
},
{
_id: 'match-connect',
title: '连连看',
subtitle: '根据物品连一连',
path: '/focusPages/focusDraw/focusDraw?id=match-connect',
},
{
_id: 'addition-10',
title: '10以内加法',
subtitle: '图形化展示 10 以内加法',
path: '/mathPages/mathDraw/mathDraw?id=addition-10',
},
],
},
],
'5-6': [
{
week: 1,
theme: '加减入门',
exercises: [
{
_id: 'addition-5',
title: '5以内加法',
subtitle: '图形化展示 5 以内加法',
path: '/mathPages/mathDraw/mathDraw?id=addition-5',
},
{
_id: 'addition-10',
title: '10以内加法',
subtitle: '图形化展示 10 以内加法',
path: '/mathPages/mathDraw/mathDraw?id=addition-10',
},
{
_id: 'subtraction-10',
title: '10以内减法',
subtitle: '图形化展示 10 以内减法',
path: '/mathPages/mathDraw/mathDraw?id=subtraction-10',
},
],
},
{
week: 2,
theme: '凑十与分解',
exercises: [
{
_id: 'make-ten',
title: '凑十法练习',
subtitle: '20 以内进位加法',
path: '/mathPages/mathDraw/mathDraw?id=make-ten',
},
{
_id: 'number-decompose',
title: '10以内数的分与合',
subtitle: '把数字分一分,合一合',
path: '/mathPages/mathDraw/mathDraw?id=number-decompose',
},
{
_id: 'one-digit-addition',
title: '一位数加法',
subtitle: '通过圆点学习一位数加法运算',
path: '/mathPages/mathDraw/mathDraw?id=one-digit-addition',
},
],
},
{
week: 3,
theme: '逻辑与推理',
exercises: [
{
_id: 'grid-reasoning',
title: '方格推理',
subtitle: '推理出合并方格并连线',
path: '/focusPages/focusDraw/focusDraw?id=grid-reasoning',
},
{
_id: 'grid-drawing-5x5',
title: '格子仿画 5×5',
subtitle: '创意挑战,提升观察力',
path: '/focusPages/focusDraw/focusDraw?id=grid-drawing-5x5',
},
{
_id: 'missing-number',
title: '填上缺少的数字',
subtitle: '在数列中找出并填写缺失数字',
path: '/mathPages/mathDraw/mathDraw?id=missing-number',
},
],
},
{
week: 4,
theme: '综合应用',
exercises: [
{
_id: 'addition-subtraction-10',
title: '10以内加减法',
subtitle: '加减法混合运算',
path: '/mathPages/mathDraw/mathDraw?id=addition-subtraction-10',
},
{
_id: 'practice-addition',
title: '加法运算',
subtitle: '10/20/50/100 以内加法',
path: '/mathPages/mathDraw/mathDraw?id=practice-addition',
},
{
_id: 'copybook',
title: '练字帖',
subtitle: '选字生成田字格笔顺练字帖',
path: '/pages/copyBook/copyBook',
},
],
},
],
'6-7': [
{
week: 1,
theme: '20 以内运算',
exercises: [
{
_id: 'practice-addition',
title: '加法运算',
subtitle: '10/20/50/100 以内加法',
path: '/mathPages/mathDraw/mathDraw?id=practice-addition',
},
{
_id: 'practice-subtraction',
title: '减法运算',
subtitle: '10/20/50/100 以内减法',
path: '/mathPages/mathDraw/mathDraw?id=practice-subtraction',
},
{
_id: 'practice-mixed',
title: '混合运算',
subtitle: '10/20/50/100 以内加减法混合',
path: '/mathPages/mathDraw/mathDraw?id=practice-mixed',
},
],
},
{
week: 2,
theme: '识字与词语',
exercises: [
{
_id: 'copybook',
title: '练字帖',
subtitle: '选字生成田字格笔顺练字帖',
path: '/pages/copyBook/copyBook',
},
{
_id: 'match-connect',
title: '连连看',
subtitle: '根据物品连一连',
path: '/focusPages/focusDraw/focusDraw?id=match-connect',
},
{
_id: 'word-recognition',
title: '识字卡',
subtitle: '输入或选字生成涂色识字卡',
path: '/pages/index/index',
},
],
},
{
week: 3,
theme: '逻辑与空间',
exercises: [
{
_id: 'grid-reasoning',
title: '方格推理',
subtitle: '推理出合并方格并连线',
path: '/focusPages/focusDraw/focusDraw?id=grid-reasoning',
},
{
_id: 'position-coloring',
title: '方位涂涂乐',
subtitle: '观察位置,在方格中涂色',
path: '/focusPages/focusDraw/focusDraw?id=position-coloring',
},
{
_id: 'code-connect',
title: '译码连线',
subtitle: '按数字顺序将数字对应颜色连线',
path: '/focusPages/focusDraw/focusDraw?id=code-connect',
},
],
},
{
week: 4,
theme: '综合提升',
exercises: [
{
_id: 'break-ten',
title: '破十法练习',
subtitle: '20 以内退位减法',
path: '/mathPages/mathDraw/mathDraw?id=break-ten',
},
{
_id: 'flat-ten',
title: '平十法练习',
subtitle: '20 以内退位减法',
path: '/mathPages/mathDraw/mathDraw?id=flat-ten',
},
{
_id: 'number-decompose-20',
title: '20以内数的分与合',
subtitle: '把数字分一分,合一合',
path: '/mathPages/mathDraw/mathDraw?id=number-decompose-20',
},
],
},
],
'7-8': [
{
week: 1,
theme: '乘除启蒙',
exercises: [
{
_id: 'multiplication-table',
title: '九九乘法表',
subtitle: '学习九九乘法口诀',
path: '/mathPages/mathDraw/mathDraw?id=multiplication-table',
},
{
_id: 'practice-addition',
title: '加法运算',
subtitle: '10/20/50/100 以内加法',
path: '/mathPages/mathDraw/mathDraw?id=practice-addition',
},
{
_id: 'practice-subtraction',
title: '减法运算',
subtitle: '10/20/50/100 以内减法',
path: '/mathPages/mathDraw/mathDraw?id=practice-subtraction',
},
],
},
{
week: 2,
theme: '巧算与策略',
exercises: [
{
_id: 'make-ten',
title: '凑十法练习',
subtitle: '20 以内进位加法',
path: '/mathPages/mathDraw/mathDraw?id=make-ten',
},
{
_id: 'borrow-ten',
title: '借十法练习',
subtitle: '20 以上退位减法',
path: '/mathPages/mathDraw/mathDraw?id=borrow-ten',
},
{
_id: 'practice-mixed',
title: '混合运算',
subtitle: '10/20/50/100 以内加减法混合',
path: '/mathPages/mathDraw/mathDraw?id=practice-mixed',
},
],
},
{
week: 3,
theme: '综合推理',
exercises: [
{
_id: 'grid-reasoning',
title: '方格推理',
subtitle: '推理出合并方格并连线',
path: '/focusPages/focusDraw/focusDraw?id=grid-reasoning',
},
{
_id: 'code-connect',
title: '译码连线',
subtitle: '按数字顺序将数字对应颜色连线',
path: '/focusPages/focusDraw/focusDraw?id=code-connect',
},
{
_id: 'dot-connect',
title: '数字点连线',
subtitle: '按数字顺序连点成图',
path: '/focusPages/focusDraw/focusDraw?id=dot-connect',
},
],
},
{
week: 4,
theme: '能力拓展',
exercises: [
{
_id: 'letter-tracing-two-column',
title: '两列练习',
subtitle: '左 A-M、右 N-Z,大小写配对描红',
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-two-column',
},
{
_id: 'word-recognition',
title: '识字卡',
subtitle: '输入或选字生成涂色识字卡',
path: '/pages/index/index',
},
{
_id: 'practice-mixed',
title: '混合运算',
subtitle: '10/20/50/100 以内加减法混合',
path: '/mathPages/mathDraw/mathDraw?id=practice-mixed',
},
],
},
],
};