import asyncio from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from core import init_db, periodic_sync from api_auth import router as auth_router from api_playlist import router as playlist_router from api_share import router as share_router from api_music import router as music_router from api_co_listen import router as co_listen_router app = FastAPI() # 🌟 优化 3:关闭 credentials,彻底消除通配符导致的 CORS 崩溃 app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=False, allow_methods=["*"], allow_headers=["*"], ) # 🌟 挂载生命周期:启动时拉取数据库到内存,并开启定时后台推流 @app.on_event("startup") async def startup_event(): await init_db() asyncio.create_task(periodic_sync()) app.include_router(auth_router) app.include_router(playlist_router) app.include_router(share_router) app.include_router(music_router) app.include_router(co_listen_router) @app.get("/") def wakeup(): return {"status": "ok", "message": "Flying Music Server is Awake!"}