"""前端物料目录接口""" from fastapi import APIRouter from app.common.response import ApiResponse, success_response from app.core.exceptions import BizException from app.resources.component import get_catalog_cache from app.schemas.component_resource import ComponentCatalog router = APIRouter(prefix="/materials", tags=["Material"]) @router.get("") async def list_materials() -> ApiResponse[ComponentCatalog]: # 直接返回启动时载入的内存缓存,不查库 catalog = get_catalog_cache() if catalog is None: raise BizException(503, "物料目录尚未加载") return success_response(catalog)