558 lines
21 KiB
TypeScript
558 lines
21 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': '知识拓展',
|
||
};
|
||
|
||
/** 各年龄段能力目标(由 update-age-config Skill 基于 cache/page-config.json 生成) */
|
||
export const AGE_ABILITIES: Record<AgeBandKey, AbilityItem[]> = {
|
||
'3-4': [
|
||
{ icon: '🔢', title: '数感', desc: '找数字涂色、数物对应' },
|
||
{ icon: '✏️', title: '书写', desc: '识字涂色、字母描红' },
|
||
{ icon: '🧩', title: '思维', desc: '线条识别、图形配对' },
|
||
],
|
||
'4-5': [
|
||
{ icon: '🔢', title: '数感', desc: '比大小、数字排序' },
|
||
{ icon: '✏️', title: '书写', desc: '拼音描红、字母入门' },
|
||
{ icon: '🧩', title: '思维', desc: '方位涂色、连线专注' },
|
||
],
|
||
'5-6': [
|
||
{ icon: '🔢', title: '数感', desc: '凑十法、数的分合' },
|
||
{ icon: '✏️', title: '书写', desc: '拼音描默、识字涂色' },
|
||
{ icon: '🧩', title: '思维', desc: '方格推理、译码连线' },
|
||
],
|
||
'6-7': [
|
||
{ icon: '🔢', title: '数感', desc: '凑十分解、数字排序' },
|
||
{ icon: '✏️', title: '书写', desc: '拼音默写、字母书写' },
|
||
{ icon: '🧩', title: '思维', desc: '方格推理、方位专注' },
|
||
],
|
||
'7-8': [
|
||
{ icon: '🔢', title: '数感', desc: '凑十法、数的分合' },
|
||
{ icon: '✏️', title: '书写', desc: '拼音默写、每日打卡' },
|
||
{ icon: '🧩', title: '思维', desc: '译码连线、综合推理' },
|
||
],
|
||
};
|
||
|
||
/**
|
||
* 4 周路线:每项含 _id / subtitle / path,与 cache/page-config.json 一致。
|
||
* AI Skill 生成时应从 cache/page-config.json 的 home.sections[].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: 'counting-matching',
|
||
title: '数一数,连一连',
|
||
subtitle: '连线配对数字和数量',
|
||
path: '/mathPages/mathDraw/mathDraw?id=counting-matching',
|
||
},
|
||
{
|
||
_id: 'number-coloring',
|
||
title: '按数字,涂颜色',
|
||
subtitle: '按指定数字涂色',
|
||
path: '/mathPages/mathDraw/mathDraw?id=number-coloring',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
week: 2,
|
||
theme: '线条与形状',
|
||
exercises: [
|
||
{
|
||
_id: 'line-recognition',
|
||
title: '线条识别',
|
||
subtitle: '认识不同线条,画对应线条',
|
||
path: '/focusPages/focusDraw/focusDraw?id=line-recognition',
|
||
},
|
||
{
|
||
_id: 'dot-connect',
|
||
title: '数字点连线',
|
||
subtitle: '按数字顺序连点成图',
|
||
path: '/focusPages/focusDraw/focusDraw?id=dot-connect',
|
||
},
|
||
{
|
||
_id: 'shape-symbol',
|
||
title: '图形符号配对',
|
||
subtitle: '根据图形画对应符号',
|
||
path: '/focusPages/focusDraw/focusDraw?id=shape-symbol',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
week: 3,
|
||
theme: '识字涂色',
|
||
exercises: [
|
||
{
|
||
_id: 'word-coloring-grid',
|
||
title: '网格涂色',
|
||
subtitle: '田字格涂色识字练习',
|
||
path: '/chinesePages/wordColoring/wordColoring?id=word-coloring-grid',
|
||
},
|
||
{
|
||
_id: 'word-coloring-find',
|
||
title: '找字涂色',
|
||
subtitle: '在字海中找到目标字并涂色',
|
||
path: '/chinesePages/wordColoring/wordColoring?id=word-coloring-find',
|
||
},
|
||
{
|
||
_id: 'position-coloring',
|
||
title: '方位涂涂乐',
|
||
subtitle: '观察位置,在方格中涂色',
|
||
path: '/focusPages/focusDraw/focusDraw?id=position-coloring',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
week: 4,
|
||
theme: '综合练习',
|
||
exercises: [
|
||
{
|
||
_id: 'number-sort',
|
||
title: '数字排序',
|
||
subtitle: '写出正确的数字顺序',
|
||
path: '/mathPages/mathDraw/mathDraw?id=number-sort',
|
||
},
|
||
{
|
||
_id: 'hanzi-sheet',
|
||
title: '自定义练字帖',
|
||
subtitle: '自定义田字格练字帖',
|
||
path: '/chinesePages/handwritingSheet/handwritingSheet?id=hanzi-sheet',
|
||
},
|
||
{
|
||
_id: 'letter-tracing-single',
|
||
title: '默认字帖',
|
||
subtitle: '配图、例句与描红',
|
||
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-single',
|
||
},
|
||
],
|
||
},
|
||
],
|
||
'4-5': [
|
||
{
|
||
week: 1,
|
||
theme: '数感入门',
|
||
exercises: [
|
||
{
|
||
_id: 'number-coloring',
|
||
title: '按数字,涂颜色',
|
||
subtitle: '按指定数字涂色',
|
||
path: '/mathPages/mathDraw/mathDraw?id=number-coloring',
|
||
},
|
||
{
|
||
_id: 'counting-matching',
|
||
title: '数一数,连一连',
|
||
subtitle: '连线配对数字和数量',
|
||
path: '/mathPages/mathDraw/mathDraw?id=counting-matching',
|
||
},
|
||
{
|
||
_id: 'number-find',
|
||
title: '找数字,涂一涂',
|
||
subtitle: '找出目标数字并涂色',
|
||
path: '/mathPages/mathDraw/mathDraw?id=number-find',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
week: 2,
|
||
theme: '排序与连线',
|
||
exercises: [
|
||
{
|
||
_id: 'number-sort',
|
||
title: '数字排序',
|
||
subtitle: '写出正确的数字顺序',
|
||
path: '/mathPages/mathDraw/mathDraw?id=number-sort',
|
||
},
|
||
{
|
||
_id: 'dot-connect',
|
||
title: '数字点连线',
|
||
subtitle: '按数字顺序连点成图',
|
||
path: '/focusPages/focusDraw/focusDraw?id=dot-connect',
|
||
},
|
||
{
|
||
_id: 'shape-symbol',
|
||
title: '图形符号配对',
|
||
subtitle: '根据图形画对应符号',
|
||
path: '/focusPages/focusDraw/focusDraw?id=shape-symbol',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
week: 3,
|
||
theme: '观察与专注',
|
||
exercises: [
|
||
{
|
||
_id: 'line-recognition',
|
||
title: '线条识别',
|
||
subtitle: '认识不同线条,画对应线条',
|
||
path: '/focusPages/focusDraw/focusDraw?id=line-recognition',
|
||
},
|
||
{
|
||
_id: 'position-coloring',
|
||
title: '方位涂涂乐',
|
||
subtitle: '观察位置,在方格中涂色',
|
||
path: '/focusPages/focusDraw/focusDraw?id=position-coloring',
|
||
},
|
||
{
|
||
_id: 'word-coloring-grid',
|
||
title: '网格涂色',
|
||
subtitle: '田字格涂色识字练习',
|
||
path: '/chinesePages/wordColoring/wordColoring?id=word-coloring-grid',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
week: 4,
|
||
theme: '书写启蒙',
|
||
exercises: [
|
||
{
|
||
_id: 'pinyin-tracing',
|
||
title: '拼音描红练习',
|
||
subtitle: '跟着描红学拼音字母',
|
||
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-tracing',
|
||
},
|
||
{
|
||
_id: 'letter-tracing-single',
|
||
title: '默认字帖',
|
||
subtitle: '配图、例句与描红',
|
||
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-single',
|
||
},
|
||
{
|
||
_id: 'hanzi-sheet',
|
||
title: '自定义练字帖',
|
||
subtitle: '自定义田字格练字帖',
|
||
path: '/chinesePages/handwritingSheet/handwritingSheet?id=hanzi-sheet',
|
||
},
|
||
],
|
||
},
|
||
],
|
||
'5-6': [
|
||
{
|
||
week: 1,
|
||
theme: '数感巩固',
|
||
exercises: [
|
||
{
|
||
_id: 'number-sort',
|
||
title: '数字排序',
|
||
subtitle: '写出正确的数字顺序',
|
||
path: '/mathPages/mathDraw/mathDraw?id=number-sort',
|
||
},
|
||
{
|
||
_id: 'counting-matching',
|
||
title: '数一数,连一连',
|
||
subtitle: '连线配对数字和数量',
|
||
path: '/mathPages/mathDraw/mathDraw?id=counting-matching',
|
||
},
|
||
{
|
||
_id: 'number-coloring',
|
||
title: '按数字,涂颜色',
|
||
subtitle: '按指定数字涂色',
|
||
path: '/mathPages/mathDraw/mathDraw?id=number-coloring',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
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: 'grid-reasoning',
|
||
title: '方格推理',
|
||
subtitle: '推理出合并方格并连线',
|
||
path: '/focusPages/focusDraw/focusDraw?id=grid-reasoning',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
week: 3,
|
||
theme: '拼音与识字',
|
||
exercises: [
|
||
{
|
||
_id: 'pinyin-tracing',
|
||
title: '拼音描红练习',
|
||
subtitle: '跟着描红学拼音字母',
|
||
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-tracing',
|
||
},
|
||
{
|
||
_id: 'pinyin-tracing-v2',
|
||
title: '拼音描红 8 列',
|
||
subtitle: '跟写描红,声韵分块',
|
||
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-tracing-v2',
|
||
},
|
||
{
|
||
_id: 'word-coloring-find',
|
||
title: '找字涂色',
|
||
subtitle: '在字海中找到目标字并涂色',
|
||
path: '/chinesePages/wordColoring/wordColoring?id=word-coloring-find',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
week: 4,
|
||
theme: '综合提升',
|
||
exercises: [
|
||
{
|
||
_id: 'pinyin-dictation',
|
||
title: '拼音默写练习',
|
||
subtitle: '空白格子默写拼音字母',
|
||
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-dictation',
|
||
},
|
||
{
|
||
_id: 'letter-tracing-case-pairing',
|
||
title: '大小写对照',
|
||
subtitle: '半组字母左大写右小写',
|
||
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-case-pairing',
|
||
},
|
||
{
|
||
_id: 'code-connect',
|
||
title: '译码连线',
|
||
subtitle: '按数字顺序连线',
|
||
path: '/focusPages/focusDraw/focusDraw?id=code-connect',
|
||
},
|
||
],
|
||
},
|
||
],
|
||
'6-7': [
|
||
{
|
||
week: 1,
|
||
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: 'number-sort',
|
||
title: '数字排序',
|
||
subtitle: '写出正确的数字顺序',
|
||
path: '/mathPages/mathDraw/mathDraw?id=number-sort',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
week: 2,
|
||
theme: '拼音书写',
|
||
exercises: [
|
||
{
|
||
_id: 'pinyin-tracing-v2',
|
||
title: '拼音描红 8 列',
|
||
subtitle: '跟写描红,声韵分块',
|
||
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-tracing-v2',
|
||
},
|
||
{
|
||
_id: 'pinyin-dictation',
|
||
title: '拼音默写练习',
|
||
subtitle: '空白格子默写拼音字母',
|
||
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-dictation',
|
||
},
|
||
{
|
||
_id: 'hanzi-sheet',
|
||
title: '自定义练字帖',
|
||
subtitle: '自定义田字格练字帖',
|
||
path: '/chinesePages/handwritingSheet/handwritingSheet?id=hanzi-sheet',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
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: 'position-coloring',
|
||
title: '方位涂涂乐',
|
||
subtitle: '观察位置,在方格中涂色',
|
||
path: '/focusPages/focusDraw/focusDraw?id=position-coloring',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
week: 4,
|
||
theme: '综合衔接',
|
||
exercises: [
|
||
{
|
||
_id: 'pinyin-daily',
|
||
title: '拼音每日打卡',
|
||
subtitle: '四宫格每日打卡练习',
|
||
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-daily',
|
||
},
|
||
{
|
||
_id: 'letter-tracing-half',
|
||
title: '13字母半表',
|
||
subtitle: '每行一个字母,13 字母半表',
|
||
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-half',
|
||
},
|
||
{
|
||
_id: 'letter-tracing-two-column',
|
||
title: '两列描红',
|
||
subtitle: '左 A–M、右 N–Z 配对描红',
|
||
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-two-column',
|
||
},
|
||
],
|
||
},
|
||
],
|
||
'7-8': [
|
||
{
|
||
week: 1,
|
||
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: 'grid-reasoning',
|
||
title: '方格推理',
|
||
subtitle: '推理出合并方格并连线',
|
||
path: '/focusPages/focusDraw/focusDraw?id=grid-reasoning',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
week: 2,
|
||
theme: '拼音精进',
|
||
exercises: [
|
||
{
|
||
_id: 'pinyin-dictation-v2',
|
||
title: '拼音默写 8 列',
|
||
subtitle: '空白默写,声韵分块',
|
||
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-dictation-v2',
|
||
},
|
||
{
|
||
_id: 'pinyin-dictation',
|
||
title: '拼音默写练习',
|
||
subtitle: '空白格子默写拼音字母',
|
||
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-dictation',
|
||
},
|
||
{
|
||
_id: 'pinyin-tracing',
|
||
title: '拼音描红练习',
|
||
subtitle: '跟着描红学拼音字母',
|
||
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-tracing',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
week: 3,
|
||
theme: '译码与字母',
|
||
exercises: [
|
||
{
|
||
_id: 'code-connect',
|
||
title: '译码连线',
|
||
subtitle: '按数字顺序连线',
|
||
path: '/focusPages/focusDraw/focusDraw?id=code-connect',
|
||
},
|
||
{
|
||
_id: 'letter-tracing-case-pairing',
|
||
title: '大小写对照',
|
||
subtitle: '半组字母左大写右小写',
|
||
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-case-pairing',
|
||
},
|
||
{
|
||
_id: 'letter-tracing-half',
|
||
title: '13字母半表',
|
||
subtitle: '每行一个字母,13 字母半表',
|
||
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-half',
|
||
},
|
||
],
|
||
},
|
||
{
|
||
week: 4,
|
||
theme: '综合拓展',
|
||
exercises: [
|
||
{
|
||
_id: 'pinyin-daily',
|
||
title: '拼音每日打卡',
|
||
subtitle: '四宫格每日打卡练习',
|
||
path: '/pinyinPages/pinyinDictation/pinyinDictation?id=pinyin-daily',
|
||
},
|
||
{
|
||
_id: 'letter-tracing-daily-checkin',
|
||
title: '每日打卡',
|
||
subtitle: '四宫格每日字母打卡练习',
|
||
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-daily-checkin',
|
||
},
|
||
{
|
||
_id: 'hanzi-sheet',
|
||
title: '自定义练字帖',
|
||
subtitle: '自定义田字格练字帖',
|
||
path: '/chinesePages/handwritingSheet/handwritingSheet?id=hanzi-sheet',
|
||
},
|
||
],
|
||
},
|
||
],
|
||
};
|