'=', 'gender' => '=', ]; protected array $quickSearchField = ['username', 'nickname', 'mobile']; #[GetRoute(authorize: 'query')] public function query(Request $request): JsonResponse { $params = $request->all(); $pageSize = $params['pageSize'] ?? 10; $query = MemberUserModel::query(); $data = $this->buildSearch($params, $query) ->paginate($pageSize) ->toArray(); return $this->success($data); } #[PostRoute(authorize: 'create')] public function create(MemberUserFormRequest $request): JsonResponse { $validated = $request->validated(); $validated['password'] = Hash::make($validated['password']); MemberUserModel::create($validated); return $this->success(); } #[PutRoute( route: '/{id}', authorize: 'update', where: ['id' => '[0-9]+'] )] public function update(int $id, MemberUserFormRequest $request): JsonResponse { $validated = $request->validated(); $model = MemberUserModel::find($id); if (empty($model)) { return $this->error(); } if (!empty($validated['password'])) { $validated['password'] = Hash::make($validated['password']); } else { unset($validated['password']); } $model->update($validated); return $this->success(); } #[DeleteRoute( route: '/{id}', authorize: 'delete', where: ['id' => '[0-9]+'] )] public function delete(int $id): JsonResponse { $user = MemberUserModel::find($id); if (empty($user)) { return $this->error('用户不存在'); } $user->delete(); return $this->success(); } }