feat: 完成四种字母描红开发
This commit is contained in:
@@ -30,14 +30,14 @@ const MODES = [
|
||||
desc: 'Uppercase / Lowercase 总览',
|
||||
},
|
||||
{
|
||||
id: 'letter-tracing-two-column',
|
||||
label: '大小写配对',
|
||||
desc: '左 A–M、右 N–Z 配对描红',
|
||||
id: 'letter-tracing-case-pairing',
|
||||
label: '大小写练习',
|
||||
desc: '半组字母左大写右小写',
|
||||
},
|
||||
{
|
||||
id: 'letter-tracing-full',
|
||||
label: '分栏对照',
|
||||
desc: '半组字母左大写右小写',
|
||||
id: 'letter-tracing-two-column',
|
||||
label: '两列练习',
|
||||
desc: '左 A–M、右 N–Z 配对描红',
|
||||
},
|
||||
{
|
||||
id: 'letter-tracing-triple',
|
||||
@@ -89,7 +89,7 @@ createPage(
|
||||
hasContent: false,
|
||||
showShareDialog: false,
|
||||
worksheetId: 'letter-tracing-single',
|
||||
traceMode: 'picture-tracing',
|
||||
traceMode: 'letter-tracing-single',
|
||||
selectedLetter: 'A',
|
||||
letterCaseLower: false,
|
||||
showLetterPicker: true,
|
||||
@@ -166,14 +166,14 @@ createPage(
|
||||
const base = (def?.generatorConfig ??
|
||||
{}) as Partial<LetterTracingGeneratorConfig>;
|
||||
const letterCase =
|
||||
this.data.traceMode === 'picture-tracing'
|
||||
this.data.traceMode === 'letter-tracing-single'
|
||||
? (base.letterCase ?? 'upper')
|
||||
: this.data.letterCaseLower
|
||||
? 'lower'
|
||||
: 'upper';
|
||||
const needsHalf =
|
||||
this.data.traceMode === 'column-compare' ||
|
||||
this.data.traceMode === 'single-line';
|
||||
this.data.traceMode === 'letter-tracing-case-pairing' ||
|
||||
this.data.traceMode === 'letter-tracing-single-line';
|
||||
return mergeLetterTracingConfig(base, {
|
||||
selectedLetter: this.data.selectedLetter,
|
||||
letterCase,
|
||||
@@ -254,17 +254,20 @@ createPage(
|
||||
|
||||
const traceMode = merged.mode;
|
||||
const showLetterPicker =
|
||||
traceMode === 'picture-tracing' || traceMode === 'triple-focus';
|
||||
traceMode === 'letter-tracing-single' ||
|
||||
traceMode === 'letter-tracing-triple';
|
||||
const showCaseToggle =
|
||||
traceMode === 'column-compare' || traceMode === 'single-line';
|
||||
const showNextLetter = traceMode === 'picture-tracing';
|
||||
traceMode === 'letter-tracing-case-pairing' ||
|
||||
traceMode === 'letter-tracing-single-line';
|
||||
const showNextLetter = traceMode === 'letter-tracing-single';
|
||||
const selectedLetter = options?.preserveLetter
|
||||
? (this.data.selectedLetter ?? 'A')
|
||||
: normalizeLetter(merged.selectedLetter ?? '');
|
||||
const letterCaseLower =
|
||||
traceMode === 'column-compare' || traceMode === 'single-line'
|
||||
traceMode === 'letter-tracing-case-pairing' ||
|
||||
traceMode === 'letter-tracing-single-line'
|
||||
? merged.alphabetHalf === 'N-Z'
|
||||
: traceMode === 'picture-tracing'
|
||||
: traceMode === 'letter-tracing-single'
|
||||
? merged.letterCase === 'lower'
|
||||
: false;
|
||||
|
||||
|
||||
@@ -24,18 +24,18 @@
|
||||
|
||||
所有字母以浅红色描红字体呈现,可打印后用铅笔覆写练习。
|
||||
|
||||
### 3. 大小写配对(case-pairing)—— 左右分栏 · 大小写成对练习
|
||||
|
||||
> 以 Aa 为一组进行配对描红,强化大小写对应关系。
|
||||
|
||||
页面分左右两栏(左栏 A–M,右栏 N–Z),每行展示 4 组大小写配对字母。同一行的字母互相对应,每组内包含示范字母(实色)和渐淡描红格,引导从临摹到独立书写。
|
||||
|
||||
### 4. 分栏对照(column-compare)—— 半表字母 · 左大写右小写对照
|
||||
### 3. 分栏对照(case-pairing)—— 半表字母 · 左大写右小写对照
|
||||
|
||||
> 半组字母(A–M 或 N–Z)逐行展开,左大写右小写一一对照。
|
||||
|
||||
四线三格横跨整页宽度,每行分为左右两半:左半栏写大写字母,右半栏写对应的小写字母。第一个字母为黑色示范,后续为浅红色描红。可切换 A–M / N–Z 两个半表。
|
||||
|
||||
### 4. 两列练习(two-column)—— 左右分栏 · 大小写成对练习
|
||||
|
||||
> 以 Aa 为一组进行配对描红,强化大小写对应关系。
|
||||
|
||||
页面分左右两栏(左栏 A–M,右栏 N–Z),每行展示 4 组大小写配对字母。同一行的字母互相对应,每组内包含示范字母(实色)和渐淡描红格,引导从临摹到独立书写。每行第一组字母是黑色,后续字母是浅红色,每个颜色渐淡,两栏之间间距 18
|
||||
|
||||
### 5. 三字母精练(triple-focus)—— 每页 3 个字母 · 深度书写
|
||||
|
||||
> 每页聚焦 3 个字母,兼顾专注度和练习量,适合进阶阶段。
|
||||
|
||||
Reference in New Issue
Block a user