refactor: 清理废弃模块并重构管理端与全端代码

- 移除所有废弃的旧首页配置模块,包括destinationHero、demand相关、HomeExperience、vehicleService等表结构与代码,新增数据库迁移删除遗留表
- 重构管理端后台布局为标准RuoYi风格,新增Sidebar、Navbar、SettingsDrawer等组件,替换旧的过渡菜单实现
- 调整移动端响应断点为768px,更新布局相关测试用例,新增布局组件测试
- 删除OperationsTools发布/重置页面,移除/tools菜单入口,清理对应的API调用与测试代码
- 重构玩法模块编辑器:替换旧的图片手动输入框为图片上传组件,移除冗余的取消按钮
- 新增线索查询offset参数支持,完善查询参数处理逻辑
- 优化rbac菜单构建逻辑,新增可见性控制参数
- 修正管家编辑器提示文案,优化系统资源编辑器表单初始化逻辑
- 清理小程序端废弃的体验推荐组件与相关测试代码
- 更新文档与种子脚本,匹配新的API契约与使用说明
This commit is contained in:
duanshuwen
2026-08-26 23:24:28 +08:00
parent f6c5ad589f
commit fbf2c772a8
63 changed files with 2272 additions and 1991 deletions

View File

@@ -1,6 +1,6 @@
# 页面模块配置 API 契约
# 首页站点配置 API 契约
本文档补充 `WonderQ-Admin` 和 `WonderQ-Admin-UI-Vue` 对站点页面模块的维护约定。接口路径保持现有实现不变,所有 JSON 响应遵循 [三端统一 API 响应契约](./api-response-contract.md)。
本文档约束 `WonderQ-Admin` 与 `WonderQ-Admin-UI-Vue` 对首页站点模块的维护。旧目的地主视觉、需求页主视觉、需求页特色卡片、需求表单、独立体验推荐、旧团队共创/极境视界页面和旧发布重置配置不再属于当前契约。
## 接口清单
@@ -8,30 +8,28 @@
| 方法 | 路径 | 说明 |
| --- | --- | --- |
| `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}` | 删除模块项 |
| `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`、`destinationHero`、`demandHero`、`demandFeatureCards`、`demandForm`、`vehicleOptions`、`vehicleService`。
允许的站点 `module` 只有:`heroSlides`、`vehicleOptions`。
首页工作台的五个业务区域为:顶部轮播、玩法推荐、万趣用车、团队共创、极境视界。后面四项使用各自首页内容接口或玩法领域接口维护,不再通过旧的单例站点模块承载。
## 响应约定
列表、详情、删除和排序的业务字段放在 `data` 内:
```json
{
"code": 200,
"msg": "success",
"data": {
"heroSlides": [],
"destinationHero": [],
"demandHero": [],
"demandFeatureCards": [],
"demandForm": [],
"vehicleOptions": [],
"vehicleService": []
"vehicleOptions": []
}
}
```
@@ -52,9 +50,8 @@
## 字段边界
- `GET` 返回启用和停用的完整记录,前端负责显示状态。
- `GET /api/admin/site-config` 返回启用和停用的完整记录,前端负责显示状态。
- `sortOrder` 为从 `0` 开始的非负整数,后端负责重新规范化。
- 图片字段保存最终 HTTP(S) URL,不接受 base64。
- `demandForm` 为单例模块,不执行无意义的排序。
- `vehicleService` 为单例用车服务配置,不支持排序;`serviceSections`、`processSteps` 使用 `{title, description}` 数组,`advantages` 使用字符串数组。
- 站点模块只负责站点配置;首页内容、玩法、详情、管家和客片案例使用各自领域文档。
- 图片字段保存最终 HTTP(S) URL,不接受 base64;管理端上传组件通过媒体上传接口先取得 URL,再提交配置。
- 首页玩法推荐、团队共创和极境视界保留独立的新增、编辑、删除、启停和排序能力,保存后由 Public API 直接提供给 MiniAPP。
- 旧需求页主视觉、特色卡片、需求表单、体验推荐、用车服务说明等表结构已由后续 Alembic 迁移删除,不能在新代码中重新声明或调用。