Track bundled vendor runtime sources
This commit is contained in:
72
vendor/aigcpanel/electron/lib/env-main.ts
vendored
Normal file
72
vendor/aigcpanel/electron/lib/env-main.ts
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
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;
|
||||
};
|
||||
Reference in New Issue
Block a user