fix(export): add total size check for book exports and log size

This commit is contained in:
troyeguo committed 2026-08-16 17:28:31 +08:00
1 parent 44971076af
commit 65c5a79bb2
2 files changed
+29 -20

No files matched your search

+26 -16
View File
@@ -1093,7 +1093,8 @@ const createMainWin = () => {
}
});
mainWin.webContents.on("console-message", (_event, level, message) => {
const lvl = { 0: "info", 1: "info", 2: "warn", 3: "error" }[level] || "info";
const lvl =
{ 0: "info", 1: "info", 2: "warn", 3: "error" }[level] || "info";
log[lvl](`[Renderer] ${message}`);
});
//cancel-download-app
@@ -1433,11 +1434,14 @@ const createMainWin = () => {
}
if (isAutoFullscreen === "yes" || isAutoMaximize === "yes") {
readerWindow = new BrowserWindow(options);
readerWindow.webContents.on("console-message", (_event, level, message) => {
const lvl =
{ 0: "info", 1: "info", 2: "warn", 3: "error" }[level] || "info";
log[lvl](`[Renderer] ${message}`);
});
readerWindow.webContents.on(
"console-message",
(_event, level, message) => {
const lvl =
{ 0: "info", 1: "info", 2: "warn", 3: "error" }[level] || "info";
log[lvl](`[Renderer] ${message}`);
}
);
readerWindow.loadURL(url);
if (isAutoFullscreen === "yes") {
readerWindow.setFullScreen(true);
@@ -1462,11 +1466,14 @@ const createMainWin = () => {
hasShadow: isMergeWord === "yes" ? false : true,
transparent: isMergeWord === "yes" ? true : false,
});
readerWindow.webContents.on("console-message", (_event, level, message) => {
const lvl =
{ 0: "info", 1: "info", 2: "warn", 3: "error" }[level] || "info";
log[lvl](`[Renderer] ${message}`);
});
readerWindow.webContents.on(
"console-message",
(_event, level, message) => {
const lvl =
{ 0: "info", 1: "info", 2: "warn", 3: "error" }[level] || "info";
log[lvl](`[Renderer] ${message}`);
}
);
readerWindow.loadURL(url);
// readerWindow.webContents.openDevTools();
}
@@ -2470,11 +2477,14 @@ const createMainWin = () => {
if (store.get("isAlwaysOnTop") === "yes") {
readerWindow.setAlwaysOnTop(true);
}
readerWindow.webContents.on("console-message", (_event, level, message) => {
const lvl =
{ 0: "info", 1: "info", 2: "warn", 3: "error" }[level] || "info";
log[lvl](`[Renderer] ${message}`);
});
readerWindow.webContents.on(
"console-message",
(_event, level, message) => {
const lvl =
{ 0: "info", 1: "info", 2: "warn", 3: "error" }[level] || "info";
log[lvl](`[Renderer] ${message}`);
}
);
readerWindow.loadURL(store.get("url"));
readerWindowReadyToClose = false;
readerWindow.on("close", (event) => {
+3 -4
View File
@@ -26,7 +26,9 @@ let year = new Date().getFullYear(),
day = new Date().getDate();
export const exportBooks = async (books: Book[]) => {
if (isElectron && books.length > 50) {
let totalSize = books.reduce((acc, book) => acc + book.size, 0);
console.log("Total size of books to export:", totalSize);
if (isElectron && totalSize > 500 * 1024 * 1024) {
const ipcRenderer = window.electronAPI;
const fs = window.electronAPI.fs;
const path = window.electronAPI.path;
@@ -74,9 +76,6 @@ export const exportBooks = async (books: Book[]) => {
toast.error(i18n.t("Failed to export") + `: ${books[i].name}`);
}
}
toast.success(i18n.t("Export successful"), {
id: "exporting",
});
return true;
}
let fetchPromises = BookUtil.fetchAllBooks(books);