diff --git a/app/controller/AdminUser.php b/app/controller/AdminUser.php index ce9d6e3..eb6ee30 100644 --- a/app/controller/AdminUser.php +++ b/app/controller/AdminUser.php @@ -4,11 +4,13 @@ declare (strict_types = 1); namespace app\controller; use app\BaseController; +use app\event\AdminPasswordChange; use app\middleware\CheckAdmin; use app\model\RebateRecords; use think\exception\ValidateException; use think\facade\Cache; use think\facade\Db; +use think\facade\Event; use think\facade\Filesystem; use think\facade\Request; use app\model\AdminUser as AdminModel; @@ -70,6 +72,9 @@ class AdminUser extends BaseController $user = $AdminModel->modifyPassword($data,$adminData['id']); if ($user['status']) { + + $event = new AdminPasswordChange($adminData['id']); + Event::trigger(AdminPasswordChange::class,$event); return $this->renderSuccess('修改成功'); } else { return $this->renderError($user['msg']); diff --git a/app/event.php b/app/event.php index b2354e5..09f48ab 100644 --- a/app/event.php +++ b/app/event.php @@ -16,6 +16,9 @@ return [ 'app\event\AgentPasswordChange' => [ 'app\listener\LogoutAgent', ], + 'app\event\AdminPasswordChange' => [ + 'app\listener\LogoutAdmin', + ], ], 'subscribe' => [ diff --git a/app/event/AdminPasswordChange.php b/app/event/AdminPasswordChange.php new file mode 100644 index 0000000..35a2943 --- /dev/null +++ b/app/event/AdminPasswordChange.php @@ -0,0 +1,13 @@ +aid = $aid; + } +} \ No newline at end of file diff --git a/app/listener/LogoutAdmin.php b/app/listener/LogoutAdmin.php new file mode 100644 index 0000000..8b56aea --- /dev/null +++ b/app/listener/LogoutAdmin.php @@ -0,0 +1,28 @@ +aid; + + $adminData = Cache::store('redis')->get('login_admin_user_data'); + if ($adminData) { + $adminData = unserialize($adminData); + if ($adminData['id'] == $aid) { + Session::delete('login_admin_user_data'); + } + } + } +} \ No newline at end of file