deep-risk/backend/app/api/v1/user.py
2025-12-14 20:08:27 +08:00

86 lines
1.9 KiB
Python

"""
用户管理API路由
"""
from typing import Any, List
from fastapi import APIRouter, Depends, HTTPException, Query
from fastapi.security import OAuth2PasswordBearer
from app.config import settings
router = APIRouter()
# 临时模拟用户
oauth2_scheme = OAuth2PasswordBearer(
tokenUrl=f"{settings.API_V1_STR}/auth/login"
)
async def get_current_user():
"""
临时获取当前用户(无数据库依赖)
"""
# 返回模拟用户数据
return {
"id": 1,
"username": "admin",
"email": "admin@example.com",
"nickname": "管理员",
"status": True,
}
@router.get("/me")
async def get_current_user_info(current_user: dict = Depends(get_current_user)):
"""
获取当前用户信息
"""
return current_user
@router.get("/")
async def list_users(
skip: int = Query(0, ge=0, description="跳过的记录数"),
limit: int = Query(10, ge=1, le=100, description="返回的记录数"),
):
"""
获取用户列表(模拟数据)
"""
return {
"items": [
{
"id": 1,
"username": "admin",
"email": "admin@example.com",
"status": True,
},
{
"id": 2,
"username": "user1",
"email": "user1@example.com",
"status": True,
},
],
"total": 2,
"page": 1,
"size": 10,
"pages": 1,
}
@router.get("/{user_id}")
async def get_user(user_id: int):
"""
获取用户详情(模拟数据)
"""
if user_id == 1:
return {
"id": 1,
"username": "admin",
"email": "admin@example.com",
"status": True,
"created_at": "2024-01-01T00:00:00",
}
else:
raise HTTPException(status_code=404, detail="User not found")