Initial clean project import

This commit is contained in:
cat-shark
2026-06-19 18:41:41 +08:00
commit a13b804c7a
1306 changed files with 220568 additions and 0 deletions
+208
View File
@@ -0,0 +1,208 @@
import { ipcRenderer } from "electron";
import { resolve } from "node:path";
import { isPackaged, platformArch, platformName } from "../../lib/env";
import { AppEnv, waitAppEnvReady } from "../env";
import appIndex from "./index";
const isDarkMode = async () => {
return ipcRenderer.invoke("app:isDarkMode");
};
const quit = () => {
return ipcRenderer.invoke("app:quit");
};
const restart = () => {
return ipcRenderer.invoke("app:restart");
};
const isPlatform = (name: "win" | "osx" | "linux") => {
return platformName() === name;
};
const windowMin = (name?: string) => {
return ipcRenderer.invoke("window:min", name);
};
const windowMax = (name?: string) => {
return ipcRenderer.invoke("window:max", name);
};
const windowSetSize = (
name: string | null,
width: number,
height: number,
option?: {
includeMinimumSize: boolean;
center: boolean;
}
) => {
return ipcRenderer.invoke("window:setSize", name, width, height, option);
};
const windowOpen = (name: string, option: any) => {
return ipcRenderer.invoke("window:open", name, option);
};
const windowHide = (name: string) => {
return ipcRenderer.invoke("window:hide", name);
};
const windowClose = (name: string) => {
return ipcRenderer.invoke("window:close", name);
};
const windowMove = (name: string | null, data: { mouseX: number; mouseY: number; width: number; height: number }) => {
return ipcRenderer.invoke("window:move", name, data);
};
const openExternal = (url: string) => {
return ipcRenderer.invoke("app:openExternal", url);
};
const openPath = (url: string) => {
return ipcRenderer.invoke("app:openPath", url);
};
const showItemInFolder = (url: string) => {
return ipcRenderer.invoke("app:showItemInFolder", url);
};
const getPreload = async () => {
return ipcRenderer.invoke("app:getPreload");
};
const getResourcesPath = async () => {
return ipcRenderer.invoke("app:getResourcesPath");
};
const resourcePathResolve = async (filePath: string) => {
await waitAppEnvReady();
const basePath = isPackaged ? process.resourcesPath : AppEnv.appRoot;
return resolve(basePath, filePath);
};
const extraPathResolve = async (filePath: string) => {
await waitAppEnvReady();
const basePath = isPackaged ? process.resourcesPath : "electron/resources";
return resolve(basePath, "extra", filePath);
};
const appEnv = async () => {
await waitAppEnvReady();
return AppEnv;
};
const setRenderAppEnv = (env: any) => {
AppEnv.isInit = true;
AppEnv.appRoot = env.appRoot;
AppEnv.appData = env.appData;
AppEnv.userData = env.userData;
AppEnv.dataRoot = env.dataRoot;
};
const getClipboardText = () => {
return ipcRenderer.invoke("app:getClipboardText");
};
const setClipboardText = (text: string) => {
return ipcRenderer.invoke("app:setClipboardText", text);
};
const getClipboardImage = () => {
return ipcRenderer.invoke("app:getClipboardImage");
};
const setClipboardImage = (image: string) => {
return ipcRenderer.invoke("app:setClipboardImage", image);
};
const toast = (msg: string, option?: any) => {
return ipcRenderer.invoke("app:toast", msg, option);
};
const setupList = () => {
return ipcRenderer.invoke("app:setupList");
};
const setupOpen = (name: string) => {
return ipcRenderer.invoke("app:setupOpen", name);
};
const setupIsOk = async () => {
return ipcRenderer.invoke("app:setupIsOk");
};
const getBuildInfo = async () => {
return ipcRenderer.invoke("app:getBuildInfo");
};
const collect = async (options?: {}) => {
return ipcRenderer.invoke("app:collect", options);
};
const setAutoLaunch = async (enable: boolean, options?: {}) => {
return ipcRenderer.invoke("app:setAutoLaunch", enable, options);
};
const getAutoLaunch = async (options?: {}) => {
return ipcRenderer.invoke("app:getAutoLaunch", options);
};
export const AppsRender = {
isDarkMode,
resourcePathResolve,
extraPathResolve,
platformName,
platformArch,
isPlatform,
quit,
restart,
windowMin,
windowMax,
windowSetSize,
windowOpen,
windowHide,
windowClose,
windowMove,
openExternal,
openPath,
showItemInFolder,
getPreload,
getResourcesPath,
appEnv,
setRenderAppEnv,
getClipboardText,
setClipboardText,
getClipboardImage,
setClipboardImage,
toast,
setupList,
setupOpen,
setupIsOk,
getBuildInfo,
collect,
setAutoLaunch,
getAutoLaunch,
shell: appIndex.shell,
spawnShell: appIndex.spawnShell,
spawnBinary: appIndex.spawnBinary,
availablePort: appIndex.availablePort,
fixExecutable: appIndex.fixExecutable,
getUserAgent: appIndex.getUserAgent,
};
export default AppsRender;