Skip to content

Commit dd7051e

Browse files
author
liugaowei
committed
语音列表缓存
1 parent 1b47259 commit dd7051e

File tree

5 files changed

+19957
-35
lines changed

5 files changed

+19957
-35
lines changed

src/components/configpage/ConfigPage.vue

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@
107107
</el-form-item>
108108
</el-form>
109109

110-
<Donate></Donate>
110+
<Donate class="donate"></Donate>
111111
</div>
112112
</div>
113113
</template>
@@ -220,11 +220,13 @@ const updateTitleStyle = () => {
220220
display: flex;
221221
justify-content: space-around;
222222
}
223-
223+
.donate {
224+
width: 420px;
225+
}
224226
.el-form {
225227
margin-top: 7px;
226228
border-right: 1px solid #dcdfe6;
227-
width: 60%;
229+
width: calc(100% - 410px);
228230
padding-left: 10px;
229231
}
230232
:deep(.input-path .el-input-group__append) {

src/components/configpage/Donate.vue

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,8 @@
66
欢迎<span>Star</span>、<span>Fork</span>和<span>PR</span>。你的Star是对作者最好的鼓励:)
77
</h3>
88
<p style="margin: 0 10px; font-size: 11px">
9-
有问题请在
10-
<a href="https://jq.qq.com/?_wv=1027&k=bMNZfGxs" target="_blank"
11-
>QQ群(752801820)</a
12-
>
13-
14-
<a href="https://github.com/LokerL/tts-vue/issues" target="_blank"
15-
>GitHub Issues</a
16-
>
17-
或者
18-
<a href="https://gitee.com/LGW_space/tts-vue/issues" target="_blank"
19-
>Gitee Issues</a
20-
>
21-
进行提问或反馈。
9+
<p>使用遇到问题请仔细阅读【文档】→【使用指南】中的【功能介绍】和【常见问题】。</p>
10+
<p>其他意见或建议可以在【文档】→【加入Q群】中艾特或私聊群主或者管理,也可以在github或者gitee提出issues。</p>
2211
</p>
2312
</div>
2413

@@ -61,14 +50,19 @@ import GithubBtn from "./GithubBtn.vue";
6150
</script>
6251

6352
<style scoped>
53+
.donate {
54+
width: 400px;
55+
}
6456
.donate .des {
6557
margin-bottom: 10px;
6658
}
6759
h3 {
6860
margin: 1px 10px;
6961
font-size: 1em;
7062
}
71-
63+
.des p {
64+
margin: 0;
65+
}
7266
.btns {
7367
margin-top: 10px;
7468
display: flex;

src/components/main/options-config.ts

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
const { ipcRenderer } = require("electron");
2-
const fs = require("fs");
1+
import { voices } from './../../global/voices';
32
let lang = {
43
AF_ZA: "南非荷兰语(南非)",
54
AM_ET: "阿姆哈拉语(埃塞俄比亚)",
@@ -170,12 +169,10 @@ let lang = {
170169
};
171170

172171
let msVoicesList;
173-
try {
174-
msVoicesList = await ipcRenderer.invoke("voices");
175-
localStorage.setItem("msVoicesList", JSON.stringify(msVoicesList));
176-
} catch (error) {
177-
console.error("获取语言列表网络请求失败(使用缓存列表):", error);
172+
if (localStorage.getItem("msVoicesList") !== null) {
178173
msVoicesList = JSON.parse(localStorage.getItem("msVoicesList") || "[]");
174+
} else {
175+
msVoicesList = voices;
179176
}
180177

181178
const voicesList = msVoicesList.map((item: any) => {
@@ -195,21 +192,11 @@ const list = voicesList
195192
})
196193
.sort((a: any, b: any) => b.label.localeCompare(a.label, "en"));
197194

198-
// const set = new Set(list);
199-
// const languageSelect = [...set].map((item: any) => {
200-
// if (item.locale != "" && item.localeZH != "") {
201-
// return {
202-
// value: item.locale,
203-
// label: item.localeZH,
204-
// }
205-
// }
206-
// });
207195
const tempMap = new Map();
208196
const languageSelect = list.filter(
209197
(item: any) => !tempMap.has(item.value) && tempMap.set(item.value, 1)
210198
);
211199

212-
console.log(languageSelect);
213200
const findVoicesByLocaleName = (localeName: any) => {
214201
const voices = voicesList.filter((item: any) => item.locale == localeName);
215202
return voices;

src/global/initLocalStore.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,18 @@
1+
import { voices } from './voices';
12
const Store = require("electron-store");
23
const store = new Store();
34
const { ipcRenderer } = require("electron");
4-
export default function initStore() {
5+
6+
export default async function initStore() {
7+
try {
8+
const msVoicesList = await ipcRenderer.invoke("voices");
9+
localStorage.setItem("msVoicesList", JSON.stringify(msVoicesList));
10+
} catch (error) {
11+
// 如果网络请求失败并且localStorage的msVoicesList为空
12+
if (localStorage.getItem("msVoicesList") == null) {
13+
localStorage.setItem("msVoicesList", JSON.stringify(voices));
14+
}
15+
}
516

617
store.set("FormConfig.默认", {
718
languageSelect: "zh-CN",

0 commit comments

Comments
 (0)