add: base module

This commit is contained in:
2025-03-10 16:29:47 +08:00
parent 8b59a8e21a
commit 3a583a3619
40 changed files with 2698 additions and 218 deletions

View File

@@ -1,19 +1,10 @@
import { BrowserWindow } from 'electron';
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
import { getOrigin } from '@/main/process/index.ts';
import { createWinodw } from './create-window.ts';
export const createAppPackagesPage = (window?: BrowserWindow) => {
const mainWindow =
window ||
new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js'), // 如果有 preload 脚本
},
});
mainWindow.loadFile(path.join(__dirname, '../renderer/packages/index.html')); // Vite 构建后的文件
const mainWindow = createWinodw(window);
const url = new URL('/root/assistant-base-app/?link=packages', getOrigin());
mainWindow.loadURL(url.toString());
return mainWindow;
};

View File

@@ -0,0 +1,22 @@
import { BrowserWindow } from 'electron';
import { fileURLToPath } from 'url';
import path from 'path';
import { createSession } from '../../session/index.ts';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
export const createWinodw = (window: BrowserWindow, opts?: any) => {
if (window) return window;
const _session = createSession();
return new BrowserWindow({
width: 800,
height: 600,
...opts,
webPreferences: {
preload: path.join(__dirname, 'preload.js'), // 如果有 preload 脚本
session: _session,
webSecurity: false,
...opts?.webPreferences,
},
});
};

View File

@@ -1,19 +1,10 @@
import { BrowserWindow } from 'electron';
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
import { getOrigin } from '@/main/process/index.ts';
import { createWinodw } from './create-window.ts';
export const createEnterPage = (window?: BrowserWindow) => {
const mainWindow =
window ||
new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js'), // 如果有 preload 脚本
},
});
mainWindow.loadFile(path.join(__dirname, '../renderer/enter/index.html')); // Vite 构建后的文件
const mainWindow = createWinodw(window);
const url = new URL('/root/assistant-base-app/?link=enter', getOrigin());
mainWindow.loadURL(url.toString());
return mainWindow;
};

View File

@@ -1,18 +1,36 @@
import { getCacheAssistantConfig, LocalElectronAppUrl } from '@/modules/config';
import { createEnterPage } from './enter';
import { createAppPackagesPage } from './app-packages';
import { getCacheAssistantConfig } from '@/modules/config/index.ts';
import { createEnterPage } from './enter.ts';
import { createAppPackagesPage } from './app-packages.ts';
import { BrowserWindow } from 'electron';
import { getOrigin } from '@/main/process/index.ts';
import { createWinodw } from './create-window.ts';
export const checkShowPage = async (window?: BrowserWindow) => {
const assistantConfig = getCacheAssistantConfig();
const { pageApi, proxy } = assistantConfig;
const { pageApi, proxy, loadURL } = assistantConfig;
if (!pageApi) {
createEnterPage(window);
return;
return createEnterPage(window);
}
if (!proxy || proxy.length === 0) {
createAppPackagesPage(window);
return;
return createAppPackagesPage(window);
}
return window?.loadURL(LocalElectronAppUrl);
window = createWinodw(window);
let defaultURL = getOrigin() + '/web/note/';
if (loadURL) {
const url = new URL(loadURL, getOrigin());
const urls = url.pathname.split('/');
const [_, user, app] = urls;
let _loadURL = url.toString();
if (!user && !app) {
_loadURL = defaultURL;
}
if (app && urls.length === 3) {
_loadURL = url.toString() + '/';
}
console.log('url loadURL', _loadURL);
window?.loadURL(_loadURL);
return window;
}
window?.loadURL(defaultURL);
return window;
};