// +---------------------------------------------------------------------- namespace plugin\saiadmin\app\controller\system; use plugin\saiadmin\app\model\system\SystemUser; use plugin\saiadmin\app\validate\system\RegisterValidate; use plugin\saiadmin\basic\OpenController; use support\Request; use support\Response; /** * 匿名用户注册 * * 不挂 #[Permission] 注解,免登录可访问。 * 新注册用户默认 is_super=0、status=1,不分配任何角色/部门, * 后续由超级管理员通过后台「用户管理」分配。 */ class RegisterController extends OpenController { public function __construct() { $this->validate = new RegisterValidate(); } /** * 注册新用户 * @param Request $request * @return Response */ public function register(Request $request): Response { $data = $request->post(); if (!$this->validate('register', $data)) { return $this->fail($this->validate->getError()); } $exists = SystemUser::where('username', $data['username'])->find(); if ($exists) { return $this->fail('该用户名已被占用'); } $user = SystemUser::create([ 'username' => $data['username'], 'password' => password_hash($data['password'], PASSWORD_DEFAULT), 'status' => 1, 'is_super' => 0, 'dashboard' => 'work', 'remark' => '匿名注册', 'create_time' => date('Y-m-d H:i:s'), 'update_time' => date('Y-m-d H:i:s'), ]); if (!$user) { return $this->fail('注册失败,请稍后重试'); } return $this->success('注册成功'); } }