209 lines
4.2 KiB
Plaintext
209 lines
4.2 KiB
Plaintext
|
老年活动模块接口文档
|
|||
|
=================
|
|||
|
|
|||
|
基础信息
|
|||
|
-------
|
|||
|
- 基础路径: /api/v1/activities
|
|||
|
- 请求方式: REST
|
|||
|
- 数据格式: JSON
|
|||
|
- 认证方式: Bearer Token
|
|||
|
|
|||
|
数据结构
|
|||
|
-------
|
|||
|
|
|||
|
Activity 活动对象:
|
|||
|
{
|
|||
|
id: number, // 活动ID
|
|||
|
title: string, // 活动标题
|
|||
|
description: string, // 活动描述
|
|||
|
time: string, // 活动时间
|
|||
|
location: string, // 活动地点
|
|||
|
category: string, // 活动分类
|
|||
|
capacity: number, // 活动容量
|
|||
|
participants: number,// 参与人数
|
|||
|
status: string, // 活动状态(upcoming/ongoing/ended)
|
|||
|
organizer: { // 组织者信息
|
|||
|
id: number,
|
|||
|
name: string,
|
|||
|
avatar: string,
|
|||
|
phone: string
|
|||
|
},
|
|||
|
cover: string, // 封面图片
|
|||
|
tags: string[], // 活动标签
|
|||
|
price: number, // 活动费用
|
|||
|
requirements?: string[] // 参与要求
|
|||
|
}
|
|||
|
|
|||
|
API 接口
|
|||
|
-------
|
|||
|
|
|||
|
1. 获取活动列表
|
|||
|
GET /api/v1/activities
|
|||
|
|
|||
|
请求参数:
|
|||
|
| 参数名 | 类型 | 必填 | 说明 |
|
|||
|
| category | string | 否 | 活动分类 |
|
|||
|
| status | string | 否 | 活动状态 |
|
|||
|
| page | number | 否 | 页码,默认1 |
|
|||
|
| size | number | 否 | 每页数量,默认10 |
|
|||
|
|
|||
|
响应示例:
|
|||
|
{
|
|||
|
"code": 200,
|
|||
|
"message": "success",
|
|||
|
"data": {
|
|||
|
"total": 100,
|
|||
|
"records": [
|
|||
|
{
|
|||
|
"id": 1,
|
|||
|
"title": "太极拳晨练班",
|
|||
|
"description": "由专业老师指导的太极拳晨练活动",
|
|||
|
"time": "2024-03-21 07:30:00",
|
|||
|
"location": "社区活动中心",
|
|||
|
"category": "sports",
|
|||
|
"capacity": 30,
|
|||
|
"participants": 18,
|
|||
|
"status": "upcoming",
|
|||
|
"organizer": {
|
|||
|
"id": 1,
|
|||
|
"name": "王教练",
|
|||
|
"avatar": "https://example.com/avatar1.jpg",
|
|||
|
"phone": "13800138000"
|
|||
|
},
|
|||
|
"cover": "https://example.com/taichi.jpg",
|
|||
|
"tags": ["运动", "太极拳", "健康"],
|
|||
|
"price": 0
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
2. 获取活动详情
|
|||
|
GET /api/v1/activities/{id}
|
|||
|
|
|||
|
响应示例:
|
|||
|
{
|
|||
|
"code": 200,
|
|||
|
"message": "success",
|
|||
|
"data": {
|
|||
|
// 活动详细信息
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
3. 活动报名
|
|||
|
POST /api/v1/activities/{id}/register
|
|||
|
|
|||
|
请求参数:
|
|||
|
{
|
|||
|
"notes": "需要准备运动服装" // 可选备注
|
|||
|
}
|
|||
|
|
|||
|
响应示例:
|
|||
|
{
|
|||
|
"code": 200,
|
|||
|
"message": "success",
|
|||
|
"data": {
|
|||
|
"id": 1,
|
|||
|
"activityId": 1,
|
|||
|
"userId": 10001,
|
|||
|
"status": "confirmed",
|
|||
|
"registrationTime": "2024-03-19 10:00:00",
|
|||
|
"notes": "需要准备运动服装"
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
4. 取消报名
|
|||
|
POST /api/v1/activities/registrations/{id}/cancel
|
|||
|
|
|||
|
响应示例:
|
|||
|
{
|
|||
|
"code": 200,
|
|||
|
"message": "success"
|
|||
|
}
|
|||
|
|
|||
|
5. 获取活动评论
|
|||
|
GET /api/v1/activities/{id}/comments
|
|||
|
|
|||
|
响应示例:
|
|||
|
{
|
|||
|
"code": 200,
|
|||
|
"message": "success",
|
|||
|
"data": [
|
|||
|
{
|
|||
|
"id": 1,
|
|||
|
"activityId": 1,
|
|||
|
"userId": 10001,
|
|||
|
"userName": "张三",
|
|||
|
"userAvatar": "https://example.com/user1.jpg",
|
|||
|
"content": "活动很有意思",
|
|||
|
"createTime": "2024-03-19 15:00:00",
|
|||
|
"likes": 5,
|
|||
|
"images": ["https://example.com/photo1.jpg"]
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
|
|||
|
6. 发表评论
|
|||
|
POST /api/v1/activities/{id}/comments
|
|||
|
|
|||
|
请求参数:
|
|||
|
{
|
|||
|
"content": "活动很有意思",
|
|||
|
"images": ["base64图片数据"]
|
|||
|
}
|
|||
|
|
|||
|
7. 获取推荐活动
|
|||
|
GET /api/v1/activities/recommended
|
|||
|
|
|||
|
响应示例:
|
|||
|
{
|
|||
|
"code": 200,
|
|||
|
"message": "success",
|
|||
|
"data": [
|
|||
|
// 推荐活动列表
|
|||
|
]
|
|||
|
}
|
|||
|
|
|||
|
8. 获取用户参与的活动
|
|||
|
GET /api/v1/activities/user/{userId}
|
|||
|
|
|||
|
响应示例:
|
|||
|
{
|
|||
|
"code": 200,
|
|||
|
"message": "success",
|
|||
|
"data": [
|
|||
|
// 用户参与的活动列表
|
|||
|
]
|
|||
|
}
|
|||
|
|
|||
|
错误码说明
|
|||
|
--------
|
|||
|
| 错误码 | 说明 |
|
|||
|
| 200 | 成功 |
|
|||
|
| 400 | 请求参数错误 |
|
|||
|
| 401 | 未授权 |
|
|||
|
| 403 | 禁止访问 |
|
|||
|
| 404 | 资源不存在 |
|
|||
|
| 500 | 服务器内部错误 |
|
|||
|
|
|||
|
注意事项
|
|||
|
-------
|
|||
|
1. 活动报名需要检查:
|
|||
|
- 活动是否已满
|
|||
|
- 用户是否已报名
|
|||
|
- 活动是否已开始
|
|||
|
- 用户是否满足参与要求
|
|||
|
|
|||
|
2. 图片上传要求:
|
|||
|
- 支持格式:jpg、png、gif
|
|||
|
- 单张大小限制:5MB
|
|||
|
- 最多上传9张
|
|||
|
|
|||
|
3. 活动状态自动更新:
|
|||
|
- 到达开始时间自动变更为进行中
|
|||
|
- 结束时间后自动变更为已结束
|
|||
|
|
|||
|
4. 缓存策略:
|
|||
|
- 活动列表缓存:5分钟
|
|||
|
- 活动详情缓存:10分钟
|
|||
|
- 评论列表缓存:1分钟
|