BaseController.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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 = 'en';
  13. public function __construct()
  14. {
  15. $lang = request()->input('lang', 'en');
  16. App::setLocale($lang);
  17. $this->lang = $lang;
  18. }
  19. protected function success($data = [], $msg = 'messages.ok')
  20. {
  21. return response()->json([
  22. 'code' => 0,
  23. 'timestamp' => time(),
  24. 'msg' => Lang::get($msg),
  25. 'data' => $data
  26. ]);
  27. }
  28. protected function error(string $msg = "请求错误", $data = [], int $code = -1)
  29. {
  30. $code = intval($code);
  31. if ($code === 0) $code = -1;
  32. $a = Lang::get("messages.{$msg}", $data);
  33. if ($a == "messages." . $msg) {
  34. $a = $msg;
  35. }
  36. return response()->json([
  37. 'code' => $code,
  38. 'timestamp' => time(),
  39. 'msg' => $a,
  40. 'data' => $data
  41. ]);
  42. }
  43. }