Controller.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Dingo\Api\Routing\Helpers;
  5. use Laravel\Lumen\Routing\Controller as BaseController;
  6. class Controller extends BaseController
  7. {
  8. use Helpers;
  9. public function success($data,$msg="ok",$message='成功'){
  10. $data=is_array($data)?collect($data)->toArray():$data;
  11. $this->parseNull($data);
  12. $result = [
  13. "code"=>200,
  14. "msg"=>$msg,
  15. "message"=>$message,
  16. "data"=>$data,
  17. ];
  18. return response()->json($result,200);
  19. }
  20. public function success_list($data,$msg="ok" ,$total=0,$re=[],$res="all"){
  21. $data=is_array($data)?collect($data)->toArray():$data;
  22. $data=collect($data)->toArray();
  23. $this->parseNull($data);
  24. $result = [
  25. "code"=>200,
  26. "msg"=>$msg,
  27. "message"=>$msg,
  28. "data"=>[
  29. 'size'=>15,
  30. 'total'=>$total,
  31. "$res"=>$re,
  32. 'list'=>$data
  33. ],
  34. ];
  35. return response()->json($result,200);
  36. }
  37. //失败返回
  38. public function error($code="422",$data="",$msg="fail"){
  39. if(empty($data) && $msg!='fail'){
  40. $data=$msg;
  41. }elseif(!empty($data) && $msg=='fail'){
  42. $msg=$data;
  43. }
  44. $result = [
  45. "code"=>$code,
  46. "msg"=>$msg,
  47. "message"=>$msg,
  48. "data"=>$data
  49. ];
  50. return response()->json($result,200);
  51. }
  52. public function new_error($code="422",$msg="fail"){
  53. $result = [
  54. "code"=>$code,
  55. "msg"=>$msg,
  56. "message"=>$msg,
  57. ];
  58. return response()->json($result,200);
  59. }
  60. //如果返回的数据中有 null 则那其值修改为空 (安卓和IOS 对null型的数据不友好,会报错)
  61. private function parseNull(&$data){
  62. if(is_array($data)){
  63. foreach($data as &$v){
  64. $this->parseNull($v);
  65. }
  66. }else{
  67. if(is_null($data)){
  68. $data = "";
  69. }
  70. }
  71. }
  72. }