From bd668e7e2a2b4cf63a59553aca74727631ec6255 Mon Sep 17 00:00:00 2001 From: CaptainB Date: Fri, 12 Sep 2025 11:17:50 +0800 Subject: [PATCH] feat: handle empty store tools in ToolStoreDialog --- apps/tools/serializers/tool.py | 2 +- ui/src/views/tool/toolStore/ToolStoreDialog.vue | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/tools/serializers/tool.py b/apps/tools/serializers/tool.py index e012c5252..f1c9eb8a1 100644 --- a/apps/tools/serializers/tool.py +++ b/apps/tools/serializers/tool.py @@ -766,7 +766,7 @@ class ToolSerializer(serializers.Serializer): os.unlink(temp_zip_path) except requests.RequestException as e: maxkb_logger.error(f"fetch appstore tools error: {e}") - return [] + return {'apps': [], 'additionalProperties': {'tags': []}} class AddStoreTool(serializers.Serializer): user_id = serializers.UUIDField(required=True, label=_("User ID")) diff --git a/ui/src/views/tool/toolStore/ToolStoreDialog.vue b/ui/src/views/tool/toolStore/ToolStoreDialog.vue index ed6419363..12dae53ad 100644 --- a/ui/src/views/tool/toolStore/ToolStoreDialog.vue +++ b/ui/src/views/tool/toolStore/ToolStoreDialog.vue @@ -175,6 +175,11 @@ async function getStoreToolList() { const tags = res.data.additionalProperties.tags const storeTools = res.data.apps + if (storeTools.length === 0) { + filterList.value = [] + return + } + categories.value = tags.map((tag: any) => ({ id: tag.key, title: tag.name, // 国际化