Spaces:
Running
Running
| 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=["*"], | |
| ) | |
| # 🌟 挂载生命周期:启动时拉取数据库到内存,并开启定时后台推流 | |
| 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) | |
| def wakeup(): | |
| return {"status": "ok", "message": "Flying Music Server is Awake!"} |