diff --git a/app/core/plugin.py b/app/core/plugin.py index 1140e1af..abcf5ec0 100644 --- a/app/core/plugin.py +++ b/app/core/plugin.py @@ -158,6 +158,11 @@ class PluginManager(metaclass=Singleton): if pid and plugin_id != pid: continue try: + # 如果插件具有认证级别且当前认证级别不足,则不进行实例化 + if hasattr(plugin, "auth_level"): + plugin.auth_level = plugin.auth_level + if self.siteshelper.auth_level < plugin.auth_level: + continue # 存储Class self._plugins[plugin_id] = plugin # 未安装的不加载 diff --git a/app/scheduler.py b/app/scheduler.py index b9301eec..a502a30c 100644 --- a/app/scheduler.py +++ b/app/scheduler.py @@ -94,6 +94,10 @@ class Scheduler(metaclass=Singleton): link=settings.MP_DOMAIN('#/site') ) ) + PluginManager().init_config() + for plugin_id in PluginManager().get_running_plugin_ids(): + self.update_plugin_job(plugin_id) + else: self._auth_count += 1 logger.error(f"用户认证失败:{msg},共失败 {self._auth_count} 次")