
    Zi	                         S r SSKJr  SSKJrJrJr  SS\S\S\4S jjr	SS\S	\
S\4S
 jjr SS\S\
S\
S\
S\S\4S jjrS\\\4   S\4S jrg)u:   
统一响应格式

提供标准化的 JSON 响应格式
    jsonify)AnyDictOptionalNdatamessagereturnc                 X    SSUS.nU b  XS'   UR                  U5        [        U5      S4$ )u   
成功响应

Args:
    data: 响应数据
    message: 成功消息
    **kwargs: 其他额外字段
    
Returns:
    tuple: (response, status_code)
Tsuccess)r   statusr	   r      updater   )r   r	   kwargsresponses       E   /Users/yu22x/Desktop/ddd_副本135/ctf/app/routes/common/responses.pysuccess_responser   
   sB     H  OOF8c!!    codec                 L    SSU US.nUR                  U5        [        U5      U4$ )u   
错误响应

Args:
    message: 错误消息
    code: HTTP 状态码
    **kwargs: 其他额外字段
    
Returns:
    tuple: (response, status_code)
Ferror)r   r   r	   r   r   )r	   r   r   r   s       r   error_responser   %   s5     	H OOF8d""r   itemspageper_pagetotalc                 h    US:  a
  X2-   S-
  U-  OSnSSUU UUUUUS:  X:  S.S.n[        U5      S4$ )u   
分页响应

Args:
    items: 数据列表
    page: 当前页码
    per_page: 每页数量
    total: 总数量
    message: 消息
    
Returns:
    tuple: (response, status_code)
r      Tr   )r   r   r   total_pageshas_prevhas_next)r   r   r	   r   
paginationr   r   )r   r   r   r   r	   r    r   s          r   paginated_responser$   >   sd    ( 9A15#a'H4!K  &q*
H 8c!!r   errorsc                     [        SSU S9$ )u   
验证错误响应

Args:
    errors: 字段错误字典 {'field': ['error1', 'error2']}
    
Returns:
    tuple: (response, status_code)
u   数据验证失败i  )r	   r   r%   )r   )r%   s    r   validation_error_responser'   f   s     $ r   )Nu   操作成功)u   操作失败i  )u   获取成功)__doc__flaskr   typingr   r   r   strtupler   intr   listr$   r'    r   r   <module>r0      s   
  & &"3 " "SX "6#C # #PU #< "%"%"
%" %" 	%"
 %" %"Pd39o % r   