feat: 首页、分类页加载数据逻辑重构

This commit is contained in:
R524809
2026-04-30 16:44:45 +08:00
parent c112c70bab
commit 7126d3a941
63 changed files with 805 additions and 433 deletions
+27 -27
View File
@@ -12,7 +12,7 @@ export type HomeDisplayItem = {
difficulty: '入门' | '基础' | '进阶' | '挑战';
icon: string;
/** 横向滑动卡片顶部图,有则优先展示,可与 icon 二选一 */
img?: string;
previewImg?: string;
badge?: string;
path: string;
available: boolean;
@@ -139,7 +139,7 @@ export const HOME_PRODUCT_TARGET_DATA: HomeDisplayDataset = {
difficulty: '基础',
icon: '',
badge: '热门',
img: '/assets/entrancePicture/math/addition-5.png',
previewImg: '/assets/entrancePicture/math/addition-5.png',
path: '/mathPages/mathDraw/mathDraw?id=addition',
available: true,
source: '现有加减法页面可承接',
@@ -160,7 +160,7 @@ export const HOME_PRODUCT_TARGET_DATA: HomeDisplayDataset = {
ageBand: '3-4岁',
difficulty: '入门',
icon: '🔢',
img: '/assets/entrancePicture/math/number-find.png',
previewImg: '/assets/entrancePicture/math/number-find.png',
path: '/mathPages/mathDraw/mathDraw?id=number-find',
available: true,
source: '现有 找数字/写数字 能力',
@@ -173,7 +173,7 @@ export const HOME_PRODUCT_TARGET_DATA: HomeDisplayDataset = {
ageBand: '4-5岁',
difficulty: '基础',
icon: '🧮',
img: '/assets/entrancePicture/math/count-match.png',
previewImg: '/assets/entrancePicture/math/count-match.png',
path: '/mathPages/mathDraw/mathDraw?id=counting-matching',
available: true,
source: '现有 countMatch/countingSelect',
@@ -186,7 +186,7 @@ export const HOME_PRODUCT_TARGET_DATA: HomeDisplayDataset = {
ageBand: '5-7岁',
difficulty: '基础',
icon: '',
img: '/assets/entrancePicture/math/addition-5.png',
previewImg: '/assets/entrancePicture/math/addition-5.png',
path: '/mathPages/mathDraw/mathDraw?id=addition',
available: true,
source: '现有 addition/calculationPractice',
@@ -355,7 +355,7 @@ export const HOME_PRODUCT_TARGET_DATA: HomeDisplayDataset = {
ageBand: '4-6岁',
difficulty: '基础',
icon: '🧵',
img: '/assets/entrancePicture/focus/dot-connect.png',
previewImg: '/assets/entrancePicture/focus/dot-connect.png',
path: '/focusPages/focusDraw/focusDraw?id=dot-connect',
available: true,
source: '现有 dotConnect/matchConnect',
@@ -435,7 +435,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
difficulty: '基础',
icon: '',
badge: 'HOT',
img: '/assets/entrancePicture/math/addition-5.png',
previewImg: '/assets/entrancePicture/math/addition-5.png',
path: '/mathPages/mathDraw/mathDraw?id=addition',
available: true,
source: '现有功能清单 addition',
@@ -464,7 +464,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
difficulty: '基础',
icon: '🔗',
badge: '热门',
img: '/assets/entrancePicture/focus/dot-connect.png',
previewImg: '/assets/entrancePicture/focus/dot-connect.png',
path: '/focusPages/focusDraw/focusDraw?id=dot-connect',
available: true,
source: '现有功能清单 dot-connect',
@@ -480,7 +480,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
difficulty: '入门',
icon: '🔢',
badge: '热门',
img: '/assets/entrancePicture/math/number-find.png',
previewImg: '/assets/entrancePicture/math/number-find.png',
path: '/mathPages/mathDraw/mathDraw?id=number-find',
available: true,
source: 'number-find',
@@ -494,7 +494,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
difficulty: '基础',
icon: '🧮',
badge: '热门',
img: '/assets/entrancePicture/math/count-match.png',
previewImg: '/assets/entrancePicture/math/count-match.png',
path: '/mathPages/mathDraw/mathDraw?id=counting-matching',
available: true,
source: 'counting-matching',
@@ -508,7 +508,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
difficulty: '进阶',
icon: '🟨',
badge: '热门',
img: '/assets/entrancePicture/focus/grid-drawing-5x5.png',
previewImg: '/assets/entrancePicture/focus/grid-drawing-5x5.png',
path: '/focusPages/focusDraw/focusDraw?id=grid-drawing',
available: true,
source: 'grid-drawing-5x5',
@@ -529,7 +529,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
ageBand: '3-4岁',
difficulty: '入门',
icon: '🔢',
img: '/assets/entrancePicture/math/number-find.png',
previewImg: '/assets/entrancePicture/math/number-find.png',
path: '/mathPages/mathDraw/mathDraw?id=number-find',
available: true,
source: 'number-find / number-write',
@@ -542,7 +542,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
ageBand: '4-5岁',
difficulty: '基础',
icon: '🧮',
img: '/assets/entrancePicture/math/count-match.png',
previewImg: '/assets/entrancePicture/math/count-match.png',
path: '/mathPages/mathDraw/mathDraw?id=counting-matching',
available: true,
source: 'countMatch / countingSelect',
@@ -555,7 +555,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
ageBand: '4-5岁',
difficulty: '基础',
icon: '📈',
img: '/assets/entrancePicture/math/number-sort.png',
previewImg: '/assets/entrancePicture/math/number-sort.png',
path: '/mathPages/mathDraw/mathDraw?id=number-sort',
available: true,
source: 'numberSort / missingNumber',
@@ -568,7 +568,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
ageBand: '5-7岁',
difficulty: '基础',
icon: '',
img: '/assets/entrancePicture/math/addition-5.png',
previewImg: '/assets/entrancePicture/math/addition-5.png',
path: '/mathPages/mathDraw/mathDraw?id=addition',
available: true,
source: 'addition / calculationPractice',
@@ -581,7 +581,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
ageBand: '7-8岁',
difficulty: '挑战',
icon: '✖️',
img: '/assets/entrancePicture/math/multiplication-table.png',
previewImg: '/assets/entrancePicture/math/multiplication-table.png',
path: '/mathPages/mathDraw/mathDraw?id=multiplication-table',
available: true,
source: 'multiplicationTable',
@@ -646,7 +646,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
ageBand: '4-6岁',
difficulty: '基础',
icon: '🔗',
img: '/assets/entrancePicture/focus/dot-connect.png',
previewImg: '/assets/entrancePicture/focus/dot-connect.png',
path: '/focusPages/focusDraw/focusDraw?id=dot-connect',
available: true,
source: 'dot-connect',
@@ -659,7 +659,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
ageBand: '4-6岁',
difficulty: '基础',
icon: '🧵',
img: '/assets/entrancePicture/focus/match-connect.png',
previewImg: '/assets/entrancePicture/focus/match-connect.png',
path: '/focusPages/focusDraw/focusDraw?id=match-connect',
available: true,
source: 'match-connect',
@@ -672,7 +672,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
ageBand: '4-6岁',
difficulty: '基础',
icon: '🌈',
img: '/assets/entrancePicture/focus/color-pattern.png',
previewImg: '/assets/entrancePicture/focus/color-pattern.png',
path: '/focusPages/focusDraw/focusDraw?id=color-pattern',
available: true,
source: 'color-pattern',
@@ -685,7 +685,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
ageBand: '5-7岁',
difficulty: '进阶',
icon: '🧠',
img: '/assets/entrancePicture/focus/grid-reasoning.png',
previewImg: '/assets/entrancePicture/focus/grid-reasoning.png',
path: '/focusPages/focusDraw/focusDraw?id=grid-reasoning',
available: true,
source: 'grid-reasoning',
@@ -698,7 +698,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
ageBand: '4-7岁',
difficulty: '进阶',
icon: '🟨',
img: '/assets/entrancePicture/focus/grid-drawing-5x5.png',
previewImg: '/assets/entrancePicture/focus/grid-drawing-5x5.png',
path: '/focusPages/focusDraw/focusDraw?id=grid-drawing',
available: true,
source: 'grid-drawing',
@@ -719,7 +719,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
ageBand: '4-7岁',
difficulty: '入门',
icon: '',
img: '/assets/entrancePicture/english/letter-tracing-single.jpg',
previewImg: '/assets/entrancePicture/english/letter-tracing-single.jpg',
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-single',
available: true,
source: 'letter-tracing-single',
@@ -732,7 +732,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
ageBand: '4-7岁',
difficulty: '入门',
icon: '',
img: '/assets/entrancePicture/english/letter-tracing-upper-lower.jpg',
previewImg: '/assets/entrancePicture/english/letter-tracing-upper-lower.jpg',
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-upper-lower',
available: true,
source: 'letter-tracing-upper-lower',
@@ -745,7 +745,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
ageBand: '4-7岁',
difficulty: '入门',
icon: '',
img: '/assets/entrancePicture/english/letter-tracing-case-pairing.jpg',
previewImg: '/assets/entrancePicture/english/letter-tracing-case-pairing.jpg',
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-case-pairing',
available: true,
source: 'letter-tracing-case-pairing',
@@ -758,7 +758,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
ageBand: '4-7岁',
difficulty: '入门',
icon: '',
img: '/assets/entrancePicture/english/letter-tracing-two-column.jpg',
previewImg: '/assets/entrancePicture/english/letter-tracing-two-column.jpg',
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-two-column',
available: true,
source: 'letter-tracing-two-column',
@@ -771,7 +771,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
ageBand: '4-7岁',
difficulty: '入门',
icon: '',
img: '/assets/entrancePicture/english/letter-tracing-half.jpg',
previewImg: '/assets/entrancePicture/english/letter-tracing-half.jpg',
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-half',
available: true,
source: 'letter-tracing-half',
@@ -784,7 +784,7 @@ export const HOME_CURRENT_CAPABILITY_DATA: HomeDisplayDataset = {
ageBand: '4-7岁',
difficulty: '入门',
icon: '',
img: '/assets/entrancePicture/english/letter-tracing-three.jpg',
previewImg: '/assets/entrancePicture/english/letter-tracing-three.jpg',
path: '/englishPages/letterTracing/letterTracing?id=letter-tracing-three',
available: true,
source: 'letter-tracing-three',