From 8166d1dbdba697960e491f2eac5d34e2fcd3bf54 Mon Sep 17 00:00:00 2001 From: wanghongjun <1445693971@qq,com> Date: Mon, 11 Sep 2023 16:28:32 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=BF=AE=E6=94=B9=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E5=88=A0=E9=99=A4=E7=99=BB=E9=99=86=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/AdminUserTeam.php | 5 +++++ app/event/UserPasswordChange.php | 14 ++++++++++++++ app/listener/LogoutUser.php | 24 ++++++++++++++++++++++++ config/event.php | 12 ++++++++++++ 4 files changed, 55 insertions(+) create mode 100644 app/event/UserPasswordChange.php create mode 100644 app/listener/LogoutUser.php create mode 100644 config/event.php diff --git a/app/controller/AdminUserTeam.php b/app/controller/AdminUserTeam.php index c5c0d7e..efd6325 100644 --- a/app/controller/AdminUserTeam.php +++ b/app/controller/AdminUserTeam.php @@ -4,6 +4,7 @@ declare (strict_types = 1); namespace app\controller; use app\BaseController; +use app\event\UserPasswordChange; use app\middleware\CheckAdmin; use app\model\AdminDownScoresRecords; use app\model\AdminUpScoresRecords; @@ -11,6 +12,7 @@ use app\model\RechargeRecords; use app\model\User; use app\model\WithdrawalRecords; use think\facade\Db; +use think\facade\Event; use think\facade\Request; use think\facade\Session; use app\validate\Admin; @@ -113,6 +115,9 @@ class AdminUserTeam extends BaseController if (!$result['status']) throw new ValidateException($result['msg']); + $event = new UserPasswordChange($param['user_id']); + Event::trigger(UserPasswordChange::class,$event); + return $this->renderSuccess($result['msg']); } catch (ValidateException $validateException) { return $this->renderError($validateException->getMessage()); diff --git a/app/event/UserPasswordChange.php b/app/event/UserPasswordChange.php new file mode 100644 index 0000000..db9dc25 --- /dev/null +++ b/app/event/UserPasswordChange.php @@ -0,0 +1,14 @@ +userId = $userId; + } +} \ No newline at end of file diff --git a/app/listener/LogoutUser.php b/app/listener/LogoutUser.php new file mode 100644 index 0000000..6aad14a --- /dev/null +++ b/app/listener/LogoutUser.php @@ -0,0 +1,24 @@ +userId; + + $userData = Cache::store('redis')->get('login_user_data'); + if ($userData && $userData['id'] == $userId) { + Cache::store('redis')->delete('login_user_data'); + } + } +} \ No newline at end of file diff --git a/config/event.php b/config/event.php new file mode 100644 index 0000000..77d9181 --- /dev/null +++ b/config/event.php @@ -0,0 +1,12 @@ + [ + // ... + 'app\event\UserPasswordChange' => [ + 'app\listener\LogoutUser', + ], + ], +];