From f9a8b9c2706d4b17adb6c01062e97929ed168e09 Mon Sep 17 00:00:00 2001 From: CaptainB Date: Tue, 1 Jul 2025 18:00:47 +0800 Subject: [PATCH] refactor: update dynamic URL handling in tool serialization --- apps/tools/serializers/tool.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/tools/serializers/tool.py b/apps/tools/serializers/tool.py index 4fcdd6d05..0880e5c4e 100644 --- a/apps/tools/serializers/tool.py +++ b/apps/tools/serializers/tool.py @@ -17,7 +17,7 @@ from pylint.reporters import JSON2Reporter from rest_framework import serializers, status from common.constants.cache_version import Cache_Version -from common.constants.permission_constants import ResourceAuthType, ResourcePermissionGroup, ResourcePermission +from common.constants.permission_constants import ResourceAuthType, ResourcePermission from common.database_model_manage.database_model_manage import DatabaseModelManage from common.db.search import page_search, native_page_search from common.exception.app_exception import AppApiException @@ -474,8 +474,14 @@ class ToolSerializer(serializers.Serializer): Q(scope=ToolScope.INTERNAL) & Q(is_active=True) ) - - return ToolModelSerializer(query_set, many=True).data + # 处理动态url + prefix = CONFIG.get_admin_path() + return [ + { + **tool, + 'icon': tool['icon'].replace('/admin', prefix), + } for tool in ToolModelSerializer(query_set, many=True).data + ] class AddInternalTool(serializers.Serializer): user_id = serializers.UUIDField(required=True, label=_("User ID"))