From ff98203cc06ef9c0272a130dfbf82a15f8ee9009 Mon Sep 17 00:00:00 2001 From: KirisameVanilla Date: Tue, 19 Aug 2025 16:04:18 +0800 Subject: [PATCH] small fix --- app/api/search.py | 14 +++++--------- app/models/__init__.py | 2 +- main.py | 21 +++++++++++++++++++-- 3 files changed, 25 insertions(+), 12 deletions(-) diff --git a/app/api/search.py b/app/api/search.py index 22c040c..61856af 100644 --- a/app/api/search.py +++ b/app/api/search.py @@ -7,16 +7,12 @@ dict_search = APIRouter() @dict_search.get("/search") -async def search(request: Request, lang_pref: str, query_word: str, user: Depends(get_current_user)): +async def search( + request: Request, lang_pref: str, query_word: str, user=Depends(get_current_user) +): word_content = await DefinitionFr.filter( - word__icontains=query_word, - lang_pref=lang_pref - ).values( - "word", - "part_of_speech", - "meaning", - "example" - ) + word__icontains=query_word, lang_pref=lang_pref + ).values("word", "part_of_speech", "meaning", "example") if not word_content: raise HTTPException(status_code=404, detail="Word not found") return word_content diff --git a/app/models/__init__.py b/app/models/__init__.py index f05d3fb..3d2eb4e 100644 --- a/app/models/__init__.py +++ b/app/models/__init__.py @@ -1,4 +1,4 @@ from . import signals from .fr import WordlistFr, DefinitionFr, AttachmentFr from .jp import WordlistJp, DefinitionJp, AttachmentJp -from base import User \ No newline at end of file +from .base import User diff --git a/main.py b/main.py index 4eccc35..f85d4c6 100644 --- a/main.py +++ b/main.py @@ -1,12 +1,14 @@ from contextlib import asynccontextmanager from fastapi import FastAPI +from fastapi.middleware.cors import CORSMiddleware import uvicorn from tortoise.contrib.fastapi import register_tortoise from settings import TORTOISE_ORM from app.api.users import users_router from app.api.admin.router import admin_router +from app.api.search import dict_search from app.core.redis import init_redis_pool import app.models.signals @@ -20,6 +22,20 @@ async def lifespan(app: FastAPI): app = FastAPI(lifespan=lifespan) +# 添加CORS中间件 +app.add_middleware( + CORSMiddleware, + allow_origins=[ + "http://localhost:5173", + "http://localhost:5174", + "http://127.0.0.1:5173", + "http://127.0.0.1:5174", + ], + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], +) + register_tortoise( app=app, config=TORTOISE_ORM, @@ -27,6 +43,7 @@ register_tortoise( app.include_router(users_router, tags=["User API"], prefix="/users") app.include_router(admin_router, tags=["Administrator API"], prefix="/admin") +app.include_router(dict_search, tags=["Dictionary Search API"]) -if __name__ == '__main__': - uvicorn.run("main:app", host='127.0.0.1', port=8000, reload=True) +if __name__ == "__main__": + uvicorn.run("main:app", host="127.0.0.1", port=8000, reload=True)