Skip to content

Commit 3808b4f

Browse files
committed
feat(hanzi): 增加朗读相关信息功能
1 parent 14c90ee commit 3808b4f

File tree

4 files changed

+54
-8
lines changed

4 files changed

+54
-8
lines changed

docs/.vuepress/styles/zhaobc.scss

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,3 +94,16 @@
9494
}
9595
}
9696
}
97+
98+
.page-break-always {
99+
break-after: always !important;
100+
}
101+
.page-break-avoid {
102+
page-break-inside: avoid !important;
103+
}
104+
105+
@media print {
106+
.no-print {
107+
display: none !important;
108+
}
109+
}

docs/.vuepress/theme/components/hanzi/Hanzi.vue

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ const bihuaCountRet = shallowRef([props.bihuashu])
4747
const bihuaNameRet = shallowRef([props.bihua])
4848
const zuciRet = shallowRef(props.zuci)
4949
50+
const speehTxt = ref([])
51+
5052
onMounted(() => {
5153
cnchar.draw(props.zi, {
5254
el: printRef.value,
@@ -79,18 +81,32 @@ onMounted(() => {
7981
},
8082
})
8183
84+
speehTxt.value.push(props.zi)
8285
if (!props.pinyin) {
8386
pinyinRet.value = cnchar.spell(props.zi, 'low', 'tone', 'poly')
8487
}
8588
bushouRet.value = cnchar.radical(props.zi)
89+
speehTxt.value.push(props.bushou || bushouRet.value[0].struct)
90+
speehTxt.value.push('笔画数')
8691
if (!props.bihuashu) {
8792
bihuaCountRet.value = cnchar.stroke(props.zi, 'order', 'count')
93+
speehTxt.value.push(bihuaCountRet.value)
94+
} else {
95+
speehTxt.value.push(props.bihuashu)
8896
}
97+
speehTxt.value.push('笔划')
8998
if (props.bihua === null || props.bihua.length === 0) {
9099
bihuaNameRet.value = cnchar.stroke(props.zi, 'order', 'name')
100+
speehTxt.value.push(...bihuaNameRet.value[0])
101+
} else {
102+
speehTxt.value.push(...props.bihua)
91103
}
104+
speehTxt.value.push('组词')
92105
if (props.zuci === null || props.zuci.length === 0) {
93106
zuciRet.value = cnchar.words(props.zi)
107+
speehTxt.value.push(...zuciRet.value.slice(0, 5))
108+
} else {
109+
speehTxt.value.push(...props.zuci)
94110
}
95111
})
96112
@@ -128,6 +144,10 @@ function handleWriting() {
128144
},
129145
})
130146
}
147+
148+
function handleRead() {
149+
cnchar.voice.speak(speehTxt.value)
150+
}
131151
</script>
132152

133153
<template>
@@ -141,6 +161,11 @@ function handleWriting() {
141161
<button class="btn-voice btn" title="发音" @click="handleVoice" />
142162
<button class="btn-play btn" title="笔划" @click="handlePlay" />
143163
<button class="btn-write btn" title="书写" @click="handleWriting" />
164+
<button
165+
class="btn-human-voice btn"
166+
title="朗读"
167+
@click="handleRead"
168+
/>
144169
</div>
145170
</div>
146171
<div class="hanzi-main__right">

docs/posts/edu/learn-hanzi.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,17 @@ head:
2929
同时,可以展示汉字发音,书写笔划,以及汉字临摹功能。
3030
另外,也可以打印出来,方便孩子学习。
3131

32+
:::info
33+
为了发音迅速,优先使用浏览器自带的特性实现,推荐使用最新的 Edge 浏览器。
34+
:::
35+
3236
## 使用方法
3337

3438
封装了一个简单的 `Hanzi` 组件,使用方式如下:
3539

3640
```vue
3741
<Hanzi zi="春" :zuci="['春风', '春雨', '春天', '春日']" />
38-
<Hanzi zi="冬" />
42+
<Hanzi zi="冬" :bihua="['撇', '横撇', '捺', '点', '点']" />
3943
<Hanzi
4044
zi="风"
4145
pinyin="fēng"
@@ -81,5 +85,5 @@ head:
8185
## 简单效果
8286

8387
<Hanzi zi="" :zuci="['春风', '春雨', '春天', '春日']" />
84-
<Hanzi zi="" />
88+
<Hanzi zi="" :bihua="['撇', '横撇', '捺', '点', '点']" />
8589
<Hanzi zi="" pinyin="fēng" jiegou="独体字" :zuci="['风雨', '风云', '大风', '东风']" />

docs/posts/edu/小学/一年级/语文/下册.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,21 @@ tag:
1313
head:
1414
- - meta
1515
- name: description
16-
content: 一年级下册 识字
16+
content: 一年级下册
1717
---
1818

19-
# 识字
19+
# 下册
20+
21+
:::info
22+
为了发音迅速,优先使用浏览器自带的特性实现,推荐使用最新的 Edge 浏览器。
23+
:::
2024

2125
## 1.春夏秋冬
2226

2327
<Hanzi zi="" :zuci="['春风', '春雨', '春天', '春日']" />
24-
<Hanzi zi="" :zuci="['冬天', '立冬', '冬雪', '冬日']" />
28+
<Hanzi zi="" :bihua="['撇', '横撇', '捺', '点', '点']" :zuci="['冬天', '立冬', '冬雪', '冬日']" />
2529
<Hanzi zi="" pinyin="fēng" jiegou="独体字" :zuci="['风雨', '风云', '大风', '东风']" />
26-
<Hanzi zi="" :zuci="['雪花', '雨雪', '风雪', '雪人']" />
30+
<Hanzi zi="" :bihua="['横', '点', '横钩', '竖', '点', '点', '点', '点', '横折', '横', '横']" :zuci="['雪花', '雨雪', '风雪', '雪人']" />
2731
<Hanzi zi="" :zuci="['雪花', '花生', '开花', '水花', '烟花']" />
2832
<Hanzi zi="" :zuci="['飞虫', '飞走', '飞机', '飞人', '飞鱼']" />
2933
<Hanzi zi="" :zuci="['出入', '入口', '入门', '进入']" />
@@ -33,7 +37,7 @@ head:
3337
<Hanzi zi="" :zuci="['姓氏', '姓名', '百姓']" />
3438
<Hanzi zi="" :zuci="['什么', '为什么', '什锦']" />
3539
<Hanzi zi="" :zuci="['什么', '为什么', '多么', '那么', '怎么', '要么']" />
36-
<Hanzi zi="" :zuci="['双人', '双手', '双方', '双向', '成双成对']" />
40+
<Hanzi zi="" :bihua="['横撇', '点', '横撇', '捺']" :zuci="['双人', '双手', '双方', '双向', '成双成对']" />
3741
<Hanzi zi="" :zuci="['中国', '国家', '国王', '国土']" />
3842
<Hanzi zi="" :zuci="['王子', '国王', '女王', '大王']" />
3943
<Hanzi zi="" :zuci="['大方', '方向', '对方', '方圆', '方方面面']" />
@@ -44,6 +48,6 @@ head:
4448
<Hanzi zi="" />
4549
<Hanzi zi="" />
4650
<Hanzi zi="" />
47-
<Hanzi zi="" />
51+
<Hanzi zi="" :bihua="['点', '点', '竖', '横', '横', '竖', '横', '竖', '横折钩', '横', '横']" />
4852
<Hanzi zi="" />
4953
<Hanzi zi="" />

0 commit comments

Comments
 (0)