Files
Jammy 52636c91ae
Some checks failed
CI / main (push) Has been cancelled
CI / release-e2e (push) Has been cancelled
Track bundled vendor runtime sources
2026-07-07 10:05:50 +08:00

73 lines
2.3 KiB
TypeScript

import url, { fileURLToPath } from "node:url";
import { BrowserView, BrowserWindow } from "electron";
import { isPackaged } from "./env";
import path, { join } from "node:path";
import { Log } from "../mapi/log/main";
const __dirname = path.dirname(fileURLToPath(import.meta.url));
process.env.APP_ROOT = path.join(__dirname, "../..");
export const MAIN_DIST = path.join(process.env.APP_ROOT, "dist-electron");
export const RENDERER_DIST = path.join(process.env.APP_ROOT, "dist");
export const VITE_DEV_SERVER_URL = process.env.VITE_DEV_SERVER_URL;
process.env.VITE_PUBLIC = VITE_DEV_SERVER_URL
? path.join(process.env.APP_ROOT, "public")
: RENDERER_DIST;
export const preloadDefault = path.join(MAIN_DIST, "preload/index.cjs");
export const rendererLoadPath = (
window: BrowserWindow | BrowserView,
fileName: string,
) => {
if (!isPackaged && process.env.VITE_DEV_SERVER_URL) {
const x = new url.URL(rendererDistPath(fileName));
if (window instanceof BrowserView) {
window.webContents.loadURL(x.toString());
} else {
window.loadURL(x.toString());
}
} else {
if (window instanceof BrowserView) {
window.webContents.loadFile(rendererDistPath(fileName));
} else {
window.loadFile(rendererDistPath(fileName));
}
}
};
export const rendererDistPath = (fileName: string) => {
if (!isPackaged && process.env.VITE_DEV_SERVER_URL) {
return `${process.env.VITE_DEV_SERVER_URL.replace(/\/+$/, "")}/${fileName}`;
}
return join(RENDERER_DIST, fileName);
};
export const rendererIsUrl = (url: string) => {
return url.startsWith("http://") || url.startsWith("https://");
};
export const getGpuInfo = async () => {
const list = [] as {
id: string;
name: string;
size: number;
}[];
try {
// @ts-ignore
const si = await import("systeminformation");
const graphics = await si.graphics();
graphics.controllers.forEach((controller, index) => {
const size = Math.ceil(controller.vram / 1024);
let id = index + "";
const name = controller.model;
list.push({ id, name, size });
});
} catch (e) {
Log.error("getGpuInfo", e);
}
return list;
};