Browse Source

fixed:用户端-修改用户信息(头像)

刘学玺 4 months ago
parent
commit
8744c93247

+ 13 - 10
app/Http/Controllers/Client/UserController.php

@@ -83,7 +83,7 @@ class UserController extends Controller
      *   "code": 422,
      *   "message": "验证失败",
      *   "errors": {
-     *     "mobile": ["手机号格式不正确"],
+     *     "mobile": ["手机号���格式不正确"],
      *     "code": ["验证码错误"]
      *   }
      * }
@@ -106,13 +106,13 @@ class UserController extends Controller
     /**
      * [用户]修改用户信息
      *
-     * @description 修改当前登录用户的基本信息
+     * @description 修改当前登录用户的基本信息,包括昵称、头像和性别
      *
      * @authenticated
      *
      * @bodyParam nickname string optional 用户昵称 Example: 张三
      * @bodyParam avatar string optional 头像URL Example: https://example.com/avatar.jpg
-     * @bodyParam gender integer optional 性别(0:未知/1:男/2:女) Example: 0
+     * @bodyParam gender integer optional 性别(0:未知/1:男/2:女) Example: 1
      *
      * @response 200 {
      *   "code": 200,
@@ -121,14 +121,17 @@ class UserController extends Controller
      *     "id": 1,
      *     "nickname": "张三",
      *     "avatar": "https://example.com/avatar.jpg",
-     *     "gender": "male",
+     *     "gender": 1,
+     *     "gender_text": "男",
      *     "updated_at": "2024-03-20 10:00:00"
      *   }
      * }
-     * @response 401 {
-     *   "code": 401,
-     *   "message": "请先登录",
-     *   "data": null
+     * @response 422 {
+     *   "code": 422,
+     *   "message": "验证失败",
+     *   "errors": {
+     *     "avatar": ["头像必须是有效的URL地址"]
+     *   }
      * }
      */
     public function update(UpdateRequest $request)
@@ -143,7 +146,7 @@ class UserController extends Controller
     /**
      * [用户]用户反馈
      *
-     * @description 提交用户���馈信息
+     * @description 提交用户馈信息
      *
      * @authenticated
      *
@@ -183,7 +186,7 @@ class UserController extends Controller
     /**
      * [用户]申请成为技师
      *
-     * @description 普通用户申请成为平台技师,提交技师申��信息
+     * @description 普通用户申请成为平台技师,提交技师申信息
      *
      * @authenticated
      *

+ 3 - 0
app/Http/Requests/Client/User/UpdateRequest.php

@@ -16,6 +16,7 @@ class UpdateRequest extends FormRequest
         return [
             'nickname' => 'nullable|string|max:50',
             'gender' => 'nullable|integer|in:0,1,2',
+            'avatar' => 'nullable|string|url|max:255',
         ];
     }
 
@@ -25,6 +26,8 @@ class UpdateRequest extends FormRequest
             'nickname.max' => '昵称不能超过50个字符',
             'gender.integer' => '性别必须是整数',
             'gender.in' => '性别只能是0(未知)、1(男)或2(女)',
+            // 'avatar.url' => '头像必须是有效的URL地址',
+            'avatar.max' => '头像URL不能超过255个字符',
         ];
     }
 }

+ 14 - 0
app/Http/Resources/Client/UserResource.php

@@ -20,6 +20,7 @@ class UserResource extends JsonResource
             'nickname' => $this->nickname,
             'avatar' => $this->avatar,
             'gender' => $this->gender,
+            'gender_text' => $this->getGenderText(),
             'created_at' => $this->created_at,
             'updated_at' => $this->updated_at,
             // 技师相关信息
@@ -41,4 +42,17 @@ class UserResource extends JsonResource
             }),
         ];
     }
+
+    /**
+     * 获取性别文本
+     */
+    private function getGenderText(): string
+    {
+        return match ($this->gender) {
+            0 => '未知',
+            1 => '男',
+            2 => '女',
+            default => '未知',
+        };
+    }
 }