提示信息
# 用户头像返回方法整理
本文档记录了项目中所有返回用户头像 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"
}
```