This commit is contained in:
parent
132ba2b233
commit
2f57684122
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue