mirror of
https://github.com/Jerryplusy/rc-plugin.git
synced 2025-10-14 08:09:19 +00:00
48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
import fs from "node:fs";
|
||
import path from "path";
|
||
import config from "./model/config.js";
|
||
import { startNextJs } from "./start-nextjs.js";
|
||
if (!global.segment) {
|
||
global.segment = (await import("oicq")).segment
|
||
}
|
||
|
||
// 加载版本号
|
||
const versionData = config.getConfig("version");
|
||
// 加载是否使用WebUI
|
||
const isOpenWebUI = config.getConfig("tools").isOpenWebUI;
|
||
// 加载名称
|
||
const packageJsonPath = path.join('./plugins', 'rconsole-plugin', 'package.json');
|
||
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
||
const pluginName = packageJson.name;
|
||
// 初始化输出
|
||
logger.info(logger.yellow(`R插件${versionData[0].version}初始化,欢迎加入【R插件和它的朋友们】秋秋群:575663150`));
|
||
|
||
const files = fs.readdirSync(`./plugins/${pluginName}/apps`).filter(file => file.endsWith(".js"));
|
||
|
||
let ret = [];
|
||
|
||
files.forEach(file => {
|
||
ret.push(import(`./apps/${file}`));
|
||
});
|
||
|
||
ret = await Promise.allSettled(ret);
|
||
|
||
let apps = {};
|
||
for (let i in files) {
|
||
let name = files[i].replace(".js", "");
|
||
|
||
if (ret[i].status !== "fulfilled") {
|
||
logger.error(`载入插件错误:${logger.red(name)}`);
|
||
logger.error(ret[i].reason);
|
||
continue;
|
||
}
|
||
apps[name] = ret[i].value[Object.keys(ret[i].value)[0]];
|
||
}
|
||
|
||
// 检查是否启动 webui
|
||
if (isOpenWebUI) {
|
||
startNextJs();
|
||
}
|
||
|
||
export { apps };
|