← API | 列表 | avatar_methods
提示信息
# 用户头像返回方法整理

本文档记录了项目中所有返回用户头像 URL 的方法及其处理逻辑。所有方法均已统一调用 `App\Support\OssHandler::getAvatarUrl` 进行处理。

## 统一处理方法

**方法**: `App\Support\OssHandler::getAvatarUrl(string $object, string $size = 'df'): string`

- **逻辑**: 
    - 自动补全 OSS 域名。
    - 自动处理图片旋转 (`image/auto-orient,1`)。
    - **尺寸控制**:
        - `df` (默认): `m_fill,w_128,h_128/format,jpg` (128x128 填充)。
        - `xxl`: `m_lfit,w_750` (750 宽度等比缩放)。
    - **公开访问**: 头像资源为公开读写,不进行 CDN 签名处理。

---

## 涉及方法列表

### 1. 用户模块 (`UserService`)

| 方法 | 路径 | 描述 |
| :--- | :--- | :--- |
| `me` | `/user/profile/me` | 获取当前登录用户信息 (通过 `User::getUserMap`) |
| `getEditProfile` | `/user/profile/edit` | 获取编辑页个人资料 |
| `profileDetail` | `/user/profile/detail` | 获取他人主页详情 |

### 2. 认证模块 (`AuthService`)

| 方法 | 路径 | 描述 |
| :--- | :--- | :--- |
| `loginPhone` | `/auth/login/phone` | 手机号登录成功后返回的用户基础信息 |

### 3. 信号模块 (`SignalService` & `SignalReceive`)

用户在拉取信号、查看信号详情时,相关的头像已在以下逻辑中处理:

| 涉及类/方法 | 描述 |
| :--- | :--- |
| `App\Models\Signal\SignalReceive::formatList` | 格式化收取的记录列表,处理信号发布者和回复者的头像 |
| `SignalService::pull` | 调用 `formatList` 返回包含头像的列表 |

### 4. 聊天模块 (`ChatService`)

| 方法 | 描述 |
| :--- | :--- |
| `signContentUrls` | 对自定义消息内容中的 `avatar` 字段进行统一签名和处理 |

### 5. 模型层基础方法

| 方法 | 描述 |
| :--- | :--- |
| `App\Models\User\User::getUserMap` | 批量获取用户信息,统一处理 `avatar` 字段 |

---

## 响应示例

```json
{
    "avatar": "https://cdn.example.com/uploads/users/1/avatar.jpg?x-oss-process=image/auto-orient,1/resize,m_fill,w_128,h_128/format,jpg"
}
```