Files
nanocode/fumamxCRM/backend/app.py
T
Ubuntu 32b43f85bd a
2026-07-03 16:58:28 +08:00

82 lines
1.9 KiB
Python

"""
fumamxCRM Backend - FastAPI Application
后端独立服务,端口 10001
"""
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from contextlib import asynccontextmanager
from database import init_db, SessionLocal, Base, engine
from auth import init_admin_user
from routers import auth, customers, discover, settings, import_tasks, potential_customers, deep_analysis
@asynccontextmanager
async def lifespan(app: FastAPI):
"""应用生命周期管理"""
print("🚀 初始化数据库...")
Base.metadata.create_all(bind=engine)
db = SessionLocal()
try:
init_admin_user(db)
finally:
db.close()
print("✓ 后端服务启动完成")
yield
print("👋 服务关闭")
app = FastAPI(
title="fumamxCRM API",
description="fumamx 客户关系管理系统 API",
version="1.0.0",
lifespan=lifespan,
docs_url="/docs",
redoc_url="/redoc",
openapi_url="/openapi.json"
)
# CORS 配置 - 允许前端访问
app.add_middleware(
CORSMiddleware,
allow_origins=[
"http://129.211.173.87:10000",
"http://localhost:10000",
"http://localhost:5173", # Vite dev server
],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# API 路由
app.include_router(auth.router)
app.include_router(customers.router)
app.include_router(discover.router)
app.include_router(settings.router)
app.include_router(import_tasks.router)
app.include_router(potential_customers.router)
app.include_router(deep_analysis.router)
@app.get("/")
def root():
return {
"name": "fumamxCRM API",
"version": "1.0.0",
"status": "running",
"frontend": "http://129.211.173.87:10000"
}
@app.get("/health")
def health():
return {"status": "healthy"}
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=10001)