Controller.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Foundation\Bus\DispatchesJobs;
  4. use Illuminate\Routing\Controller as BaseController;
  5. use Illuminate\Foundation\Validation\ValidatesRequests;
  6. use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
  7. class Controller extends BaseController
  8. {
  9. use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
  10. //成功返回
  11. public function success($data,$msg="ok")
  12. {
  13. $this->parseNull($data);
  14. $result = [
  15. "code"=>200,
  16. "msg"=>$msg,
  17. "data"=>$data,
  18. ];
  19. return response()->json($result,200);
  20. }
  21. //成功返回带数量
  22. public function success_list($data,$msg="ok",$total=0){
  23. $data=!is_array($data)?collect($data)->toArray():$data;
  24. $this->parseNull($data);
  25. $result = [
  26. "code"=>200,
  27. "msg"=>$msg,
  28. "data"=>[
  29. 'total'=>$total,
  30. 'list'=>$data
  31. ],
  32. ];
  33. return response()->json($result,200);
  34. }
  35. //失败返回
  36. public function error($code="422",$msg="fail",$data=""){
  37. $result = [
  38. "code"=>$code,
  39. "msg"=>$msg,
  40. "data"=>$data
  41. ];
  42. return response()->json($result,200);
  43. }
  44. //如果返回的数据中有 null 则那其值修改为空 (安卓和IOS 对null型的数据不友好,会报错)
  45. private function parseNull(&$data){
  46. if(is_array($data)){
  47. foreach($data as &$v){
  48. $this->parseNull($v);
  49. }
  50. }else{
  51. if(is_null($data)){
  52. $data = "";
  53. }
  54. }
  55. }
  56. }