From 31b0c1d3d703eb53d15311ead7fbcba96de600be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Fri, 29 Nov 2024 12:22:25 +0800 Subject: [PATCH] refactor: react webui --- src/framework/liteloader.cjs | 6 ++++++ src/framework/preload.cjs | 3 +++ src/framework/renderer.js | 14 ++++++++++++-- src/webui/index.ts | 2 ++ 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/framework/liteloader.cjs b/src/framework/liteloader.cjs index 96784924..4d7a04d9 100644 --- a/src/framework/liteloader.cjs +++ b/src/framework/liteloader.cjs @@ -7,4 +7,10 @@ ipcMain.handle('napcat_get_webtoken', async (event, arg) => { }); ipcMain.on('open_external_url', (event, url) => { shell.openExternal(url); +}); +ipcMain.handle('napcat_get_reactweb', async (event, arg) => { + let url = new URL(await napcat.NCgetWebUiUrl()); + let port = url.port; + let token = url.searchParams.get('token'); + return `https://napcat.152710.xyz/web_login?back=http://127.0.0.1:${port}&token=${token}`; }); \ No newline at end of file diff --git a/src/framework/preload.cjs b/src/framework/preload.cjs index c24da2dc..5cef7534 100644 --- a/src/framework/preload.cjs +++ b/src/framework/preload.cjs @@ -5,6 +5,9 @@ const napcat = { }, openExternalUrl: async (url) => { ipcRenderer.send('open_external_url', url); + }, + getWebUiUrlReact: async () => { + return ipcRenderer.invoke('napcat_get_reactweb'); } }; // 在window对象下导出只读对象 diff --git a/src/framework/renderer.js b/src/framework/renderer.js index 97dc1fa6..1f9d531d 100644 --- a/src/framework/renderer.js +++ b/src/framework/renderer.js @@ -1,12 +1,16 @@ export const onSettingWindowCreated = async (view) => { let webui = await window.napcat.getWebUiUrl(); + let webuiReact = await window.napcat.getWebUiUrlReact(); view.innerHTML = ` - 在QQ内打开配置页面 - 在默认浏览器打开配置页面 + 在QQ内打开配置页面(VUE) + 在默认浏览器打开配置页面(VUE) + + + 在默认浏览器打开配置页面(React)
@@ -18,12 +22,18 @@ export const onSettingWindowCreated = async (view) => { `; + view.querySelector('.nc_openwebui').addEventListener('click', () => { window.open(webui, '_blank'); }); view.querySelector('.nc_openwebui_ex').addEventListener('click', () => { window.napcat.openExternalUrl(webui); }); + + view.querySelector('.nc_openwebui_ex_react').addEventListener('click', () => { + window.napcat.openExternalUrl(webuiReact); + }); + view.querySelector('.nc_webui').innerText = webui; // 添加点击复制功能 diff --git a/src/webui/index.ts b/src/webui/index.ts index fedb2a6d..b3a40d2b 100644 --- a/src/webui/index.ts +++ b/src/webui/index.ts @@ -69,7 +69,9 @@ export async function InitWebUi(logger: LogWrapper, pathWrapper: NapCatPathWrapp logger.log(`[NapCat] [WebUi] Current WebUi is running at http://${config.host}:${config.port}${config.prefix}`); logger.log(`[NapCat] [WebUi] Login Token is ${config.token}`); logger.log(`[NapCat] [WebUi] WebUi User Panel Url: ${createUrl(config.host, port, path, searchParams)}`); + logger.log(`[NapCat] [WebUi] WebUi Local Panel Url: https://napcat.152710.xyz/web_login?back=http://${config.host}:${config.port}${config.prefix}&token=${config.token}`); logger.log(`[NapCat] [WebUi] WebUi Local Panel Url: ${createUrl('127.0.0.1', port, path, searchParams)}`); + logger.log(`[NapCat] [WebUi] WebUi User Panel Url: https://napcat.152710.xyz/web_login?back=http://127.0.0.1:${config.port}${config.prefix}&token=${config.token}`); // 获取公网地址 try {