""" 尿检识别系统后端 - FastAPI """ from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from database import engine, Base, SessionLocal from routers import auth, urinecheck from routers.auth import init_admin # 创建数据库表 Base.metadata.create_all(bind=engine) # 初始化默认管理员 db = SessionLocal() init_admin(db) db.close() app = FastAPI( title="尿检识别系统 API", description="尿检试纸颜色识别后端API", version="1.0.0", redirect_slashes=False ) # CORS配置 app.add_middleware( CORSMiddleware, allow_origins=[ "http://localhost:8905", "http://localhost:3000", "http://127.0.0.1:8905", "http://0.0.0.0:8905", "http://129.211.173.87:8905", # 尿检前端 "http://129.211.173.87:9000", # SSO 中心 ], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # 注册路由 app.include_router(auth.router) app.include_router(urinecheck.router) @app.get("/") def root(): return { "message": "尿检识别系统 API", "version": "1.0.0", "docs": "/docs" } @app.get("/api/health") def health_check(): return {"status": "ok"} if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8904)