From af879e460753a8fd65bd043283f942a4d351c400 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cls=5F=E5=AE=81=E6=B3=A2=E6=9C=AC=E6=9C=BA?= <908705107@qq.com> Date: Sat, 13 Jun 2026 09:50:51 +0800 Subject: [PATCH] fix: restore dashboard-rendered control center --- backend-fastapi/core/page_manager/__init__.py | 1 + backend-fastapi/core/page_manager/api.py | 42 + backend-fastapi/core/router.py | 4 + web/apps/web-ele/src/api/core/page-manager.ts | 2 +- .../views/_core/page-render/AiAgentHome.vue | 1219 ----------------- .../src/views/_core/page-render/index.vue | 24 +- 6 files changed, 52 insertions(+), 1240 deletions(-) create mode 100644 backend-fastapi/core/page_manager/__init__.py create mode 100644 backend-fastapi/core/page_manager/api.py delete mode 100644 web/apps/web-ele/src/views/_core/page-render/AiAgentHome.vue diff --git a/backend-fastapi/core/page_manager/__init__.py b/backend-fastapi/core/page_manager/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/backend-fastapi/core/page_manager/__init__.py @@ -0,0 +1 @@ + diff --git a/backend-fastapi/core/page_manager/api.py b/backend-fastapi/core/page_manager/api.py new file mode 100644 index 0000000..34af0c5 --- /dev/null +++ b/backend-fastapi/core/page_manager/api.py @@ -0,0 +1,42 @@ +from fastapi import APIRouter, Depends, HTTPException +from sqlalchemy import select +from sqlalchemy.ext.asyncio import AsyncSession + +from app.database import get_db +from online_dev.page_manager.model import PageMeta + +router = APIRouter(prefix="/page", tags=["page-render"]) + + +def _format_datetime(dt) -> str: + return dt.strftime("%Y-%m-%d %H:%M:%S") if dt else "" + + +def _build_page_out(page: PageMeta) -> dict: + return { + "id": str(page.id), + "application_id": page.application_id, + "name": page.name, + "code": page.code, + "category": page.category or "", + "description": page.description or "", + "status": page.status, + "version": page.version, + "page_config": page.page_config or {}, + "sort": page.sort or 0, + "sys_create_datetime": _format_datetime(page.sys_create_datetime), + "sys_update_datetime": _format_datetime(page.sys_update_datetime), + } + + +@router.get("/code/{code}", summary="Get page config by code") +async def get_page_by_code(code: str, db: AsyncSession = Depends(get_db)): + stmt = select(PageMeta).where( + PageMeta.code == code, + PageMeta.is_deleted == False, # noqa: E712 + ) + result = await db.execute(stmt) + page = result.scalar_one_or_none() + if not page: + raise HTTPException(status_code=404, detail="Page config not found") + return _build_page_out(page) diff --git a/backend-fastapi/core/router.py b/backend-fastapi/core/router.py index 3ef637a..206b71d 100644 --- a/backend-fastapi/core/router.py +++ b/backend-fastapi/core/router.py @@ -14,11 +14,13 @@ from core.menu.api import router as menu_router from core.message.api import announcement_router from core.message.api import router as message_router from core.oauth.api import router as oauth_router +from core.page_manager.api import router as page_manager_router from core.permission.api import router as permission_router from core.post.api import router as post_router from core.resource_scope.field_permission.api import router as field_permission_router from core.resource_scope.scope_permission.api import router as resource_scope_router from core.role.api import router as role_router +from core.server_monitor.api import router as server_monitor_router from core.ui_config.api import router as ui_config_router from core.user.api import router as user_router @@ -41,5 +43,7 @@ router.include_router(file_manager_router) router.include_router(message_router) router.include_router(announcement_router) router.include_router(oauth_router) +router.include_router(page_manager_router) +router.include_router(server_monitor_router) router.include_router(ui_config_router) router.include_router(api_token_router) diff --git a/web/apps/web-ele/src/api/core/page-manager.ts b/web/apps/web-ele/src/api/core/page-manager.ts index eb581c0..d79162c 100644 --- a/web/apps/web-ele/src/api/core/page-manager.ts +++ b/web/apps/web-ele/src/api/core/page-manager.ts @@ -16,5 +16,5 @@ export interface PageMeta { } export async function getPageByCodeApi(code: string) { - return requestClient.get(`/api/online_dev/page/code/${code}`); + return requestClient.get(`/api/core/page/code/${code}`); } diff --git a/web/apps/web-ele/src/views/_core/page-render/AiAgentHome.vue b/web/apps/web-ele/src/views/_core/page-render/AiAgentHome.vue deleted file mode 100644 index 1d334e3..0000000 --- a/web/apps/web-ele/src/views/_core/page-render/AiAgentHome.vue +++ /dev/null @@ -1,1219 +0,0 @@ - - - - - diff --git a/web/apps/web-ele/src/views/_core/page-render/index.vue b/web/apps/web-ele/src/views/_core/page-render/index.vue index 8340e64..635710f 100644 --- a/web/apps/web-ele/src/views/_core/page-render/index.vue +++ b/web/apps/web-ele/src/views/_core/page-render/index.vue @@ -1,11 +1,11 @@