BaseController.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. namespace App\Http\Controllers\api;
  3. use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
  4. use Illuminate\Foundation\Bus\DispatchesJobs;
  5. use Illuminate\Foundation\Validation\ValidatesRequests;
  6. use Illuminate\Routing\Controller;
  7. use Illuminate\Support\Facades\App;
  8. use Illuminate\Support\Facades\Lang;
  9. class BaseController extends Controller
  10. {
  11. use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
  12. protected $lang = 'zh';
  13. public function __construct()
  14. {
  15. $lang = request()->input('lang');
  16. if (!$lang) {
  17. $lang = request()->header('Lang', 'zh');
  18. }
  19. App::setLocale($lang);
  20. $this->lang = $lang;
  21. }
  22. protected function success($data = [], $msg = 'messages.ok')
  23. {
  24. return response()->json([
  25. 'code' => 0,
  26. 'timestamp' => time(),
  27. 'msg' => Lang::get($msg),
  28. 'data' => $data
  29. ]);
  30. }
  31. protected function error(string $msg = "请求错误", $data = [], int $code = -1)
  32. {
  33. $code = intval($code);
  34. if ($code === 0) $code = -1;
  35. $a = Lang::get("messages.{$msg}", $data);
  36. if ($a == "messages." . $msg) {
  37. $a = $msg;
  38. }
  39. return response()->json([
  40. 'code' => $code,
  41. 'timestamp' => time(),
  42. 'msg' => $a,
  43. 'data' => $data
  44. ]);
  45. }
  46. }