101 lines
2.6 KiB
TypeScript
101 lines
2.6 KiB
TypeScript
/**
|
|
* 汉语拼音分类数据
|
|
* 23 个声母 + 24 个韵母 + 16 个整体认读音节
|
|
*/
|
|
|
|
export interface PinyinCategory {
|
|
key: string;
|
|
label: string;
|
|
count: number;
|
|
items: string[];
|
|
}
|
|
|
|
export interface PinyinSubCategory {
|
|
key: string;
|
|
label: string;
|
|
count: number;
|
|
items: string[];
|
|
}
|
|
|
|
export interface PinyinSection {
|
|
key: string;
|
|
title: string;
|
|
count: number;
|
|
items: string[];
|
|
subCategories?: PinyinSubCategory[];
|
|
}
|
|
|
|
// ─── 声母 (23个) ───
|
|
|
|
export const SHENGMU: string[] = [
|
|
'b', 'p', 'm', 'f',
|
|
'd', 't', 'n', 'l',
|
|
'g', 'k', 'h',
|
|
'j', 'q', 'x',
|
|
'zh', 'ch', 'sh', 'r',
|
|
'z', 'c', 's',
|
|
'y', 'w',
|
|
];
|
|
|
|
export const QIAOSHEYIN: string[] = ['zh', 'ch', 'sh', 'r'];
|
|
export const PINGSHEYIN: string[] = ['z', 'c', 's'];
|
|
|
|
// ─── 韵母 (24个) ───
|
|
|
|
export const DAN_YUNMU: string[] = ['a', 'o', 'e', 'i', 'u', 'ü'];
|
|
export const FU_YUNMU: string[] = ['ai', 'ei', 'ui', 'ao', 'ou', 'iu', 'ie', 'üe'];
|
|
export const TESHU_YUNMU: string[] = ['er'];
|
|
export const QIANBI_YUNMU: string[] = ['an', 'en', 'in', 'un', 'ün'];
|
|
export const HOUBI_YUNMU: string[] = ['ang', 'eng', 'ing', 'ong'];
|
|
|
|
export const YUNMU: string[] = [
|
|
...DAN_YUNMU,
|
|
...FU_YUNMU,
|
|
...TESHU_YUNMU,
|
|
...QIANBI_YUNMU,
|
|
...HOUBI_YUNMU,
|
|
];
|
|
|
|
// ─── 整体认读音节 (16个) ───
|
|
|
|
export const ZHENGTI_RENDU: string[] = [
|
|
'zhi', 'chi', 'shi', 'ri',
|
|
'zi', 'ci', 'si', 'yi',
|
|
'wu', 'yu', 'ye', 'yue',
|
|
'yuan', 'yin', 'yun', 'ying',
|
|
];
|
|
|
|
// ─── 结构化分类数据(用于绘制) ───
|
|
|
|
export const PINYIN_SECTIONS: PinyinSection[] = [
|
|
{
|
|
key: 'shengmu',
|
|
title: '一、声母',
|
|
count: 23,
|
|
items: SHENGMU,
|
|
subCategories: [
|
|
{ key: 'qiaoshe', label: '翘舌音', count: 4, items: QIAOSHEYIN },
|
|
{ key: 'pingshe', label: '平舌音', count: 3, items: PINGSHEYIN },
|
|
],
|
|
},
|
|
{
|
|
key: 'yunmu',
|
|
title: '二、韵母',
|
|
count: 24,
|
|
items: YUNMU,
|
|
subCategories: [
|
|
{ key: 'dan', label: '单韵母', count: 6, items: DAN_YUNMU },
|
|
{ key: 'fu', label: '复韵母', count: 8, items: FU_YUNMU },
|
|
{ key: 'teshu', label: '特殊韵母', count: 1, items: TESHU_YUNMU },
|
|
{ key: 'qianbi', label: '前鼻韵母', count: 5, items: QIANBI_YUNMU },
|
|
{ key: 'houbi', label: '后鼻韵母', count: 4, items: HOUBI_YUNMU },
|
|
],
|
|
},
|
|
{
|
|
key: 'zhengti',
|
|
title: '三、整体认读音节',
|
|
count: 16,
|
|
items: ZHENGTI_RENDU,
|
|
},
|
|
];
|