get([ 'username', 'status', 'page/d' => 1, 'size/d' => 10 ]); $users = SysUserModel::withoutField([ 'password', 'salt', 'created_at', 'updated_at', 'deleted_at' ]) ->with(['role' => function($query) { $query->field(['id', 'name' => 'role_name']); }]) ->withSearch(['username'], [ 'username' => $params['username']??null, ]) ->status($params['status']??null) ->order('id', 'desc') ->paginate([ 'list_rows' => $params['size'], 'page' => $params['page'], ]) ->bindAttr('role', ['role_name']) ->hidden(['role_id', 'role']); return success('获取成功', $users); } // 用户详情 public function read($id) { $id = request()->param('id'); $user = SysUserModel::withoutField([ 'password', 'salt', 'created_at', 'updated_at', 'deleted_at', ]) ->bypk($id) ->find(); if (empty($user)) { return error('用户不存在'); } return success('获取成功', $user); } // 用户新增 public function save() { $post = request()->post([ 'username', 'password', 'repassword', 'nickname', 'avatar', 'mobile', 'email', 'role_id', 'status' => 1, ]); $post = array_merge($post, ['salt' => random_str(16)]); $validate = new SysUserValidate; if (!$validate->scene('create')->check($post)) { return error($validate->getError()); } $post['password'] = password_with_salt($post['password'], $post['salt']); unset($post['repassword']); $user = SysUserModel::create($post); if ($user->isEmpty()) { return error('新增失败'); } return success('新增成功'); } // 用户更新 public function update() { $id = request()->param('id'); $put = request()->put([ 'username', 'password', 'repassword', 'nickname', 'avatar', 'mobile', 'email', 'role_id', 'status' => 1, ]); $data = array_merge($put, ['id' => $id, 'salt' => random_str(16)]); $validate = new SysUserValidate; if (!$validate->check($data)) { return error($validate->getError()); } $user = SysUserModel::bypk($id)->find(); if (empty($user)) { return error('请确认要操作的对象是否存在'); } if (!empty($data['password'])) { $data['password'] = password_with_salt($data['password'], $data['salt']); } else { unset($data['password']); } unset($data['repassword']); if (!$user->save($data)) { return error('操作失败'); } return success('操作成功'); } // 用户删除 public function delete() { $id = request()->param('id'); $user = SysUserModel::bypk($id)->find(); if (empty($user)) { return error('请确认要操作的对象是否存在'); } if (!$user->delete()) { return error('操作失败'); } return success('操作成功'); } }