Files
NewTicket/app/common/Trait/ApiResponse.php
2026-05-07 16:37:25 +08:00

67 lines
1.5 KiB
PHP

<?php
namespace app\common\Trait;
use think\Response;
/**
* API 响应 Trait
* 提供统一的 JSON 响应格式
*/
trait ApiResponse
{
/**
* 成功响应
*
* @param mixed $data 响应数据
* @param string $msg 响应消息
* @param int $code 响应码
* @param int $httpCode HTTP状态码
* @return Response
*/
protected function successResponse($data = [], $msg = '成功', $code = 200, $httpCode = 200)
{
return json([
'code' => $code,
'msg' => $msg,
'data' => $data
], $httpCode);
}
/**
* 错误响应
*
* @param string $msg 错误消息
* @param mixed $data 错误数据
* @param int $code 错误码
* @param int $httpCode HTTP状态码
* @return Response
*/
protected function errorResponse($msg = '失败', $data = null, $code = 400, $httpCode = 400)
{
return json([
'code' => $code,
'msg' => $msg,
'data' => $data
], $httpCode);
}
/**
* 自定义响应
*
* @param int $code 响应码
* @param string $msg 响应消息
* @param mixed $data 响应数据
* @param int $httpCode HTTP状态码
* @return Response
*/
protected function customResponse($code, $msg, $data = [], $httpCode = 200)
{
return json([
'code' => $code,
'msg' => $msg,
'data' => $data
], $httpCode);
}
}