DoLog.php 872 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. //操作日志写入数据库
  3. namespace listen;
  4. use app\model\Log;
  5. class DoLog
  6. {
  7. public function handle($user)
  8. {
  9. if (!empty($user)) {
  10. if (in_array(request()->action(), ['add', 'update', 'listUpdate', 'resetPwd', 'delete'])) {
  11. $content = request()->except(['s', '_pjax']);
  12. if ($content) {
  13. foreach ($content as $k => $v) {
  14. if (is_string($v) && strlen($v) > 200 || stripos($k, 'password') !== false) {
  15. unset($content[$k]);
  16. }
  17. }
  18. }
  19. $data['application_name'] = app('http')->getName();
  20. $data['weid'] = weid();
  21. $data['username'] = $user;
  22. $data['url'] = request()->url(true);
  23. $data['ip'] = request()->ip();
  24. $data['useragent'] = request()->server('HTTP_USER_AGENT');
  25. $data['content'] = json_encode($content, JSON_UNESCAPED_UNICODE);
  26. $data['type'] = 2;
  27. Log::create($data);
  28. }
  29. }
  30. }
  31. }