新增简易的8080面板😊

This commit is contained in:
Falck
2026-04-17 23:15:15 +08:00
parent c38d2f66d1
commit 9d19d09821
465 changed files with 9235 additions and 35285 deletions

View File

@@ -0,0 +1,76 @@
"""插件加载 Pro - 为 plugin-loader 提供高级机制"""
from oss.plugin.types import Plugin, register_plugin_type
from .core.config import ProConfig
from .core.enhancer import PluginLoaderEnhancer
from .utils.logger import ProLogger
class PluginLoaderPro(Plugin):
"""插件加载 Pro - 增强器"""
def __init__(self):
self.plugin_loader = None
self.enhancer = None
self.config = None
self._started = False
def meta(self):
from oss.plugin.types import Metadata, PluginConfig, Manifest
return Manifest(
metadata=Metadata(
name="plugin-loader-pro",
version="1.0.0",
author="FutureOSS",
description="为 plugin-loader 提供熔断、降级、容错、自动修复等高级机制"
),
config=PluginConfig(
enabled=True,
args={}
),
dependencies=["plugin-loader"]
)
def set_plugin_loader(self, plugin_loader):
self.plugin_loader = plugin_loader
ProLogger.info("main", "已注入 plugin-loader")
def init(self, deps: dict = None):
if not self.plugin_loader:
ProLogger.warn("main", "未找到 plugin-loader 依赖")
return
config = {}
if deps:
config = deps.get("config", {})
self.config = ProConfig(config)
self.enhancer = PluginLoaderEnhancer(
self.plugin_loader.manager,
self.config
)
ProLogger.info("main", "增强器已初始化")
def start(self):
if self._started:
return
self._started = True
if not self.enhancer:
ProLogger.warn("main", "增强器未初始化,跳过启动")
return
ProLogger.info("main", "开始增强 plugin-loader...")
self.enhancer.enhance()
def stop(self):
ProLogger.info("main", "停止增强器...")
if self.enhancer:
self.enhancer.disable()
register_plugin_type("PluginLoaderPro", PluginLoaderPro)
def New():
return PluginLoaderPro()