feat: 正式中断插件注入启动模式
This commit is contained in:
Vendored
+1
-1
@@ -6,7 +6,7 @@
|
|||||||
"vite.config.ts": "vite*.ts",
|
"vite.config.ts": "vite*.ts",
|
||||||
"README.md": "CODE_OF_CONDUCT.md, RELEASES.md, CONTRIBUTING.md, CHANGELOG.md, SECURITY.md",
|
"README.md": "CODE_OF_CONDUCT.md, RELEASES.md, CONTRIBUTING.md, CHANGELOG.md, SECURITY.md",
|
||||||
"tsconfig.json": "tsconfig.*.json, env.d.ts",
|
"tsconfig.json": "tsconfig.*.json, env.d.ts",
|
||||||
"package.json": "package-lock.json, eslint*, .prettier*, .editorconfig, manifest.json, logo.png, .gitignore, LICENSE"
|
"package.json": "package-lock.json, eslint*, .prettier*, .editorconfig, logo.png, .gitignore, LICENSE"
|
||||||
},
|
},
|
||||||
"css.customData": [
|
"css.customData": [
|
||||||
".vscode/tailwindcss.json"
|
".vscode/tailwindcss.json"
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
// LiteLoader需要提供部分IPC接口,以便于其他插件调用
|
|
||||||
const { ipcMain, BrowserWindow } = require('electron');
|
|
||||||
const napcat = require('./napcat.cjs');
|
|
||||||
const { shell } = require('electron');
|
|
||||||
ipcMain.handle('napcat_get_webui', async () => {
|
|
||||||
return napcat.NCgetWebUiUrl();
|
|
||||||
});
|
|
||||||
ipcMain.on('open_external_url', (event, url) => {
|
|
||||||
shell.openExternal(url);
|
|
||||||
});
|
|
||||||
ipcMain.on('napcat_open_inner_url', (event, url) => {
|
|
||||||
const win = new BrowserWindow({
|
|
||||||
autoHideMenuBar: true,
|
|
||||||
});
|
|
||||||
win.loadURL(url);
|
|
||||||
win.webContents.setWindowOpenHandler(details => {
|
|
||||||
win.loadURL(details.url);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
{
|
|
||||||
"manifest_version": 4,
|
|
||||||
"type": "extension",
|
|
||||||
"name": "NapCatQQ",
|
|
||||||
"slug": "NapCat.Framework",
|
|
||||||
"description": "高性能的 OneBot 11 协议实现",
|
|
||||||
"version": "0.0.1",
|
|
||||||
"icon": "./logo.png",
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "NapNeko",
|
|
||||||
"link": "https://github.com/NapNeko"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"repository": {
|
|
||||||
"repo": "NapNeko/NapCatQQ",
|
|
||||||
"branch": "main"
|
|
||||||
},
|
|
||||||
"platform": [
|
|
||||||
"win32",
|
|
||||||
"linux",
|
|
||||||
"darwin"
|
|
||||||
],
|
|
||||||
"injects": {
|
|
||||||
"renderer": "./renderer.js",
|
|
||||||
"main": "./liteloader.cjs",
|
|
||||||
"preload": "./preload.cjs"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
const { contextBridge, ipcRenderer } = require('electron');
|
|
||||||
const napcat = {
|
|
||||||
getWebUiUrl: async () => {
|
|
||||||
return ipcRenderer.invoke('napcat_get_webui');
|
|
||||||
},
|
|
||||||
openExternalUrl: async (url) => {
|
|
||||||
ipcRenderer.send('open_external_url', url);
|
|
||||||
},
|
|
||||||
openInnerUrl: async (url) => {
|
|
||||||
ipcRenderer.send('napcat_open_inner_url', url);
|
|
||||||
},
|
|
||||||
};
|
|
||||||
// 在window对象下导出只读对象
|
|
||||||
contextBridge.exposeInMainWorld('napcat', napcat);
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
export const onSettingWindowCreated = async (view) => {
|
|
||||||
const webui = await window.napcat.getWebUiUrl();
|
|
||||||
view.innerHTML = `
|
|
||||||
<setting-section data-title="">
|
|
||||||
<setting-panel>
|
|
||||||
<setting-list data-direction="column">
|
|
||||||
<setting-item>
|
|
||||||
<setting-button data-type="primary" class="nc_openwebui">在QQ内打开配置页面</setting-button>
|
|
||||||
<setting-button data-type="primary" class="nc_openwebui_ex">在默认浏览器打开配置页面</setting-button>
|
|
||||||
</setting-item>
|
|
||||||
<setting-item>
|
|
||||||
<div>
|
|
||||||
<setting-text>WebUi远程地址可以点击下方复制哦~</setting-text>
|
|
||||||
<setting-text class="nc_webui">WebUi</setting-text>
|
|
||||||
</div>
|
|
||||||
</setting-item>
|
|
||||||
</setting-list>
|
|
||||||
</setting-panel>
|
|
||||||
</setting-section>
|
|
||||||
`;
|
|
||||||
|
|
||||||
view.querySelector('.nc_openwebui').addEventListener('click', () => {
|
|
||||||
window.napcat.openInnerUrl(webui);
|
|
||||||
});
|
|
||||||
view.querySelector('.nc_openwebui_ex').addEventListener('click', () => {
|
|
||||||
window.napcat.openExternalUrl(webui);
|
|
||||||
});
|
|
||||||
|
|
||||||
view.querySelector('.nc_webui').innerText = webui;
|
|
||||||
|
|
||||||
// 添加点击复制功能
|
|
||||||
view.querySelector('.nc_webui').addEventListener('click', async () => {
|
|
||||||
try {
|
|
||||||
await navigator.clipboard.writeText(webui);
|
|
||||||
// eslint-disable-next-line no-undef
|
|
||||||
alert('WebUi URL 已复制到剪贴板');
|
|
||||||
} catch (err) {
|
|
||||||
console.error('复制到剪贴板失败: ', err);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
@@ -27,7 +27,6 @@ const FrameworkBaseConfigPlugin: PluginOption[] = [
|
|||||||
{ src: './manifest.json', dest: 'dist' },
|
{ src: './manifest.json', dest: 'dist' },
|
||||||
{ src: '../napcat-core/external/napcat.json', dest: 'dist/config/' },
|
{ src: '../napcat-core/external/napcat.json', dest: 'dist/config/' },
|
||||||
{ src: '../napcat-webui-frontend/dist/', dest: 'dist/static/', flatten: false },
|
{ src: '../napcat-webui-frontend/dist/', dest: 'dist/static/', flatten: false },
|
||||||
{ src: './liteloader.cjs', dest: 'dist' },
|
|
||||||
{ src: './napcat.cjs', dest: 'dist' },
|
{ src: './napcat.cjs', dest: 'dist' },
|
||||||
{ src: './nativeLoader.cjs', dest: 'dist' },
|
{ src: './nativeLoader.cjs', dest: 'dist' },
|
||||||
{ src: './preload.cjs', dest: 'dist' },
|
{ src: './preload.cjs', dest: 'dist' },
|
||||||
|
|||||||
@@ -1,7 +1,2 @@
|
|||||||
import { NCoreInitShell } from 'napcat-shell/base';
|
|
||||||
export * from 'napcat-framework/napcat';
|
export * from 'napcat-framework/napcat';
|
||||||
export * from 'napcat-shell/base';
|
export * from 'napcat-shell/base';
|
||||||
|
|
||||||
if ((global as unknown as { LiteLoader: unknown }).LiteLoader === undefined) {
|
|
||||||
NCoreInitShell();
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user