Files
WonderQ-Project/docs/module-config-api.md
duanshuwen 6245159e7c feat: 添加后台登录验证码、记住密码功能,优化媒体资源与前端规范
- 新增后台登录图形验证码功能,完善登录安全防护
- 新增登录rememberMe参数,控制Refresh Token的会话持久化策略
- 实现OSS私有桶媒体URL自动签名,统一处理图片资源的临时访问签名
- 新增素材库数据库表与上传API,规范媒体资源管理流程
- 统一前端UI图标使用@element-plus/icons-vue,重构布局图标组件
- 登录页新增验证码输入、刷新功能,添加账号记忆与记住密码逻辑
- 更新全套文档,补充API契约、技术决策记录与集成流程说明
- 修复多个业务页面的图标展示问题,新增认证流程相关测试用例
2026-08-27 07:50:59 +08:00

59 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 首页站点配置 API 契约
本文档约束 `WonderQ-Admin``WonderQ-Admin-UI-Vue` 对首页站点模块的维护。旧目的地主视觉、需求页主视觉、需求页特色卡片、需求表单、独立体验推荐、旧团队共创/极境视界页面和旧发布重置配置不再属于当前契约。
## 接口清单
除登录接口外,所有接口需要 `Authorization: Bearer <admin-jwt>`
| 方法 | 路径 | 说明 |
| --- | --- | --- |
| `GET` | `/api/admin/site-config` | 获取顶部轮播和万趣用车配置 |
| `POST` | `/api/admin/site-config/{module}` | 新增配置项,成功 `201` |
| `PATCH` | `/api/admin/site-config/{module}/{id}` | 更新配置项 |
| `DELETE` | `/api/admin/site-config/{module}/{id}` | 删除配置项 |
| `PATCH` | `/api/admin/site-config/{module}/reorder` | 按完整 ID 列表排序 |
| `GET` | `/api/admin/home/play-recommendations` | 获取首页玩法推荐 |
| `GET` | `/api/admin/home/team-buildings` | 获取首页团队共创 |
| `GET` | `/api/admin/home/wild-archives` | 获取首页极境视界 |
允许的站点 `module` 只有:`heroSlides``vehicleOptions`
首页工作台的五个业务区域为:顶部轮播、玩法推荐、万趣用车、团队共创、极境视界。后面四项使用各自首页内容接口或玩法领域接口维护,不再通过旧的单例站点模块承载。
## 响应约定
```json
{
"code": 200,
"msg": "success",
"data": {
"heroSlides": [],
"vehicleOptions": []
}
}
```
创建接口返回:
```json
{
"code": 201,
"msg": "success",
"data": {
"id": "module-item-001"
}
}
```
排序请求必须提交当前模块的完整 `itemIds`,不能重复;成功返回 `data: { "items": [] }`。删除成功返回 `data: { "id": "..." }`。参数错误、资源不存在和服务异常分别使用统一契约的 `400``404``500` 响应。
## 字段边界
- `GET /api/admin/site-config` 返回启用和停用的完整记录,前端负责显示状态。
- `sortOrder` 为从 `0` 开始的非负整数,后端负责重新规范化。
- 图片字段保存最终 HTTP(S) URL不接受 base64管理端上传组件通过媒体上传接口先取得 URL再提交配置。OSS 私有读场景下,接口响应会为 OSS 图片 URL 临时追加短时 GET 签名,供管理端和 Public API 回显;后端会在每次响应时重新签名,签名参数不应由客户端自行拼接或长期缓存。
- `POST /api/admin/media-assets/upload` 只创建素材库记录,不会自动修改 `heroSlides``vehicleOptions`。将图片用于首页配置时,必须把返回的 `data.url` 写入对应编辑表单,并继续提交对应的 `POST``PATCH /api/admin/site-config/{module}/{id}`;成功后才会在 `GET /api/admin/site-config` 中返回该图片。
- 首页玩法推荐、团队共创和极境视界保留独立的新增、编辑、删除、启停和排序能力,保存后由 Public API 直接提供给 MiniAPP。
- 旧需求页主视觉、特色卡片、需求表单、体验推荐、用车服务说明等表结构已由后续 Alembic 迁移删除,不能在新代码中重新声明或调用。