This commit is contained in:
jxxghp 2023-11-02 11:29:48 +08:00
parent 10fb61bd57
commit 5a0f7ae838
3 changed files with 5 additions and 4 deletions

View File

@ -25,9 +25,9 @@ def all_plugins(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
if not online_plugins:
return local_plugins
# 已安装插件IDS
installed_ids = SystemConfigOper().get(SystemConfigKey.UserInstalledPlugins) or []
installed_ids = [plugin["id"] for plugin in local_plugins]
# 已经安装的本地
plugins.extend([plugin for plugin in local_plugins if plugin["id"] in installed_ids])
plugins.extend([plugin for plugin in local_plugins if plugin.get("installed")])
# 未安装的线上插件或者有更新的插件
for plugin in online_plugins:
if plugin["id"] not in installed_ids:

View File

@ -192,7 +192,7 @@ class PluginManager(metaclass=Singleton):
"""
return list(self._plugins.keys())
def get_online_plugins(self) -> List[Dict[str, dict]]:
def get_online_plugins(self) -> List[dict]:
"""
获取所有在线插件信息
"""
@ -271,7 +271,7 @@ class PluginManager(metaclass=Singleton):
all_confs = list({v["id"]: v for v in all_confs}.values())
return all_confs
def get_local_plugins(self) -> List[Dict[str, dict]]:
def get_local_plugins(self) -> List[dict]:
"""
获取所有本地已下载的插件信息
"""

View File

@ -20,6 +20,7 @@ class ModuleHelper:
submodules: list = []
importlib.invalidate_caches()
packages = importlib.import_module(package_path)
importlib.reload(packages)
for importer, package_name, _ in pkgutil.iter_modules(packages.__path__):
try:
if package_name.startswith('_'):