header('Content-type:applaction/json;charset=utf-8');用来规定json
JSON_UNESCAPED_UNICODE 优化中文输出 不是编码输出
realMsg真正的原因 不可用户看 msg给用户看的
失败注重失败原因
$this->error($e->getMessage());
成功注重返回数据
$this->success($user_data);
protected function success(array $data = [], string $msg = '获取成功', int $code = 0, string $realMsg = '', array $header = [])
{
return $this->responseJson($msg, $data, $code, $realMsg, $header);
}
protected function error(string $msg = '获取失败', string $realMsg = '', int $code = 1, array $data = [])
{
return $this->responseJson($msg, $data, $code, $realMsg);
}
private function responseJson(string $message, array $data, int $code, string $realMsg, array $header = [])
{
$data = [
'data' => $data,
'message' => $message,
'realMsg' => $realMsg,
'code' => $code
];
//tp6的函数
return json($data, 200, $header);
}
如果没有tp6的话 可以使用以下
//响应结果JSON
public function JSON($code = 1, $msg = '成功',$realMsg='成功', $data = [])
{
header('Content-type:applaction/json;charset=utf-8');
$res['code'] = $code;
$res['msg'] = $msg;
$res['realMsg'] = $realMsg;
$res['data'] = $data;
return json_encode($res,JSON_UNESCAPED_UNICODE);
}