2026-09-10 23:15:37 +08:00
|
|
|
"""认证路由:登录 + 注册 + 当前用户(业务在 service/auth.py,路由只做编排)。"""
|
2026-09-08 19:17:35 +08:00
|
|
|
from fastapi import APIRouter, Depends
|
|
|
|
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
|
|
|
|
|
|
|
|
from api.deps import get_current_user
|
|
|
|
|
from config.deps import get_db
|
|
|
|
|
from model.sys_user import SysUser
|
2026-09-10 23:15:37 +08:00
|
|
|
from schemas.auth import LoginReq, RegisterReq
|
2026-09-08 20:27:42 +08:00
|
|
|
from service.auth import login as auth_login
|
2026-09-10 23:15:37 +08:00
|
|
|
from service.auth import register as auth_register
|
2026-09-08 20:27:42 +08:00
|
|
|
from service.auth import user_payload
|
2026-09-08 19:17:35 +08:00
|
|
|
from utils.response import success
|
|
|
|
|
|
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.post("/auth/login")
|
|
|
|
|
async def login(body: LoginReq, db: AsyncSession = Depends(get_db)):
|
2026-09-08 20:27:42 +08:00
|
|
|
return success(await auth_login(db, body.username, body.password))
|
2026-09-08 19:17:35 +08:00
|
|
|
|
|
|
|
|
|
2026-09-10 23:15:37 +08:00
|
|
|
@router.post("/auth/register")
|
|
|
|
|
async def register(body: RegisterReq, db: AsyncSession = Depends(get_db)):
|
|
|
|
|
return success(
|
|
|
|
|
await auth_register(db, body.username, body.password, body.phone, body.real_name)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
2026-09-08 19:17:35 +08:00
|
|
|
@router.get("/auth/me")
|
|
|
|
|
async def me(user: SysUser = Depends(get_current_user)):
|
|
|
|
|
"""受保护示例路由:任意接口加 Depends(get_current_user) 即获得当前用户。"""
|
2026-09-10 23:15:37 +08:00
|
|
|
return success({"user": user_payload(user)})
|