39 lines
817 B
Python
39 lines
817 B
Python
|
from pydantic import BaseModel, constr
|
|||
|
|
|||
|
EMailRegex = constr(regex="^[a-zA-Z0-9_-]+@fecr.com.cn$")
|
|||
|
passwordRegex = constr(regex="^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$)^.{8,}$")
|
|||
|
|
|||
|
|
|||
|
class ImageCaptchaRes(BaseModel):
|
|||
|
captcha_id: str
|
|||
|
img_data: str
|
|||
|
|
|||
|
|
|||
|
class LoginReqBody(BaseModel):
|
|||
|
email: EMailRegex = "xxxx@fecr.com.cn"
|
|||
|
password: passwordRegex = "包含大小写字母和数字,长度8-16位"
|
|||
|
captcha_id: str
|
|||
|
captcha_code: str
|
|||
|
|
|||
|
|
|||
|
class UserInfo(BaseModel):
|
|||
|
id: str
|
|||
|
email: str
|
|||
|
name: str
|
|||
|
avatar: str
|
|||
|
role: str
|
|||
|
department: str
|
|||
|
post: str
|
|||
|
auth_data: str
|
|||
|
|
|||
|
|
|||
|
class LoginResBody(UserInfo):
|
|||
|
access_token: str
|
|||
|
token_type:str
|
|||
|
|
|||
|
|
|||
|
class RegisterReqBody(BaseModel):
|
|||
|
email: EMailRegex
|
|||
|
password: passwordRegex
|
|||
|
email_verify_code: str
|