From 380693c66d6c98b44c40a3c99c54c505cc90b502 Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Fri, 12 Jul 2024 11:06:57 +0800 Subject: [PATCH] =?UTF-8?q?style:=20=E4=BD=BF=E7=94=A8ruff=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E5=8C=96=E9=AA=8C=E8=AF=81=E7=A0=81=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/captcha_controller.py | 33 +++++++++++++------ .../module_admin/service/captcha_service.py | 6 ++-- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/ruoyi-fastapi-backend/module_admin/controller/captcha_controller.py b/ruoyi-fastapi-backend/module_admin/controller/captcha_controller.py index 3ad1543..df0eb89 100644 --- a/ruoyi-fastapi-backend/module_admin/controller/captcha_controller.py +++ b/ruoyi-fastapi-backend/module_admin/controller/captcha_controller.py @@ -1,28 +1,41 @@ import uuid +from datetime import timedelta from fastapi import APIRouter, Request from config.env import RedisInitKeyConfig -from module_admin.service.captcha_service import * from module_admin.entity.vo.login_vo import CaptchaCode -from utils.response_util import * -from utils.log_util import * -from datetime import timedelta +from module_admin.service.captcha_service import CaptchaService +from utils.response_util import ResponseUtil +from utils.log_util import logger captchaController = APIRouter() -@captchaController.get("/captchaImage") +@captchaController.get('/captchaImage') async def get_captcha_image(request: Request): - captcha_enabled = True if await request.app.state.redis.get(f"{RedisInitKeyConfig.SYS_CONFIG.get('key')}:sys.account.captchaEnabled") == 'true' else False - register_enabled = True if await request.app.state.redis.get( - f"{RedisInitKeyConfig.SYS_CONFIG.get('key')}:sys.account.registerUser") == 'true' else False + captcha_enabled = ( + True + if await request.app.state.redis.get(f"{RedisInitKeyConfig.SYS_CONFIG.get('key')}:sys.account.captchaEnabled") + == 'true' + else False + ) + register_enabled = ( + True + if await request.app.state.redis.get(f"{RedisInitKeyConfig.SYS_CONFIG.get('key')}:sys.account.registerUser") + == 'true' + else False + ) session_id = str(uuid.uuid4()) captcha_result = await CaptchaService.create_captcha_image_service() image = captcha_result[0] computed_result = captcha_result[1] - await request.app.state.redis.set(f"{RedisInitKeyConfig.CAPTCHA_CODES.get('key')}:{session_id}", computed_result, ex=timedelta(minutes=2)) + await request.app.state.redis.set( + f"{RedisInitKeyConfig.CAPTCHA_CODES.get('key')}:{session_id}", computed_result, ex=timedelta(minutes=2) + ) logger.info(f'编号为{session_id}的会话获取图片验证码成功') return ResponseUtil.success( - model_content=CaptchaCode(captchaEnabled=captcha_enabled, registerEnabled=register_enabled, img=image, uuid=session_id) + model_content=CaptchaCode( + captchaEnabled=captcha_enabled, registerEnabled=register_enabled, img=image, uuid=session_id + ) ) diff --git a/ruoyi-fastapi-backend/module_admin/service/captcha_service.py b/ruoyi-fastapi-backend/module_admin/service/captcha_service.py index 85b0912..1be8ffb 100644 --- a/ruoyi-fastapi-backend/module_admin/service/captcha_service.py +++ b/ruoyi-fastapi-backend/module_admin/service/captcha_service.py @@ -1,8 +1,8 @@ -from PIL import Image, ImageDraw, ImageFont +import base64 import io import os import random -import base64 +from PIL import Image, ImageDraw, ImageFont class CaptchaService: @@ -35,7 +35,7 @@ class CaptchaService: else: result = num1 * num2 # 绘制文本 - text = f"{num1} {operational_character} {num2} = ?" + text = f'{num1} {operational_character} {num2} = ?' draw.text((25, 15), text, fill='blue', font=font) # 将图像数据保存到内存中