ActionLogForm.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. namespace app\modules\admin\models;
  8. use app\models\Admin;
  9. use Yii;
  10. use yii\base\Model;
  11. use app\models\ActionLog;
  12. class ActionLogForm extends Model
  13. {
  14. public $ids;
  15. public function getActionLogList()
  16. {
  17. $query = ActionLog::find()->orderBy('created_at DESC');
  18. $pagination = pagination_make($query);
  19. $list = $pagination['list'];
  20. $params = [];
  21. if (count($list) > 0) {
  22. $params = require Yii::$app->basePath . '/config/action.php';
  23. }
  24. foreach ($list as $key => $value) {
  25. $list[$key]['admin'] = '';
  26. $list[$key]['action'] = '';
  27. if ($value['admin_id'] > 0) {
  28. $admin = Admin::findOne($value['admin_id']);
  29. if ($admin) {
  30. $list[$key]['admin'] = $admin->username;
  31. }
  32. }
  33. if (isset($params[$value['route']])) {
  34. $list[$key]['action'] = $list[$key]['admin'] . $params[$value['route']]['desc'];
  35. }
  36. $list[$key]['get_params'] = json_decode($value['get_params']);
  37. $list[$key]['post_params'] = json_decode($value['post_params']);
  38. $list[$key]['header_params'] = json_decode($value['header_params']);
  39. $list[$key]['response_params'] = json_decode($value['response_params']);
  40. }
  41. return [
  42. 'code' => 0,
  43. 'msg' => 'success',
  44. 'data' => [
  45. 'data' => $list,
  46. 'pageNo' => $pagination['pageNo'],
  47. 'totalCount' => $pagination['totalCount'],
  48. ],
  49. ];
  50. }
  51. public function delete()
  52. {
  53. if (! $this->ids) {
  54. return [
  55. 'code' => 1,
  56. 'msg' => '请先选择要删除的操作日志',
  57. ];
  58. }
  59. ActionLog::deleteAll(['in', 'id', $this->ids]);
  60. return [
  61. 'code' => 0,
  62. 'msg' => '操作成功',
  63. ];
  64. }
  65. }