支持插件开发者模式

This commit is contained in:
muwoo
2021-12-09 11:46:06 +08:00
parent fc7e3e91bd
commit b3a00c88ad
19 changed files with 264 additions and 88 deletions

View File

@@ -22,11 +22,13 @@ const API: any = {
currentPlugin: null,
DBKEY: "RUBICK_DB_DEFAULT",
openPlugin({ plugin }, window) {
if (API.currentPlugin && API.currentPlugin.name === plugin.name) return;
runnerInstance.removeView(window);
runnerInstance.init(plugin, window);
API.currentPlugin = plugin;
},
removePlugin(e, window) {
API.currentPlugin = null;
runnerInstance.removeView(window);
},
hideMainWindow(arg, window) {

View File

@@ -1,19 +1,15 @@
/* eslint-disable */
import path from "path";
import {app} from "electron";
import fs from "fs";
const appPath = app.getPath("cache");
import { PLUGIN_INSTALL_DIR } from "@/common/constans/main";
export default () => {
// 读取所有插件
const totalPlugins = global.LOCAL_PLUGINS.getLocalPlugins();
let systemPlugins = totalPlugins.filter((plugin) => plugin.pluginType === "system");
const baseDir = path.join(appPath, "./rubick-plugins");
systemPlugins = systemPlugins.map((plugin) => {
const pluginPath = path.resolve(
baseDir,
PLUGIN_INSTALL_DIR,
"node_modules",
plugin.name
);