from fastapi import APIRouter, Request from apps.forms.login import LoginForm from apps.services import login from utils import R from utils.captcha import generate_captcha # 创建路由 router = APIRouter() # 系统登录 @router.post('/login', summary='系统登录') async def do_login(request: Request, data: LoginForm): result = await login.login(request, data) return result # 获取验证码 @router.get('/captcha', summary='获取验证码') async def captcha(request: Request): # 生成验证码 result = await generate_captcha(request) # idKey值 idKey = result['idKey'] # 验证码base64字符串 data = result['data'] # 将图片转换为base64 imgStr = "data:image/png;base64," + data # 返回结果 return R.ok(idkey=idKey, data=imgStr)