24 lines
855 B
Python
24 lines
855 B
Python
"""认证 API — 对接 MOM sys_user"""
|
|
from fastapi import APIRouter, Depends
|
|
from app.schemas.user import LoginRequest, LoginResponse, UserResponse
|
|
from app.services.auth_service import login, get_current_user
|
|
|
|
router = APIRouter(prefix="/auth", tags=["认证"])
|
|
|
|
|
|
@router.post("/login", response_model=LoginResponse)
|
|
def login_endpoint(data: LoginRequest):
|
|
"""登录 — 验证 MOM sys_user 表,返回 JWT"""
|
|
return login(data.username, data.password)
|
|
|
|
|
|
@router.get("/me", response_model=UserResponse)
|
|
def get_me(current_user: dict = Depends(get_current_user)):
|
|
"""获取当前用户信息(从 JWT 解析)"""
|
|
return UserResponse(
|
|
id=current_user["sub"],
|
|
username=current_user.get("username", ""),
|
|
display_name=current_user.get("display_name", ""),
|
|
role=current_user.get("role", "operator"),
|
|
)
|