From 19d0992dc69d4af2ee8c4584d61f26ef830e1818 Mon Sep 17 00:00:00 2001 From: u2nyakim Date: Fri, 29 Aug 2025 17:09:54 +0800 Subject: [PATCH] =?UTF-8?q?up.=20=E6=B7=BB=E5=8A=A0=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E7=AB=AF=E9=94=81=E5=AE=9A=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/command/admin/Worker.php | 14 ++++++++++-- app/controller/admin/auth/AuthController.php | 24 +++++++++++++++++++- app/entity/SysUserClientLog.php | 14 ++++++++++++ app/model/SysUserClientLog.php | 17 ++++++++++++++ 4 files changed, 66 insertions(+), 3 deletions(-) create mode 100644 app/entity/SysUserClientLog.php create mode 100644 app/model/SysUserClientLog.php diff --git a/app/command/admin/Worker.php b/app/command/admin/Worker.php index 3acd799..3592574 100644 --- a/app/command/admin/Worker.php +++ b/app/command/admin/Worker.php @@ -4,6 +4,7 @@ namespace app\command\admin; use app\entity\SysUserClient; +use app\entity\SysUserClientLog; use app\service\admin\LoginService; use think\console\Command; use think\console\Input; @@ -81,13 +82,22 @@ class Worker extends Command if($connection->userId) { $lock_password = $messageJson['data']['lockPassword'] ?? ''; var_dump("锁定客户端/通知全部ws触发锁定操作"); - SysUserClient::where([ + $client = SysUserClient::where([ 'client_id' => $connection->clientId, 'client_name'=> $connection->clientName, 'user_id' => $connection->userId, - ])->update(['is_lock'=>1,'lock_password'=>$lock_password,'lock_time'=>date('Y-m-d H:i:s')]); + ])->find(); + $client->update(['is_lock'=>1,'lock_password'=>$lock_password,'lock_time'=>date('Y-m-d H:i:s')]); // 锁定屏幕 $connection->send(json_encode(['event'=>'LOCK_CLIENT_SCREEN'])); + + SysUserClientLog::create([ + 'event' => 'UNLOCK', + 'message'=> "A. 锁定客户端", + 'data' => ['inputPass'=> $lock_password], + 'create_time' => date('Y-m-d H:i:s'), + 'client_data_id'=> $client['id'] + ]); } } } diff --git a/app/controller/admin/auth/AuthController.php b/app/controller/admin/auth/AuthController.php index b90d24e..3528edb 100644 --- a/app/controller/admin/auth/AuthController.php +++ b/app/controller/admin/auth/AuthController.php @@ -5,6 +5,7 @@ namespace app\controller\admin\auth; use app\BaseController; use app\entity\SysUser; use app\entity\SysUserClient; +use app\entity\SysUserClientLog; use app\enum\UserLoginEnum; use app\service\admin\LoginService; use think\db\exception\DataNotFoundException; @@ -55,14 +56,35 @@ class AuthController extends BaseController if($clientModel && $clientModel['is_lock']) { if (empty($clientModel['lock_password'])) { if(!password_verify($password, $this->auth->getUser()->get('password'))) { + SysUserClientLog::create([ + 'event' => 'UNLOCK_ERROR', + 'message'=> "1. 尝试解锁,密码错误", + 'data' => ['inputPass'=> $password], + 'create_time' => date('Y-m-d H:i:s'), + 'client_data_id'=> $clientModel['id'] + ]); return $this->writeError('密码错误'); } }else{ - if($clientModel['lock_password'] !== $password) { + if($clientModel['lock_password'] !== $password){ + SysUserClientLog::create([ + 'event' => 'UNLOCK_ERROR', + 'message'=> "2. 尝试解锁,密码错误", + 'data' => ['inputPass'=> $password], + 'create_time' => date('Y-m-d H:i:s'), + 'client_data_id'=> $clientModel['id'] + ]); return $this->writeError('密码错误'); } } $clientModel->save(['is_lock'=>0,'lock_password'=>'','lock_time'=>null]); + SysUserClientLog::create([ + 'event' => 'UNLOCK_SUCCESS', + 'message'=> "0. 解锁成功", + 'data' => ['inputPass'=> $password], + 'create_time' => date('Y-m-d H:i:s'), + 'client_data_id'=> $clientModel['id'] + ]); } diff --git a/app/entity/SysUserClientLog.php b/app/entity/SysUserClientLog.php new file mode 100644 index 0000000..28e4c5f --- /dev/null +++ b/app/entity/SysUserClientLog.php @@ -0,0 +1,14 @@ +