diff --git a/app/core/plugin.py b/app/core/plugin.py index e36aa0b1..0ea1bef8 100644 --- a/app/core/plugin.py +++ b/app/core/plugin.py @@ -682,7 +682,7 @@ class PluginManager(metaclass=Singleton): # 相同 ID 的插件保留版本号最大的版本 max_versions = {} for p in all_plugins: - if p.id not in max_versions or StringUtils.compare_version(p.plugin_version, max_versions[p.id], ">"): + if p.id not in max_versions or StringUtils.compare_version(p.plugin_version, ">", max_versions[p.id]): max_versions[p.id] = p.plugin_version result = [p for p in all_plugins if p.plugin_version == max_versions[p.id]] logger.info(f"共获取到 {len(result)} 个线上插件") @@ -823,7 +823,7 @@ class PluginManager(metaclass=Singleton): plugin.has_update = False if plugin_static: installed_version = getattr(plugin_static, "plugin_version") - if StringUtils.compare_version(installed_version, plugin_info.get("version"), "<"): + if StringUtils.compare_version(installed_version, "<", plugin_info.get("version")): # 需要更新 plugin.has_update = True # 运行状态 diff --git a/app/helper/resource.py b/app/helper/resource.py index f3a1fdd3..8fa47e6d 100644 --- a/app/helper/resource.py +++ b/app/helper/resource.py @@ -70,7 +70,7 @@ class ResourceHelper(metaclass=Singleton): local_version = self.siteshelper.indexer_version else: continue - if StringUtils.compare_version(version, local_version, ">"): + if StringUtils.compare_version(version, ">", local_version): logger.info(f"{rname} 资源包有更新,最新版本:v{version}") else: continue diff --git a/app/utils/string.py b/app/utils/string.py index d9c68d96..480c5948 100644 --- a/app/utils/string.py +++ b/app/utils/string.py @@ -770,7 +770,7 @@ class StringUtils: return result @staticmethod - def compare_version(v1: str, v2: str, compare_type, verbose: bool = False) \ + def compare_version(v1: str, compare_type: str, v2: str, verbose: bool = False) \ -> Tuple[Optional[bool], str | Exception] | Optional[bool]: """ 比较两个版本号的大小