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: if not online_plugins:
return local_plugins return local_plugins
# 已安装插件IDS # 已安装插件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: for plugin in online_plugins:
if plugin["id"] not in installed_ids: if plugin["id"] not in installed_ids:

View File

@ -192,7 +192,7 @@ class PluginManager(metaclass=Singleton):
""" """
return list(self._plugins.keys()) 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()) all_confs = list({v["id"]: v for v in all_confs}.values())
return all_confs 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 = [] submodules: list = []
importlib.invalidate_caches() importlib.invalidate_caches()
packages = importlib.import_module(package_path) packages = importlib.import_module(package_path)
importlib.reload(packages)
for importer, package_name, _ in pkgutil.iter_modules(packages.__path__): for importer, package_name, _ in pkgutil.iter_modules(packages.__path__):
try: try:
if package_name.startswith('_'): if package_name.startswith('_'):