82 lines
1.9 KiB
Python
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)
|