From e33bc5428cdbb29aa7ccd22812567b91802aee8c Mon Sep 17 00:00:00 2001 From: 3 Date: Fri, 30 May 2025 13:30:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E7=A1=80api=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=8F=AF=E8=BF=9B=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/.env.txt | 11 +++++++++++ src/backend/.gitignore | 6 +++++- src/backend/Dockerfile | 2 ++ src/backend/app/__init__.py | 6 ++++-- src/backend/app/api/__init__.py | 7 +++++-- src/backend/app/api/endpoints.py | 6 +++++- src/backend/config.py | 10 ++++++---- 7 files changed, 38 insertions(+), 10 deletions(-) create mode 100644 src/backend/.env.txt diff --git a/src/backend/.env.txt b/src/backend/.env.txt new file mode 100644 index 0000000..2ce142d --- /dev/null +++ b/src/backend/.env.txt @@ -0,0 +1,11 @@ +# 硅基流动API配置 +SILICONFLOW_API_KEY=sk-mhzuedasunrgdrxfkcxmxgaypgjnxgodvvmrzzdbqrwtkqej +SILICONFLOW_API_URL=https://api.siliconflow.ai/v1 + +# 交换机登录凭证 +SWITCH_USERNAME=admin +SWITCH_PASSWORD=your_switch_password +SWITCH_TIMEOUT=10 + +# 应用设置 +DEBUG=True \ No newline at end of file diff --git a/src/backend/.gitignore b/src/backend/.gitignore index e5effa1..f03fe47 100644 --- a/src/backend/.gitignore +++ b/src/backend/.gitignore @@ -34,4 +34,8 @@ env.bak/ venv.bak/ # Logs -*.log \ No newline at end of file +*.log + +# 忽略.env文件 +.env +*.secret \ No newline at end of file diff --git a/src/backend/Dockerfile b/src/backend/Dockerfile index 5fe4682..e8df141 100644 --- a/src/backend/Dockerfile +++ b/src/backend/Dockerfile @@ -11,5 +11,7 @@ COPY . /app ENV PYTHONPATH=/app ENV PORT=8000 ENV HOST=0.0.0.0 +.env +*.secret CMD ["uvicorn", "run:app", "--host", "0.0.0.0", "--port", "8000", "--reload"] \ No newline at end of file diff --git a/src/backend/app/__init__.py b/src/backend/app/__init__.py index ccadf06..a187fdf 100644 --- a/src/backend/app/__init__.py +++ b/src/backend/app/__init__.py @@ -1,8 +1,10 @@ from fastapi import FastAPI -from src.backend.app.api.endpoints import router as api_router +from src.backend.app.api.endpoints import router from src.backend.app.utils.logger import setup_logging from src.backend.config import settings +app = FastAPI() +app.include_router(router) def create_app() -> FastAPI: # 设置日志 @@ -18,6 +20,6 @@ def create_app() -> FastAPI: ) # 添加API路由 - app.include_router(api_router, prefix=settings.API_PREFIX) + app.include_router(router, prefix=settings.API_PREFIX) return app \ No newline at end of file diff --git a/src/backend/app/api/__init__.py b/src/backend/app/api/__init__.py index 9b2cbfd..3591b34 100644 --- a/src/backend/app/api/__init__.py +++ b/src/backend/app/api/__init__.py @@ -1,4 +1,7 @@ -from fastapi import APIRouter +from fastapi import APIRouter, FastAPI from .endpoints import router -__all__ = ["router"] \ No newline at end of file +app=FastAPI() +app.include_router(router) + +#__all__ = ["app","router"] \ No newline at end of file diff --git a/src/backend/app/api/endpoints.py b/src/backend/app/api/endpoints.py index 0234d42..b8fdbfe 100644 --- a/src/backend/app/api/endpoints.py +++ b/src/backend/app/api/endpoints.py @@ -6,7 +6,11 @@ from src.backend.app.services.ai_services import AIService from src.backend.app.api.network_config import SwitchConfigurator from src.backend.config import settings -router = APIRouter() +router = APIRouter(prefix="/api", tags=["API"]) + +@router.get("/test") +async def test_endpoint(): + return {"message": "Hello World"} class CommandRequest(BaseModel): command: str diff --git a/src/backend/config.py b/src/backend/config.py index 93590eb..fd68e88 100644 --- a/src/backend/config.py +++ b/src/backend/config.py @@ -1,14 +1,16 @@ +from pydantic_settings import BaseSettings +from dotenv import load_dotenv + +load_dotenv() + import os -from pydantic import BaseSettings - - class Settings(BaseSettings): APP_NAME: str = "AI Network Configurator" DEBUG: bool = True API_PREFIX: str = "/api" # 硅基流动API配置 - SILICONFLOW_API_KEY: str = os.getenv("SILICONFLOW_API_KEY", "") + SILICONFLOW_API_KEY: str = os.getenv("SILICON_API_KEY", "") SILICONFLOW_API_URL: str = os.getenv("SILICONFLOW_API_URL", "https://api.siliconflow.ai/v1") # 交换机配置