SystemServerController.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | saiadmin [ saiadmin快速开发框架 ]
  4. // +----------------------------------------------------------------------
  5. // | Author: sai <1430792918@qq.com>
  6. // +----------------------------------------------------------------------
  7. namespace plugin\saiadmin\app\controller\system;
  8. use plugin\saiadmin\service\Permission;
  9. use plugin\saiadmin\basic\BaseController;
  10. use plugin\saiadmin\utils\ServerMonitor;
  11. use support\think\Cache;
  12. use support\Request;
  13. use support\Response;
  14. /**
  15. * 邮件记录控制器
  16. */
  17. class SystemServerController extends BaseController
  18. {
  19. /**
  20. * 构造
  21. */
  22. public function __construct()
  23. {
  24. parent::__construct();
  25. }
  26. /**
  27. * 数据列表
  28. * @param Request $request
  29. * @return Response
  30. */
  31. #[Permission('服务监控', 'core:server:monitor')]
  32. public function monitor(Request $request): Response
  33. {
  34. $service = new ServerMonitor();
  35. return $this->success([
  36. 'memory' => $service->getMemoryInfo(),
  37. 'disk' => $service->getDiskInfo(),
  38. 'phpEnv' => $service->getPhpAndEnvInfo(),
  39. ]);
  40. }
  41. /**
  42. * 数据列表
  43. * @param Request $request
  44. * @return Response
  45. */
  46. #[Permission('缓存信息', 'core:server:cache')]
  47. public function cache(Request $request): Response
  48. {
  49. $menu_cache = config('plugin.saiadmin.saithink.menu_cache', []);
  50. $button_cache = config('plugin.saiadmin.saithink.button_cache', []);
  51. $config_cache = config('plugin.saiadmin.saithink.config_cache', []);
  52. $dict_cache = config('plugin.saiadmin.saithink.dict_cache', []);
  53. $reflection_cache = config('plugin.saiadmin.saithink.reflection_cache', []);
  54. return $this->success([
  55. 'menu_cache' => $menu_cache,
  56. 'button_cache' => $button_cache,
  57. 'config_cache' => $config_cache,
  58. 'dict_cache' => $dict_cache,
  59. 'reflection_cache' => $reflection_cache
  60. ]);
  61. }
  62. /**
  63. * 删除数据
  64. * @param Request $request
  65. * @return Response
  66. */
  67. #[Permission('缓存数据清理', 'core:server:clear')]
  68. public function clear(Request $request) : Response
  69. {
  70. $tag = $request->input('tag', '');
  71. if (empty($tag)) {
  72. return $this->fail('请选择要删除的缓存');
  73. }
  74. Cache::tag($tag)->clear();
  75. Cache::delete($tag);
  76. return $this->success('删除成功');
  77. }
  78. }