MaxKB/apps/users/api/login.py
shaohuzhang1 dcb77bbe16
Some checks are pending
sync2gitee / repo-sync (push) Waiting to run
feat: Captcha (#2913)
2025-04-17 19:16:54 +08:00

54 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# coding=utf-8
"""
@project: MaxKB
@Author虎虎
@file login.py
@date2025/4/14 10:30
@desc:
"""
from common.mixins.api_mixin import APIMixin
from common.result import ResultSerializer
from users.serializers.login import LoginResponse, LoginRequest, CaptchaResponse
class ApiLoginResponse(ResultSerializer):
def get_data(self):
return LoginResponse()
"""
Request 和Response 都可以使用此方法
使用serializers.Serializer
class LoginRequest(serializers.Serializer):
username = serializers.CharField(required=True, max_length=64, help_text=_("Username"), label=_("Username"))
password = serializers.CharField(required=True, max_length=128, label=_("Password"))
使用serializers.ModelSerializer Request不要使用serializers.ModelSerializer的方式
class LoginRequest(serializers.ModelSerializer):
class Meta:
model = User
fields = ['username', 'password']
"""
class LoginAPI(APIMixin):
@staticmethod
def get_request():
return LoginRequest
@staticmethod
def get_response():
return ApiLoginResponse
class ApiCaptchaResponse(ResultSerializer):
def get_data(self):
return CaptchaResponse()
class CaptchaAPI(APIMixin):
@staticmethod
def get_response():
return ApiCaptchaResponse