超腾开源平台工作模块
工作模块提供消息通知和工作计划管理功能,支持通知的创建、标记已读、批量操作,以及工作计划的创建、状态更新等功能。
目录
消息通知
消息通知模块提供通知的创建、查询、标记已读等功能。
获取通知详情
接口地址: GET /api/work/notifications/detail
需要认证: 是
请求参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | int | 是 | 通知 ID |
响应示例:
{
"success": true,
"code": 200,
"msg": "操作成功",
"data": {
"id": 1,
"title": "系统通知",
"content": "这是一条系统通知",
"type": "system",
"user_id": "1",
"sender_id": "0",
"is_read": false,
"status": "active",
"priority": "normal",
"read_time": null,
"create_time": "2026-01-01T00:00:00Z"
}
}
获取通知列表
获取通知列表,支持多条件筛选。
接口地址: GET /api/work/notifications/list
需要认证: 是
请求参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| title | string | 否 | 通知标题 |
| type | string | 否 | 通知类型(system/message/task) |
| user_id | string | 否 | 接收用户 ID |
| sender_id | string | 否 | 发送者 ID |
| is_read | boolean | 否 | 是否已读 |
| status | string | 否 | 状态 |
| priority | string | 否 | 优先级(high/normal/low) |
| order | string | 否 | 排序字段 |
响应示例:
{
"success": true,
"code": 200,
"msg": "操作成功",
"data": [
{
"id": 1,
"title": "系统通知",
"content": "这是一条系统通知",
"type": "system",
"is_read": false
}
]
}
获取通知分页
获取通知分页数据。
接口地址: GET /api/work/notifications/page
需要认证: 是
请求参数:
| 参数 | 类型 | 必填 | 说明 | 默认值 |
|---|---|---|---|---|
| page | int | 否 | 页码 | 1 |
| page_size | int | 否 | 每页条数 | 10 |
| title | string | 否 | 通知标题 | - |
| type | string | 否 | 通知类型 | - |
| user_id | string | 否 | 接收用户 ID | - |
| sender_id | string | 否 | 发送者 ID | - |
| is_read | boolean | 否 | 是否已读 | - |
| status | string | 否 | 状态 | - |
| priority | string | 否 | 优先级 | - |
| order | string | 否 | 排序字段 | - |
响应示例:
{
"success": true,
"code": 200,
"msg": "操作成功",
"data": {
"total": 100,
"size": 10,
"pages": 10,
"current": 1,
"records": [
{
"id": 1,
"title": "系统通知",
"type": "system"
}
],
"orders": []
}
}
创建通知
创建新的通知。
接口地址: POST /api/work/notifications/create
需要认证: 是
请求体:
{
"title": "任务通知",
"content": "您有一个新任务需要处理",
"type": "task",
"user_id": "1",
"sender_id": "2",
"priority": "high"
}
请求字段说明:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| title | string | 是 | 通知标题 |
| content | string | 是 | 通知内容 |
| type | string | 是 | 通知类型(system/message/task) |
| user_id | string | 是 | 接收用户 ID |
| sender_id | string | 否 | 发送者 ID |
| priority | string | 否 | 优先级(high/normal/low) |
响应示例:
{
"success": true,
"code": 200,
"msg": "创建成功",
"data": {
"id": 1,
"title": "任务通知",
"content": "您有一个新任务需要处理",
"type": "task",
"is_read": false,
"create_time": "2026-01-01T00:00:00Z"
}
}
更新通知
更新通知信息。
接口地址: POST /api/work/notifications/update
需要认证: 是
请求体: 同创建通知,需包含 id 字段。
删除通知
删除通知。
接口地址: POST /api/work/notifications/delete
需要认证: 是
请求参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | int | 是 | 通知 ID |
标记通知为已读
将指定通知标记为已读。
接口地址: POST /api/work/notifications/mark-read
需要认证: 是
请求参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | int | 是 | 通知 ID |
响应示例:
{
"success": true,
"code": 200,
"msg": "标记成功",
"data": {
"id": 1,
"title": "任务通知",
"is_read": true,
"read_time": "2026-01-01T00:00:00Z"
}
}
批量标记通知为已读
批量将多个通知标记为已读。
接口地址: POST /api/work/notifications/mark-batch-read
需要认证: 是
请求体:
{
"ids": [1, 2, 3, 4, 5]
}
请求字段说明:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ids | int[] | 是 | 通知 ID 列表 |
响应示例:
{
"success": true,
"code": 200,
"msg": "批量标记成功",
"data": [
{
"id": 1,
"is_read": true,
"read_time": "2026-01-01T00:00:00Z"
},
{
"id": 2,
"is_read": true,
"read_time": "2026-01-01T00:00:00Z"
}
]
}
获取通知数量统计
获取当前用户的通知数量统计。
接口地址: GET /api/work/notifications/count
需要认证: 是
响应示例:
{
"success": true,
"code": 200,
"msg": "操作成功",
"data": {
"total": 100,
"unread": 20,
"system": 30,
"message": 40,
"task": 30,
"high_priority": 5
}
}
工作计划
工作计划模块提供计划的创建、更新、状态管理等功能。
获取工作计划详情
接口地址: GET /api/work/work-plans/detail
需要认证: 是
请求参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | int | 是 | 计划 ID |
响应示例:
{
"success": true,
"code": 200,
"msg": "操作成功",
"data": {
"id": 1,
"name": "Q1开发计划",
"description": "第一季度开发工作计划",
"plan_type": "quarterly",
"status": "in_progress",
"creator_id": "1",
"start_date": "2026-01-01",
"end_date": "2026-03-31",
"progress": 60,
"create_time": "2026-01-01T00:00:00Z",
"update_time": "2026-01-15T00:00:00Z"
}
}
获取工作计划列表
获取工作计划列表,支持多条件筛选。
接口地址: GET /api/work/work-plans/list
需要认证: 是
请求参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 否 | 计划名称 |
| plan_type | string | 否 | 计划类型(daily/weekly/monthly/quarterly/yearly) |
| status | string | 否 | 计划状态(draft/in_progress/completed/cancelled) |
| creator_id | string | 否 | 创建人 ID |
| start_date | datetime | 否 | 开始日期 |
| end_date | datetime | 否 | 结束日期 |
| order | string | 否 | 排序字段 |
响应示例:
{
"success": true,
"code": 200,
"msg": "操作成功",
"data": [
{
"id": 1,
"name": "Q1开发计划",
"plan_type": "quarterly",
"status": "in_progress",
"progress": 60
}
]
}
获取工作计划分页
获取工作计划分页数据。
接口地址: GET /api/work/work-plans/page
需要认证: 是
请求参数:
| 参数 | 类型 | 必填 | 说明 | 默认值 |
|---|---|---|---|---|
| page | int | 否 | 页码 | 1 |
| page_size | int | 否 | 每页条数 | 10 |
| name | string | 否 | 计划名称 | - |
| plan_type | string | 否 | 计划类型 | - |
| status | string | 否 | 计划状态 | - |
| creator_id | string | 否 | 创建人 ID | - |
| start_date | datetime | 否 | 开始日期 | - |
| end_date | datetime | 否 | 结束日期 | - |
| order | string | 否 | 排序字段 | - |
创建工作计划
创建新的工作计划。
接口地址: POST /api/work/work-plans/create
需要认证: 是
请求体:
{
"name": "Q2开发计划",
"description": "第二季度开发工作计划",
"plan_type": "quarterly",
"start_date": "2026-04-01",
"end_date": "2026-06-30"
}
请求字段说明:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 计划名称 |
| description | string | 否 | 计划描述 |
| plan_type | string | 是 | 计划类型(daily/weekly/monthly/quarterly/yearly) |
| start_date | date | 是 | 开始日期 |
| end_date | date | 是 | 结束日期 |
响应示例:
{
"success": true,
"code": 200,
"msg": "创建成功",
"data": {
"id": 2,
"name": "Q2开发计划",
"plan_type": "quarterly",
"status": "draft",
"progress": 0,
"create_time": "2026-01-01T00:00:00Z"
}
}
更新工作计划
更新工作计划信息。
接口地址: POST /api/work/work-plans/update
需要认证: 是
请求体: 同创建工作计划,需包含 id 字段。
删除工作计划
删除工作计划。
接口地址: POST /api/work/work-plans/delete
需要认证: 是
请求参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | int | 是 | 计划 ID |
更新计划状态
更新工作计划的状态。
接口地址: POST /api/work/work-plans/update-status
需要认证: 是
请求体:
{
"id": 1,
"status": "completed"
}
请求字段说明:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | int | 是 | 计划 ID |
| status | string | 是 | 计划状态(draft/in_progress/completed/cancelled) |
响应示例:
{
"success": true,
"code": 200,
"msg": "状态更新成功",
"data": {
"id": 1,
"name": "Q1开发计划",
"status": "completed",
"progress": 100,
"update_time": "2026-01-01T00:00:00Z"
}
}
根据类型获取计划列表
根据计划类型获取计划列表。
接口地址: GET /api/work/work-plans/by-type/{plan_type}
需要认证: 是
路径参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| plan_type | string | 是 | 计划类型(daily/weekly/monthly/quarterly/yearly) |
请求参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| status | string | 否 | 计划状态 |
| creator_id | string | 否 | 创建人 ID |
响应示例:
{
"success": true,
"code": 200,
"msg": "操作成功",
"data": [
{
"id": 1,
"name": "Q1开发计划",
"plan_type": "quarterly",
"status": "in_progress",
"progress": 60
},
{
"id": 2,
"name": "Q2开发计划",
"plan_type": "quarterly",
"status": "draft",
"progress": 0
}
]
}
枚举类型说明
通知类型 (NotificationType)
| 值 | 说明 |
|---|---|
| system | 系统通知 |
| message | 消息通知 |
| task | 任务通知 |
通知状态 (NotificationStatus)
| 值 | 说明 |
|---|---|
| active | 激活 |
| inactive | 未激活 |
| deleted | 已删除 |
通知优先级 (NotificationPriority)
| 值 | 说明 |
|---|---|
| high | 高优先级 |
| normal | 普通优先级 |
| low | 低优先级 |
计划类型 (PlanType)
| 值 | 说明 |
|---|---|
| daily | 日计划 |
| weekly | 周计划 |
| monthly | 月计划 |
| quarterly | 季度计划 |
| yearly | 年计划 |
计划状态 (PlanStatus)
| 值 | 说明 |
|---|---|
| draft | 草稿 |
| in_progress | 进行中 |
| completed | 已完成 |
| cancelled | 已取消 |
使用示例
Python 示例
import requests
base_url = 'http://localhost:8000/api/work'
token = 'your_access_token'
headers = {'Authorization': f'Bearer {token}'}
# 获取通知列表
response = requests.get(
f'{base_url}/notifications/list',
headers=headers,
params={'is_read': False}
)
print(response.json())
# 创建工作计划
response = requests.post(
f'{base_url}/work-plans/create',
headers=headers,
json={
'name': 'Q2开发计划',
'plan_type': 'quarterly',
'start_date': '2026-04-01',
'end_date': '2026-06-30'
}
)
print(response.json())
# 标记通知为已读
response = requests.post(
f'{base_url}/notifications/mark-read',
headers=headers,
params={'id': 1}
)
print(response.json())
JavaScript 示例
// 获取通知列表
async function getNotifications(token) {
const response = await fetch(
"http://localhost:8000/api/work/notifications/list?is_read=false",
{
headers: { Authorization: `Bearer ${token}` },
}
);
return await response.json();
}
// 创建工作计划
async function createWorkPlan(token, planData) {
const response = await fetch(
"http://localhost:8000/api/work/work-plans/create",
{
method: "POST",
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
body: JSON.stringify(planData),
}
);
return await response.json();
}
// 批量标记通知为已读
async function markNotificationsAsRead(token, ids) {
const response = await fetch(
"http://localhost:8000/api/work/notifications/mark-batch-read",
{
method: "POST",
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ ids }),
}
);
return await response.json();
}
注意事项
- 权限控制: 通知只能被接收用户查看,工作计划只能被创建人或相关用户查看。
- 批量操作: 批量标记已读时,确保所有通知都属于当前用户。
- 计划状态更新: 计划状态从草稿到进行中、到完成的流转需要符合业务逻辑。
- 日期处理: 所有日期字段使用 ISO 8601 格式(YYYY-MM-DD)。
- 进度管理: 计划进度应手动或根据任务完成情况自动更新。
相关文档
推荐阅读
评论 (0)
发表评论
暂无评论,快来发表第一条评论吧!