diff --git a/catch/login/controller/Index.php b/catch/login/controller/Index.php index 214b89d..02e56b9 100644 --- a/catch/login/controller/Index.php +++ b/catch/login/controller/Index.php @@ -29,7 +29,7 @@ class Index extends CatchController $user = $auth->user(); - $this->afterLoginSuccess($user); + $this->afterLoginSuccess($user, $token); // 登录事件 $this->loginEvent($user->username); @@ -70,12 +70,16 @@ class Index extends CatchController * * @time 2020年09月09日 * @param $user + * @param $token * @return void */ - protected function afterLoginSuccess($user) + protected function afterLoginSuccess($user, $token) { $user->last_login_ip = request()->ip(); $user->last_login_time = time(); + if ($user->hasField('remember_token')) { + $user->remember_token = $token; + } $user->save(); } diff --git a/catch/permissions/database/migrations/20201123113823_add_user_remember_token.php b/catch/permissions/database/migrations/20201123113823_add_user_remember_token.php new file mode 100644 index 0000000..f654818 --- /dev/null +++ b/catch/permissions/database/migrations/20201123113823_add_user_remember_token.php @@ -0,0 +1,51 @@ +hasTable('users')) { + $table = $this->table('users'); + + $table->addColumn('remember_token', 'string', [ + 'limit' => 512, + 'default' => '', + 'comment' => '用户token', + 'after' => 'avatar']) + ->update(); + } + } +} diff --git a/catch/permissions/model/Users.php b/catch/permissions/model/Users.php index 4235388..ba20368 100644 --- a/catch/permissions/model/Users.php +++ b/catch/permissions/model/Users.php @@ -20,6 +20,7 @@ class Users extends CatchModel 'password', // 用户密码 'email', // 邮箱 登录 'avatar', // 头像 + 'remember_token', 'creator_id', // 创建者ID 'department_id', // 部门ID 'status', // 用户状态 1 正常 2 禁用 @@ -28,7 +29,6 @@ class Users extends CatchModel 'created_at', // 创建时间 'updated_at', // 更新时间 'deleted_at', // 删除状态,0未删除 >0 已删除 - ]; /** diff --git a/extend/catcher/base/CatchModel.php b/extend/catcher/base/CatchModel.php index 77626eb..9255c73 100644 --- a/extend/catcher/base/CatchModel.php +++ b/extend/catcher/base/CatchModel.php @@ -33,4 +33,16 @@ abstract class CatchModel extends \think\Model public const ENABLE = 1; // 禁用 public const DISABLE = 2; + + /** + * 是否有 field + * + * @time 2020年11月23日 + * @param string $field + * @return bool + */ + public function hasField(string $field) + { + return property_exists($this, 'field') ? in_array($field, $this->field) : false; + } }