This commit is contained in:
SmallK111407 2023-09-08 01:03:50 +08:00
parent 132ba2b233
commit 2f57684122
1 changed files with 25 additions and 4 deletions

View File

@ -52,10 +52,28 @@ class PluginsLoader {
let pluCount = 0 let pluCount = 0
let packageErr = [] let packageErr = []
for (let File of files) { for (let File of files)
{
let { name: appName, path: appPath } = File
try { try {
let tmp = await import(File.path) let tmp = await import(File.path)
if (tmp.apps) tmp = { ...tmp.apps } // 如果当前是一个插件
if (tmp.apps) {
// 插件主目录在这里this.watch里已经做了判断所以不用捕获异常
appName = `${appName}/apps`
// 插件路径
appPath = appPath.replace(/\/index\.js$/, "");
// 逐个遍历插件app里的js
for (let app in tmp.apps) {
// 插件目录的功能
const curPlugin = tmp.apps[app]
// 当前目录的功能名 (apps/hello.js)
const curAppName = curPlugin.name
// 监听插件
this.watch(appName, `${curAppName}.js`)
}
tmp = { ...tmp.apps }
}
let isAdd = false let isAdd = false
lodash.forEach(tmp, (p, i) => { lodash.forEach(tmp, (p, i) => {
if (!p.prototype) return if (!p.prototype) return
@ -69,7 +87,7 @@ class PluginsLoader {
this.collectTask(plugin.task) this.collectTask(plugin.task)
this.priority.push({ this.priority.push({
class: p, class: p,
key: File.name, key: `${appName}/${p.name}.js`,
name: plugin.name, name: plugin.name,
priority: plugin.priority priority: plugin.priority
}) })
@ -714,7 +732,7 @@ class PluginsLoader {
} }
/** 黑名单群 */ /** 黑名单群 */
if (Array.isArray(other.blackGroup) && other.blackGroup.length > 0) { if (Array.isArray(other.blackGroup) && other.blackGroup.length > 0) {
return !other.blackGroup.includes(Number(e.group_id) || e.group_id) return other.whiteGroup.includes(Number(e.group_id) || e.group_id)
} }
} }
@ -773,6 +791,9 @@ class PluginsLoader {
if (this.priority[i].key == key) { if (this.priority[i].key == key) {
this.priority[i].class = p this.priority[i].class = p
this.priority[i].priority = plugin.priority this.priority[i].priority = plugin.priority
// 插件更新 (ps.如果不写无法更新插件只能更新example)
this.watcher[`${dirName}.${appName}`] = watcher
break;
} }
} }
}) })