558 lines
20 KiB
TypeScript
558 lines
20 KiB
TypeScript
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',
|
||
},
|
||
],
|
||
},
|
||
],
|
||
};
|