BaseController.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | saiadmin [ saiadmin快速开发框架 ]
  4. // +----------------------------------------------------------------------
  5. // | Author: sai <1430792918@qq.com>
  6. // +----------------------------------------------------------------------
  7. namespace plugin\saiadmin\basic;
  8. use plugin\saiadmin\app\cache\UserInfoCache;
  9. use plugin\saiadmin\exception\ApiException;
  10. /**
  11. * 基类 控制器继承此类
  12. */
  13. class BaseController extends OpenController
  14. {
  15. /**
  16. * 当前登陆管理员信息
  17. */
  18. protected $adminInfo;
  19. /**
  20. * 当前登陆管理员ID
  21. */
  22. protected int $adminId;
  23. /**
  24. * 当前登陆管理员账号
  25. */
  26. protected string $adminName;
  27. /**
  28. * 逻辑层注入
  29. */
  30. protected $logic;
  31. /**
  32. * 验证器注入
  33. */
  34. protected $validate;
  35. /**
  36. * 初始化
  37. */
  38. protected function init(): void
  39. {
  40. // 登录模式赋值
  41. $isLogin = request()->header('check_login', false);
  42. if ($isLogin) {
  43. $result = request()->header('check_admin');
  44. $this->adminId = $result['id'];
  45. $this->adminName = $result['username'];
  46. $this->adminInfo = UserInfoCache::getUserInfo($result['id']);
  47. // 用户数据传递给逻辑层
  48. $this->logic && $this->logic->init($this->adminInfo);
  49. }
  50. }
  51. /**
  52. * 验证器调用
  53. */
  54. protected function validate(string $scene, $data): bool
  55. {
  56. if ($this->validate) {
  57. if (!$this->validate->scene($scene)->check($data)) {
  58. throw new ApiException($this->validate->getError());
  59. }
  60. }
  61. return true;
  62. }
  63. }