zhibo/缘池与许愿树管理端功能总结.md

321 lines
9.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.

# 缘池与许愿树管理端功能总结
> 更新日期2025-12-30
---
## 一、文件结构
### 1.1 前端文件
```
Zhibo/admin/src/
├── api/
│ ├── fatePool.js # 缘池API
│ └── wishTree.js # 许愿树API
├── router/modules/
│ ├── fatePool.js # 缘池路由
│ └── wishTree.js # 许愿树路由
└── views/
├── fatePool/ # 缘池页面
│ ├── topic/
│ │ ├── index.vue # 话题管理
│ │ └── post.vue # 话题发布详情
│ └── topicUser/
│ └── index.vue # 用户发布列表
└── wishTree/ # 许愿树页面
├── tree/
│ ├── index.vue # 许愿树列表
│ └── detail.vue # 许愿树留言详情
├── node/
│ └── index.vue # 节点管理
└── message/
└── index.vue # 用户留言列表
```
### 1.2 后端文件
```
Zhibo/zhibo-h/crmeb-admin/src/main/java/com/zbkj/admin/controller/
├── FatePoolTopicController.java # 缘池话题管理
├── FatePoolPostController.java # 缘池用户发布管理
├── WishTreeController.java # 许愿树管理
├── WishTreeNodeController.java # 许愿树节点管理
└── WishTreeMessageController.java # 许愿树留言管理
```
### 1.3 数据库表
```
eb_fate_pool_topic # 缘池话题表
eb_fate_pool_topic_post # 缘池用户发布表
eb_wish_tree # 许愿树表
eb_wish_tree_node # 许愿树节点表
eb_wish_tree_message # 许愿树留言表
```
---
## 二、缘池功能
### 2.1 话题管理
**页面路径:** `/fatePool/topic`
**页面文件:** `views/fatePool/topic/index.vue`
| 功能 | 说明 |
|-----|------|
| 话题列表 | 分页展示话题,显示封面、标题、描述、发布数 |
| 搜索 | 按标题模糊搜索、按状态筛选 |
| 新增话题 | 填写标题、描述、封面图URL、排序、状态 |
| 编辑话题 | 修改话题信息 |
| 删除话题 | 删除话题及其下所有发布信息 |
| 状态切换 | 启用/禁用话题 |
| 查看发布 | 跳转到该话题的用户发布列表 |
**接口列表:**
| 接口 | 方法 | 路径 | 说明 |
|-----|------|------|------|
| 话题列表 | GET | `/api/admin/fate/pool/topic/list` | 分页查询 |
| 话题详情 | GET | `/api/admin/fate/pool/topic/info/{id}` | 获取单个 |
| 新增话题 | POST | `/api/admin/fate/pool/topic/save` | 创建 |
| 更新话题 | POST | `/api/admin/fate/pool/topic/update` | 修改 |
| 删除话题 | POST | `/api/admin/fate/pool/topic/delete/{id}` | 删除 |
| 修改状态 | POST | `/api/admin/fate/pool/topic/status/{id}` | 切换状态 |
---
### 2.2 用户发布管理
**页面路径:** `/fatePool/topicUser`
**页面文件:** `views/fatePool/topicUser/index.vue`
| 功能 | 说明 |
|-----|------|
| 发布列表 | 分页展示用户发布信息 |
| 搜索 | 按话题筛选、按昵称搜索、按状态筛选 |
| 查看详情 | 弹窗展示完整内容和图片 |
| 删除发布 | 删除用户发布信息 |
| 状态切换 | 显示/隐藏发布信息 |
**接口列表:**
| 接口 | 方法 | 路径 | 说明 |
|-----|------|------|------|
| 发布列表 | GET | `/api/admin/fate/pool/post/list` | 分页查询 |
| 发布详情 | GET | `/api/admin/fate/pool/post/info/{id}` | 获取单个 |
| 删除发布 | POST | `/api/admin/fate/pool/post/delete/{id}` | 删除 |
| 修改状态 | POST | `/api/admin/fate/pool/post/status/{id}` | 切换状态 |
---
## 三、许愿树功能
### 3.1 许愿树管理
**页面路径:** `/wishTree/tree`
**页面文件:** `views/wishTree/tree/index.vue`
| 功能 | 说明 |
|-----|------|
| 许愿树列表 | 分页展示许愿树,显示封面、名称、节点数、留言数 |
| 搜索 | 按名称模糊搜索 |
| 新增许愿树 | 填写名称、描述、封面图、背景图、排序,可同时添加节点 |
| 编辑许愿树 | 修改许愿树信息和节点 |
| 删除许愿树 | 删除许愿树及其所有节点和留言 |
| 启用/停用 | 设置许愿树启用状态 |
| 查看留言 | 跳转到该许愿树的留言列表 |
**接口列表:**
| 接口 | 方法 | 路径 | 说明 |
|-----|------|------|------|
| 许愿树列表 | GET | `/api/admin/wish/tree/list` | 分页查询 |
| 许愿树详情 | GET | `/api/admin/wish/tree/info/{id}` | 获取详情(含节点) |
| 新增许愿树 | POST | `/api/admin/wish/tree/save` | 创建(含节点) |
| 更新许愿树 | POST | `/api/admin/wish/tree/update` | 修改(含节点) |
| 删除许愿树 | POST | `/api/admin/wish/tree/delete/{id}` | 删除 |
| 启用/停用 | POST | `/api/admin/wish/tree/activate/{id}` | 切换启用状态 |
---
### 3.2 节点管理
**页面路径:** `/wishTree/node`
**页面文件:** `views/wishTree/node/index.vue`
| 功能 | 说明 |
|-----|------|
| 节点列表 | 分页展示所有节点,显示所属许愿树、标题、开启时间、留言数 |
| 搜索 | 按许愿树筛选、按标题搜索、按状态筛选 |
| 新增节点 | 选择许愿树、填写标题、描述、图标、开启时间、排序 |
| 编辑节点 | 修改节点信息 |
| 删除节点 | 删除节点及其所有留言 |
| 状态切换 | 启用/禁用节点 |
**接口列表:**
| 接口 | 方法 | 路径 | 说明 |
|-----|------|------|------|
| 节点列表 | GET | `/api/admin/wish/tree/node/list` | 分页查询 |
| 节点详情 | GET | `/api/admin/wish/tree/node/info/{id}` | 获取单个 |
| 新增节点 | POST | `/api/admin/wish/tree/node/save` | 创建 |
| 更新节点 | POST | `/api/admin/wish/tree/node/update` | 修改 |
| 删除节点 | POST | `/api/admin/wish/tree/node/delete/{id}` | 删除 |
| 修改状态 | POST | `/api/admin/wish/tree/node/status/{id}` | 切换状态 |
---
### 3.3 用户留言管理
**页面路径:** `/wishTree/message`
**页面文件:** `views/wishTree/message/index.vue`
| 功能 | 说明 |
|-----|------|
| 留言列表 | 分页展示用户留言,显示节点、用户信息、内容、匿名状态 |
| 搜索 | 按许愿树/节点筛选、按昵称搜索、按状态筛选 |
| 查看详情 | 弹窗展示完整内容和图片 |
| 删除留言 | 删除用户留言 |
| 状态切换 | 显示/隐藏留言 |
**接口列表:**
| 接口 | 方法 | 路径 | 说明 |
|-----|------|------|------|
| 留言列表 | GET | `/api/admin/wish/tree/message/list` | 分页查询 |
| 留言详情 | GET | `/api/admin/wish/tree/message/info/{id}` | 获取单个 |
| 删除留言 | POST | `/api/admin/wish/tree/message/delete/{id}` | 删除 |
| 修改状态 | POST | `/api/admin/wish/tree/message/status/{id}` | 切换状态 |
---
## 四、接口参数说明
### 4.1 通用分页参数
| 参数 | 类型 | 必填 | 说明 |
|-----|------|------|------|
| page | Integer | 否 | 页码默认1 |
| limit | Integer | 否 | 每页数量默认10 |
### 4.2 缘池话题接口
**列表查询参数:**
```json
{
"page": 1,
"limit": 10,
"title": "关键词",
"status": 1
}
```
**新增/更新参数:**
```json
{
"id": 1,
"title": "话题标题",
"description": "话题描述",
"cover_image": "https://xxx.com/cover.jpg",
"sort": 100,
"status": 1
}
```
### 4.3 许愿树接口
**新增/更新参数(含节点):**
```json
{
"id": 1,
"name": "许愿树名称",
"description": "描述",
"cover_image": "https://xxx.com/cover.jpg",
"background_image": "https://xxx.com/bg.jpg",
"sort": 100,
"nodes": [
{
"title": "节点标题",
"description": "节点描述",
"icon": "https://xxx.com/icon.png",
"open_time": "2026-01-01 00:00:00",
"sort": 0
}
]
}
```
### 4.4 节点接口
**列表查询参数:**
```json
{
"page": 1,
"limit": 10,
"tree_id": 1,
"title": "关键词",
"status": 1
}
```
**新增/更新参数:**
```json
{
"id": 1,
"tree_id": 1,
"title": "节点标题",
"description": "节点描述",
"icon": "https://xxx.com/icon.png",
"open_time": "2026-01-01 00:00:00",
"sort": 0,
"status": 1
}
```
### 4.5 留言接口
**列表查询参数:**
```json
{
"page": 1,
"limit": 10,
"tree_id": 1,
"node_id": 1,
"nickname": "昵称",
"status": 1
}
```
---
## 五、菜单入口
管理后台左侧菜单:
```
├── 缘池
│ ├── 话题管理 /fatePool/topic
│ └── 用户发布 /fatePool/topicUser
└── 许愿树
├── 许愿树列表 /wishTree/tree
├── 留言节点 /wishTree/node
└── 用户留言 /wishTree/message
```
---
## 六、注意事项
1. **响应格式**:后端返回 `{code: 200, message: null, data: ...}`,前端 axios 拦截器会直接返回 `data` 部分
2. **图片字段**`images` 字段存储为 JSON 字符串,前端需要解析
3. **开启时间**:节点的 `open_time` 为空表示立即开启
4. **级联删除**
- 删除话题会同时删除该话题下所有发布信息
- 删除许愿树会同时删除所有节点和留言
- 删除节点会同时删除该节点下所有留言