更新 RefundManagement.vue 组件,优化链接编号输入提示,新增输入格式说明,支持从URL提取链接编号,提升用户体验。
This commit is contained in:
318
docs/公告管理使用说明.md
318
docs/公告管理使用说明.md
@@ -1,117 +1,259 @@
|
||||
# 公告管理使用说明
|
||||
基础信息
|
||||
|
||||
## 功能概述
|
||||
- 基础路径: /api/admin/announcement
|
||||
- 认证方式: JWT Token(必须在Header中添加:Authorization: Bearer <token>)
|
||||
- 内容类型: application/json
|
||||
|
||||
公告管理模块提供了完整的公告信息管理功能,包括公告的创建、编辑、删除、启用/禁用等操作。
|
||||
---
|
||||
1. 创建公告
|
||||
|
||||
## 功能特性
|
||||
POST /api/admin/announcement
|
||||
|
||||
- ✅ 公告列表查看(支持分页)
|
||||
- ✅ 按标题/内容关键词搜索
|
||||
- ✅ 按启用状态筛选
|
||||
- ✅ 创建新公告
|
||||
- ✅ 编辑现有公告
|
||||
- ✅ 删除公告
|
||||
- ✅ 一键启用/禁用公告
|
||||
- ✅ 支持跳转链接设置
|
||||
- ✅ 权限控制(管理员和代理商不同权限)
|
||||
请求头
|
||||
|
||||
## 权限说明
|
||||
Authorization: Bearer <JWT_TOKEN>
|
||||
Content-Type: application/json
|
||||
|
||||
### 管理员权限
|
||||
- 查看公告列表
|
||||
- 创建新公告
|
||||
- 编辑现有公告
|
||||
- 删除公告
|
||||
- 启用/禁用公告
|
||||
请求参数
|
||||
|
||||
### 代理商权限
|
||||
- 查看公告列表(只读)
|
||||
{
|
||||
"title": "string", // 必填 - 公告标题,最大长度100字符
|
||||
"content": "string", // 必填 - 公告内容
|
||||
"enabled": boolean, // 必填 - 是否启用
|
||||
"jumpUrl": "string" // 可选 - 跳转链接
|
||||
}
|
||||
|
||||
## 使用步骤
|
||||
注意: belongId 字段已从请求参数中移除,系统会自动从JWT token中解析当前用户ID并设置为 belongId
|
||||
|
||||
### 1. 访问公告管理
|
||||
- 登录管理后台
|
||||
- 在左侧导航菜单中点击"公告管理"
|
||||
请求示例
|
||||
|
||||
### 2. 查看公告列表
|
||||
- 公告列表显示所有公告信息
|
||||
- 支持按关键词搜索(标题或内容)
|
||||
- 支持按启用状态筛选
|
||||
- 支持分页浏览
|
||||
{
|
||||
"title": "系统维护通知",
|
||||
"content": "系统将于今晚22:00-24:00进行维护升级,请提前保存工作内容",
|
||||
"enabled": true,
|
||||
"jumpUrl": "https://example.com/maintenance"
|
||||
}
|
||||
|
||||
### 3. 创建新公告
|
||||
1. 点击"新增公告"按钮
|
||||
2. 填写公告信息:
|
||||
- **标题**:必填,公告标题
|
||||
- **内容**:必填,公告详细内容
|
||||
- **跳转链接**:可选,点击公告后跳转的URL
|
||||
- **状态**:选择是否启用
|
||||
3. 点击"保存"完成创建
|
||||
响应结果
|
||||
|
||||
### 4. 编辑公告
|
||||
1. 在公告列表中找到要编辑的公告
|
||||
2. 点击"编辑"按钮
|
||||
3. 修改公告信息
|
||||
4. 点击"保存"完成修改
|
||||
{
|
||||
"success": true,
|
||||
"message": "公告创建成功",
|
||||
"id": 1
|
||||
}
|
||||
|
||||
### 5. 删除公告
|
||||
1. 在公告列表中找到要删除的公告
|
||||
2. 点击"删除"按钮
|
||||
3. 确认删除操作
|
||||
错误响应
|
||||
|
||||
### 6. 启用/禁用公告
|
||||
- 在公告列表中,直接点击状态开关即可快速启用或禁用公告
|
||||
- 只有启用的公告才会对用户可见
|
||||
{
|
||||
"success": false,
|
||||
"message": "用户未认证"
|
||||
}
|
||||
|
||||
## 字段说明
|
||||
---
|
||||
2. 获取公告列表(分页)
|
||||
|
||||
| 字段 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| 标题 | 文本 | 是 | 公告标题,用于列表显示 |
|
||||
| 内容 | 文本 | 是 | 公告详细内容 |
|
||||
| 跳转链接 | URL | 否 | 点击公告后跳转的链接地址 |
|
||||
| 状态 | 布尔 | 是 | 是否启用,只有启用的公告用户才能看到 |
|
||||
GET /api/admin/announcement/list
|
||||
|
||||
## 注意事项
|
||||
查询参数
|
||||
|
||||
1. **权限控制**:只有具备相应权限的用户才能进行相应操作
|
||||
2. **数据验证**:标题和内容为必填字段
|
||||
3. **URL验证**:跳转链接必须是有效的URL格式(以http://或https://开头)
|
||||
4. **状态控制**:只有启用的公告才会在前端显示给用户
|
||||
5. **操作记录**:所有操作都会记录创建时间和更新时间
|
||||
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|
||||
|----------|---------|-----|-----|---------|
|
||||
| page | integer | 否 | 1 | 页码 |
|
||||
| size | integer | 否 | 20 | 每页大小 |
|
||||
| enabled | boolean | 否 | - | 按启用状态筛选 |
|
||||
| belongId | integer | 否 | - | 按归属ID筛选 |
|
||||
|
||||
## API接口
|
||||
请求示例
|
||||
|
||||
公告管理使用以下API接口:
|
||||
GET /api/admin/announcement/list?page=1&size=10&enabled=true&belongId=123
|
||||
|
||||
- `GET /api/admin/announcement/list` - 获取公告列表
|
||||
- `POST /api/admin/announcement` - 创建公告
|
||||
- `PUT /api/admin/announcement/{id}` - 更新公告
|
||||
- `DELETE /api/admin/announcement/{id}` - 删除公告
|
||||
- `PUT /api/admin/announcement/{id}/enabled` - 更新启用状态
|
||||
- `GET /api/admin/announcement/enabled` - 获取启用的公告
|
||||
响应结果
|
||||
|
||||
详细的API文档请参考项目根目录的接口文档。
|
||||
{
|
||||
"items": [
|
||||
{
|
||||
"id": 1,
|
||||
"title": "系统维护通知",
|
||||
"content": "系统将于今晚22:00-24:00进行维护升级",
|
||||
"enabled": true,
|
||||
"jumpUrl": "https://example.com/maintenance",
|
||||
"belongId": 123,
|
||||
"createdAt": "2025-08-29T10:30:00",
|
||||
"updatedAt": "2025-08-29T10:30:00"
|
||||
}
|
||||
],
|
||||
"total": 1,
|
||||
"page": 1,
|
||||
"size": 10
|
||||
}
|
||||
|
||||
## 故障排除
|
||||
---
|
||||
3. 获取公告详情
|
||||
|
||||
### 常见问题
|
||||
GET /api/admin/announcement/{id}
|
||||
|
||||
1. **无法访问公告管理页面**
|
||||
- 检查用户是否有相应权限
|
||||
- 确认已正确登录
|
||||
路径参数
|
||||
|
||||
2. **创建公告失败**
|
||||
- 检查标题和内容是否已填写
|
||||
- 检查跳转链接格式是否正确
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|-----|------|-----|------|
|
||||
| id | long | 是 | 公告ID |
|
||||
|
||||
3. **状态切换失败**
|
||||
- 检查网络连接
|
||||
- 确认用户有编辑权限
|
||||
请求示例
|
||||
|
||||
4. **搜索无结果**
|
||||
- 检查搜索关键词是否正确
|
||||
- 尝试重置搜索条件
|
||||
GET /api/admin/announcement/1
|
||||
|
||||
如有其他问题,请联系系统管理员。
|
||||
响应结果
|
||||
|
||||
{
|
||||
"id": 1,
|
||||
"title": "系统维护通知",
|
||||
"content": "系统将于今晚22:00-24:00进行维护升级,请提前保存工作内容",
|
||||
"enabled": true,
|
||||
"jumpUrl": "https://example.com/maintenance",
|
||||
"belongId": 123,
|
||||
"createdAt": "2025-08-29T10:30:00",
|
||||
"updatedAt": "2025-08-29T10:30:00"
|
||||
}
|
||||
|
||||
---
|
||||
4. 更新公告
|
||||
|
||||
PUT /api/admin/announcement/{id}
|
||||
|
||||
请求头
|
||||
|
||||
Authorization: Bearer <JWT_TOKEN>
|
||||
Content-Type: application/json
|
||||
|
||||
路径参数
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|-----|------|-----|------|
|
||||
| id | long | 是 | 公告ID |
|
||||
|
||||
请求参数
|
||||
|
||||
{
|
||||
"title": "string", // 可选 - 公告标题
|
||||
"content": "string", // 可选 - 公告内容
|
||||
"enabled": boolean, // 可选 - 是否启用
|
||||
"jumpUrl": "string" // 可选 - 跳转链接
|
||||
}
|
||||
|
||||
注意: 更新时 belongId 会自动从JWT token中获取并更新
|
||||
|
||||
请求示例
|
||||
|
||||
{
|
||||
"title": "系统维护通知(更新)",
|
||||
"content": "系统维护时间调整为23:00-01:00",
|
||||
"enabled": true
|
||||
}
|
||||
|
||||
响应结果
|
||||
|
||||
{
|
||||
"success": true,
|
||||
"message": "公告更新成功"
|
||||
}
|
||||
|
||||
---
|
||||
5. 删除公告
|
||||
|
||||
DELETE /api/admin/announcement/{id}
|
||||
|
||||
路径参数
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|-----|------|-----|------|
|
||||
| id | long | 是 | 公告ID |
|
||||
|
||||
请求示例
|
||||
|
||||
DELETE /api/admin/announcement/1
|
||||
|
||||
响应结果
|
||||
|
||||
{
|
||||
"success": true,
|
||||
"message": "公告删除成功"
|
||||
}
|
||||
|
||||
---
|
||||
6. 更新公告启用状态
|
||||
|
||||
PUT /api/admin/announcement/{id}/enabled
|
||||
|
||||
路径参数
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|-----|------|-----|------|
|
||||
| id | long | 是 | 公告ID |
|
||||
|
||||
查询参数
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|---------|---------|-----|------|
|
||||
| enabled | boolean | 是 | 启用状态 |
|
||||
|
||||
请求示例
|
||||
|
||||
PUT /api/admin/announcement/1/enabled?enabled=false
|
||||
|
||||
响应结果
|
||||
|
||||
{
|
||||
"success": true,
|
||||
"message": "公告已禁用"
|
||||
}
|
||||
|
||||
---
|
||||
7. 获取启用的公告
|
||||
|
||||
GET /api/admin/announcement/enabled
|
||||
|
||||
查询参数
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|----------|---------|-----|---------|
|
||||
| belongId | integer | 否 | 按归属ID筛选 |
|
||||
|
||||
请求示例
|
||||
|
||||
GET /api/admin/announcement/enabled?belongId=123
|
||||
|
||||
响应结果
|
||||
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"title": "系统维护通知",
|
||||
"content": "系统将于今晚22:00-24:00进行维护升级",
|
||||
"enabled": true,
|
||||
"jumpUrl": "https://example.com/maintenance",
|
||||
"belongId": 123,
|
||||
"createdAt": "2025-08-29T10:30:00",
|
||||
"updatedAt": "2025-08-29T10:30:00"
|
||||
}
|
||||
]
|
||||
|
||||
---
|
||||
主要变更说明
|
||||
|
||||
🔒 安全改进
|
||||
|
||||
- 自动用户识别: 创建和更新公告时,系统自动从JWT token中解析当前用户ID
|
||||
- 防止伪造: 前端无法伪造 belongId,确保公告只能归属于当前登录用户
|
||||
|
||||
📝 请求参数变更
|
||||
|
||||
- 移除: 创建和更新公告的请求中不再需要传递 belongId 参数
|
||||
- 简化: 前端调用更加简洁,无需关心用户ID的传递
|
||||
|
||||
🎯 使用场景
|
||||
|
||||
1. 管理员: 创建的公告 belongId 为管理员用户ID
|
||||
2. 代理商: 创建的公告 belongId 为代理商用户ID
|
||||
3. 权限隔离: 通过 belongId 实现不同角色的公告隔离
|
||||
|
||||
这样的设计既保证了安全性,又提供了灵活的公告管理能力!
|
||||
Reference in New Issue
Block a user