docs(api): document profile location field

This commit is contained in:
qingfeng 2026-04-11 15:07:41 +08:00
parent d98b9101e3
commit 71f9751604

View File

@ -349,6 +349,7 @@
| avatar | url | 头像URL |
| avatarStatus | string | 头像审核状态none/reviewing/approved/rejected |
| bio | string | 个人简介 |
| location | object/null | 地理位置 `{name, code}`;当前实现返回 `name``code` 为空 |
| gender | number | 性别1男 2女 3其他null未设置 |
| birthday | string | 生日YYYY-MM-DD |
| isCreator | boolean | 是否为创作者user.role=2 |
@ -367,9 +368,9 @@
| 项目 | 说明 |
|------|------|
| 接口路径 | PUT /client/api/v1/users/me |
| 接口用途 | 修改昵称、头像、简介等 |
| 接口用途 | 修改昵称、头像、简介、地理位置等 |
| 权限要求 | 需登录 |
| 涉及表 | user |
| 涉及表 | user, user_profile |
**接口逻辑:**
1. 从Token中解析 user_id
@ -378,9 +379,12 @@
- 查询 `user` 表 检查新用户名唯一性(读)
- 更新 `user` 表 的 username 和 username_changed_at更新
3. 如果修改 avatar
- 更新 `user` 表 的 profile.avatar_url 和 profile.avatar_status=1审核中更新
4. 其他字段nickname/bio/gender/birthday直接更新 `user` 表 的 profile 嵌套字段(更新)
5. 返回更新后的用户资料
- 更新 `user_profile.avatar_url``user_profile.avatar_status=1`(审核中)
4. 如果修改 `location`
- 校验 `location.name` 长度 ≤64、`location.code` 长度 ≤20
- 当前首版将 `location.name` 持久化到 `user_profile.city`
5. 其他字段nickname/bio/gender/birthday直接更新 `user_profile`
6. 返回更新后的用户资料
**请求参数Body**
@ -390,6 +394,9 @@
| nickname | string | 否 | 昵称2-20字符 |
| avatar | url | 否 | 头像URL先通过上传接口获取 |
| bio | string | 否 | 个人简介最多200字 |
| location | object | 否 | 地理位置 `{name, code}`,当前实现持久化 `name` |
| location.name | string | 否 | 地点显示名最长64字 |
| location.code | string | 否 | 地点编码最长20字 |
| gender | number | 否 | 性别1男 2女 3其他 |
| birthday | string | 否 | 生日YYYY-MM-DD |
@ -403,6 +410,7 @@
| avatar | url | 头像URL |
| avatarStatus | string | 头像审核状态 |
| bio | string | 个人简介 |
| location | object/null | 地理位置 `{name, code}`;当前实现返回 `name``code` 为空 |
| gender | number | 性别 |
| birthday | string | 生日 |