Refactor: split memory API into gateway and service layers (#13111)

### What problem does this PR solve?

Decouple the memory API into a gateway layer (for routing/param parse)
and a service layer (for business logic).

### Type of change

- [x] Refactoring
This commit is contained in:
Lynn
2026-02-12 10:11:50 +08:00
committed by GitHub
parent 4b50b8c579
commit 30d5fc1a07
6 changed files with 413 additions and 292 deletions

View File

@ -244,6 +244,10 @@ def search_pages_path(page_path):
path for path in page_path.glob("*sdk/*.py") if not path.name.startswith(".")
]
app_path_list.extend(api_path_list)
restful_api_path_list = [
path for path in page_path.glob("*restful_apis/*.py") if not path.name.startswith(".")
]
app_path_list.extend(restful_api_path_list)
return app_path_list
@ -263,8 +267,9 @@ def register_page(page_path):
spec.loader.exec_module(page)
page_name = getattr(page, "page_name", page_name)
sdk_path = "\\sdk\\" if sys.platform.startswith("win") else "/sdk/"
restful_api_path = "\\restful_apis\\" if sys.platform.startswith("win") else "/restful_apis/"
url_prefix = (
f"/api/{API_VERSION}" if sdk_path in path else f"/{API_VERSION}/{page_name}"
f"/api/{API_VERSION}" if sdk_path in path or restful_api_path in path else f"/{API_VERSION}/{page_name}"
)
app.register_blueprint(page.manager, url_prefix=url_prefix)
@ -274,6 +279,7 @@ def register_page(page_path):
pages_dir = [
Path(__file__).parent,
Path(__file__).parent.parent / "api" / "apps",
Path(__file__).parent.parent / "api" / "apps" / "restful_apis",
Path(__file__).parent.parent / "api" / "apps" / "sdk",
]