Files
superlink/api/common/response.php
T

48 lines
1.2 KiB
PHP

<?php
/**
* 统一 JSON 返回类
* 用法:Response::success($data, $msg) / Response::error($msg, $code)
*/
class Response
{
/**
* 成功返回
* @param mixed $data
* @param string $msg
*/
public static function success($data = null, $msg = '操作成功')
{
self::json(['code' => 0, 'msg' => $msg, 'data' => $data]);
}
/**
* 失败返回
* @param string $msg
* @param int $code 非0错误码(401未登录/403无权限/400参数错误/1业务错误)
*/
public static function error($msg = '操作失败', $code = 1)
{
self::json(['code' => $code, 'msg' => $msg]);
}
/**
* 重复数据错误(前端弹窗 + 跳转定位)
* @param array $dup 重复记录信息:{label,value,name,owner_label,jump,...}
*/
public static function duplicate($dup)
{
self::json([
'code' => 1001,
'msg' => ($dup['label'] ?? '字段') . '「' . ($dup['value'] ?? '') . '」出现重复',
'data' => $dup,
]);
}
private static function json($payload)
{
header('Content-Type: application/json; charset=utf-8');
echo json_encode($payload, JSON_UNESCAPED_UNICODE);
exit;
}
}