mirror of
https://github.com/koodo-reader/koodo-reader.git
synced 2026-06-19 13:20:50 -04:00
fix bug
Former-commit-id: 86d55a177e16128b2c8d6403b4c707f22ba040d8
This commit is contained in:
@@ -14,11 +14,8 @@
|
||||
"repository": "https://github.com/troyeguo/koodo-reader",
|
||||
"private": false,
|
||||
"dependencies": {
|
||||
"@types/i18next": "^13.0.0",
|
||||
"@vitalets/google-translate-api": "^8.0.0",
|
||||
"adm-zip": "^0.5.2",
|
||||
"axios": "^0.19.2",
|
||||
"bing-translate-api": "^2.6.0",
|
||||
"chardet": "^1.3.0",
|
||||
"chinese-s2t": "^1.0.0",
|
||||
"copy-text-to-clipboard": "^2.2.0",
|
||||
@@ -27,7 +24,6 @@
|
||||
"electron-store": "^8.0.1",
|
||||
"font-list": "^1.4.5",
|
||||
"fs-extra": "^9.1.0",
|
||||
"http2": "^3.3.7",
|
||||
"iconv-lite": "^0.6.2",
|
||||
"macaddress": "^0.5.2",
|
||||
"react-hot-toast": "^2.1.1",
|
||||
@@ -39,8 +35,10 @@
|
||||
"zip-a-folder": "^0.0.12"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vitalets/google-translate-api": "^8.0.0",
|
||||
"@iarna/rtf-to-html": "^1.1.0",
|
||||
"@types/file-saver": "^2.0.1",
|
||||
"@types/i18next": "^13.0.0",
|
||||
"@types/marked": "^2.0.2",
|
||||
"@types/md5": "^2.2.0",
|
||||
"@types/node": "^13.13.2",
|
||||
@@ -52,6 +50,7 @@
|
||||
"@types/react-router-dom": "^5.1.6",
|
||||
"@types/spark-md5": "^3.0.2",
|
||||
"@types/underscore": "^1.10.24",
|
||||
"bing-translate-api": "^2.6.0",
|
||||
"classnames": "^2.2.6",
|
||||
"concurrently": "^5.0.1",
|
||||
"cross-env": "^6.0.3",
|
||||
@@ -60,6 +59,7 @@
|
||||
"file-saver": "^2.0.2",
|
||||
"hard-source-webpack-plugin": "^0.13.1",
|
||||
"html-react-parser": "^0.13.0",
|
||||
"http2": "^3.3.7",
|
||||
"i18next": "^20.2.4",
|
||||
"js-untar": "^2.0.0",
|
||||
"localforage": "^1.7.3",
|
||||
|
||||
@@ -28,14 +28,11 @@ class DeleteDialog extends React.Component<DeleteDialogProps> {
|
||||
this.props.handleFetchBookmarks();
|
||||
}
|
||||
if (this.props.notes) {
|
||||
console.log(key, 2);
|
||||
let noteArr = DeleteUtil.deleteNotes(this.props.notes, key);
|
||||
console.log(noteArr, 3);
|
||||
if (noteArr.length === 0) {
|
||||
await localforage.removeItem("notes");
|
||||
resolve();
|
||||
} else {
|
||||
console.log(key, 5);
|
||||
await localforage.setItem("notes", noteArr);
|
||||
resolve();
|
||||
}
|
||||
@@ -61,7 +58,6 @@ class DeleteDialog extends React.Component<DeleteDialogProps> {
|
||||
} else if (this.props.mode === "trash") {
|
||||
let keyArr = AddTrash.getAllTrash();
|
||||
for (let i = 0; i < keyArr.length; i++) {
|
||||
console.log(i, keyArr[i]);
|
||||
await this.deleteBook(keyArr[i]);
|
||||
}
|
||||
|
||||
@@ -109,7 +105,6 @@ class DeleteDialog extends React.Component<DeleteDialogProps> {
|
||||
//删除阅读历史
|
||||
RecordLocation.clear(key);
|
||||
//删除书签,笔记,书摘,高亮
|
||||
console.log(key, 1);
|
||||
await this.handleDeleteOther(key);
|
||||
resolve();
|
||||
})
|
||||
|
||||
@@ -62,7 +62,7 @@ class SortUtil {
|
||||
) {
|
||||
let oldRecentArr = books.map((item) => item.key);
|
||||
let recentArr = RecordRecent.getAllRecent();
|
||||
if (bookSortCode.sort === 1) {
|
||||
if (bookSortCode.sort === 1 || bookSortCode.sort === 0) {
|
||||
if (bookSortCode.order === 1) {
|
||||
return getBookIndex(recentArr, oldRecentArr).reverse();
|
||||
} else {
|
||||
|
||||
59
src/utils/serviceUtils/bingTTS.tsx
Normal file
59
src/utils/serviceUtils/bingTTS.tsx
Normal file
@@ -0,0 +1,59 @@
|
||||
import axios from "axios";
|
||||
|
||||
async function getToken() {
|
||||
try {
|
||||
const result = await axios.get("https://www.bing.com/translator");
|
||||
const iidMatch = /data-iid="(.+?)"/.exec(result.data);
|
||||
const igMatch = /IG:"(.+?)"/.exec(result.data);
|
||||
if (!iidMatch || !igMatch) {
|
||||
throw new Error("Can't get Token");
|
||||
}
|
||||
|
||||
var data = {
|
||||
iid: iidMatch[1],
|
||||
ig: igMatch[1],
|
||||
};
|
||||
|
||||
return data;
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
|
||||
async function getVoiceToken({ ig, iid }) {
|
||||
try {
|
||||
console.log(iid);
|
||||
const url = `https://www.bing.com/tfetspktok?isVertical=1&IG=${ig}&IID=${iid}`;
|
||||
const result = await axios.post(url);
|
||||
return result.data;
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
|
||||
export async function getVoiceSpeech(text) {
|
||||
try {
|
||||
const data: any = await getToken();
|
||||
const tokenData = await getVoiceToken(data);
|
||||
const xmlBody =
|
||||
"<speak version='1.0' xml:lang='vi-VN'><voice xml:lang='vi-VN' xml:gender='Male' name='vi-VN-An'><prosody rate='-20.00%'>" +
|
||||
text +
|
||||
"</prosody></voice></speak>";
|
||||
const config = {
|
||||
headers: {
|
||||
authorization: "Bearer " + tokenData.token,
|
||||
"Content-Type": "application/ssml+xml",
|
||||
"x-microsoft-outputformat": "audio-16khz-32kbitrate-mono-mp3",
|
||||
},
|
||||
};
|
||||
console.log(config);
|
||||
const result = await axios.post(
|
||||
"https://eastasia.tts.speech.microsoft.com/cognitiveservices/v1",
|
||||
xmlBody,
|
||||
config
|
||||
);
|
||||
return result.data;
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user