2025-08-04 10:04:26 +08:00
|
|
|
|
# 活动API文档
|
|
|
|
|
|
|
|
|
|
|
|
## 概述
|
|
|
|
|
|
|
|
|
|
|
|
活动API提供了寺庙活动相关的所有接口,包括活动列表、详情、报名等功能。
|
|
|
|
|
|
|
|
|
|
|
|
## 接口列表
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 获取活动列表
|
|
|
|
|
|
|
|
|
|
|
|
**接口地址:** `GET /app/activitie/list`
|
|
|
|
|
|
|
|
|
|
|
|
**请求参数:**
|
|
|
|
|
|
|
2025-08-14 11:22:53 +08:00
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
|
|
|
|
| -------- | ------ | ---- | ---------------- |
|
|
|
|
|
|
| templeId | string | 否 | 寺庙ID |
|
|
|
|
|
|
| status | string | 否 | 活动状态 |
|
|
|
|
|
|
| pageNum | number | 否 | 页码,默认1 |
|
|
|
|
|
|
| pageSize | number | 否 | 每页数量,默认20 |
|
2025-08-04 10:04:26 +08:00
|
|
|
|
|
|
|
|
|
|
**响应示例:**
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"msg": "操作成功",
|
|
|
|
|
|
"code": 200,
|
|
|
|
|
|
"data": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"id": "1",
|
|
|
|
|
|
"templeId": "12",
|
|
|
|
|
|
"title": "初一祈福",
|
|
|
|
|
|
"imgUrl": "https://api.ccttiot.com/image.jpg",
|
|
|
|
|
|
"content": "活动主题: 初一祈福,诸事圆满,心生欢喜",
|
|
|
|
|
|
"actStartTime": "2025-08-13 00:00:00",
|
|
|
|
|
|
"actEndTime": "2025-09-16 00:00:00",
|
|
|
|
|
|
"status": "1",
|
|
|
|
|
|
"address": "福建省宁德市福鼎市太姥山镇",
|
|
|
|
|
|
"phone": "13800138000",
|
|
|
|
|
|
"attendance": 100,
|
|
|
|
|
|
"readNum": 500,
|
|
|
|
|
|
"type": "1",
|
|
|
|
|
|
"currentBooking": 50
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 获取活动详情
|
|
|
|
|
|
|
|
|
|
|
|
**接口地址:** `GET /app/activitie/detail/{id}`
|
|
|
|
|
|
|
|
|
|
|
|
**路径参数:**
|
|
|
|
|
|
|
2025-08-14 11:22:53 +08:00
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
|
|
|
|
| ------ | ------ | ---- | ------ |
|
|
|
|
|
|
| id | string | 是 | 活动ID |
|
2025-08-04 10:04:26 +08:00
|
|
|
|
|
|
|
|
|
|
**响应示例:**
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"msg": "操作成功",
|
|
|
|
|
|
"code": 200,
|
|
|
|
|
|
"data": {
|
|
|
|
|
|
"id": "1",
|
|
|
|
|
|
"templeId": "12",
|
|
|
|
|
|
"title": "初一祈福",
|
|
|
|
|
|
"imgUrl": "https://api.ccttiot.com/image.jpg",
|
|
|
|
|
|
"content": "活动详细内容...",
|
|
|
|
|
|
"actStartTime": "2025-08-13 00:00:00",
|
|
|
|
|
|
"actEndTime": "2025-09-16 00:00:00",
|
|
|
|
|
|
"status": "1",
|
|
|
|
|
|
"address": "福建省宁德市福鼎市太姥山镇",
|
|
|
|
|
|
"phone": "13800138000",
|
|
|
|
|
|
"attendance": 100,
|
|
|
|
|
|
"readNum": 500,
|
|
|
|
|
|
"type": "1",
|
|
|
|
|
|
"currentBooking": 50
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 报名活动
|
|
|
|
|
|
|
|
|
|
|
|
**接口地址:** `POST /app/activitie/register`
|
|
|
|
|
|
|
|
|
|
|
|
**请求参数:**
|
|
|
|
|
|
|
2025-08-14 11:22:53 +08:00
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
|
|
|
|
| ---------- | ------ | ---- | -------- |
|
|
|
|
|
|
| activityId | string | 是 | 活动ID |
|
|
|
|
|
|
| userId | string | 是 | 用户ID |
|
|
|
|
|
|
| userName | string | 是 | 用户姓名 |
|
|
|
|
|
|
| phone | string | 是 | 联系电话 |
|
2025-08-04 10:04:26 +08:00
|
|
|
|
|
|
|
|
|
|
**响应示例:**
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"msg": "报名成功",
|
|
|
|
|
|
"code": 200,
|
|
|
|
|
|
"data": {
|
|
|
|
|
|
"registrationId": "123",
|
|
|
|
|
|
"activityId": "1",
|
|
|
|
|
|
"userId": "456",
|
|
|
|
|
|
"status": "success"
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 4. 取消报名
|
|
|
|
|
|
|
|
|
|
|
|
**接口地址:** `POST /app/activitie/cancel/{id}`
|
|
|
|
|
|
|
|
|
|
|
|
**路径参数:**
|
|
|
|
|
|
|
2025-08-14 11:22:53 +08:00
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
|
|
|
|
| ------ | ------ | ---- | ---------- |
|
|
|
|
|
|
| id | string | 是 | 报名记录ID |
|
2025-08-04 10:04:26 +08:00
|
|
|
|
|
|
|
|
|
|
**响应示例:**
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"msg": "取消成功",
|
|
|
|
|
|
"code": 200,
|
|
|
|
|
|
"data": null
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 5. 获取我的报名记录
|
|
|
|
|
|
|
|
|
|
|
|
**接口地址:** `GET /app/activitie/my-registrations`
|
|
|
|
|
|
|
|
|
|
|
|
**请求参数:**
|
|
|
|
|
|
|
2025-08-14 11:22:53 +08:00
|
|
|
|
| 参数名 | 类型 | 必填 | 说明 |
|
|
|
|
|
|
| -------- | ------ | ---- | ---------------- |
|
|
|
|
|
|
| pageNum | number | 否 | 页码,默认1 |
|
|
|
|
|
|
| pageSize | number | 否 | 每页数量,默认20 |
|
2025-08-04 10:04:26 +08:00
|
|
|
|
|
|
|
|
|
|
**响应示例:**
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"msg": "操作成功",
|
|
|
|
|
|
"code": 200,
|
|
|
|
|
|
"data": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"id": "123",
|
|
|
|
|
|
"activityId": "1",
|
|
|
|
|
|
"activityTitle": "初一祈福",
|
|
|
|
|
|
"registrationTime": "2025-08-10 10:00:00",
|
|
|
|
|
|
"status": "confirmed"
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 数据字段说明
|
|
|
|
|
|
|
|
|
|
|
|
### 活动状态 (status)
|
|
|
|
|
|
|
2025-08-14 11:22:53 +08:00
|
|
|
|
| 值 | 说明 |
|
|
|
|
|
|
| --- | ------ |
|
2025-08-04 10:04:26 +08:00
|
|
|
|
| "0" | 已结束 |
|
|
|
|
|
|
| "1" | 报名中 |
|
|
|
|
|
|
| "2" | 进行中 |
|
|
|
|
|
|
| "3" | 已结束 |
|
|
|
|
|
|
|
|
|
|
|
|
### 活动类型 (type)
|
|
|
|
|
|
|
2025-08-14 11:22:53 +08:00
|
|
|
|
| 值 | 说明 |
|
|
|
|
|
|
| --- | -------- |
|
2025-08-04 10:04:26 +08:00
|
|
|
|
| "1" | 祈福活动 |
|
|
|
|
|
|
| "2" | 法会活动 |
|
|
|
|
|
|
| "3" | 禅修活动 |
|
|
|
|
|
|
| "4" | 捐赠活动 |
|
|
|
|
|
|
| "5" | 义工活动 |
|
|
|
|
|
|
|
|
|
|
|
|
## 使用示例
|
|
|
|
|
|
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
import activityApi from '@/api/activity/activity.js'
|
|
|
|
|
|
|
|
|
|
|
|
// 获取活动列表
|
|
|
|
|
|
const getActivities = async () => {
|
|
|
|
|
|
try {
|
|
|
|
|
|
const response = await activityApi.getActivityList({
|
|
|
|
|
|
pageNum: 1,
|
2025-08-14 11:22:53 +08:00
|
|
|
|
pageSize: 20,
|
2025-08-04 10:04:26 +08:00
|
|
|
|
})
|
2025-08-14 11:22:53 +08:00
|
|
|
|
|
2025-08-04 10:04:26 +08:00
|
|
|
|
if (response.code === 200) {
|
|
|
|
|
|
console.log('活动列表:', response.data)
|
|
|
|
|
|
}
|
|
|
|
|
|
} catch (error) {
|
|
|
|
|
|
console.error('获取活动列表失败:', error)
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 报名活动
|
|
|
|
|
|
const registerActivity = async (activityId, userInfo) => {
|
|
|
|
|
|
try {
|
|
|
|
|
|
const response = await activityApi.registerActivity({
|
|
|
|
|
|
activityId,
|
|
|
|
|
|
userId: userInfo.id,
|
|
|
|
|
|
userName: userInfo.userName,
|
2025-08-14 11:22:53 +08:00
|
|
|
|
phone: userInfo.phone,
|
2025-08-04 10:04:26 +08:00
|
|
|
|
})
|
2025-08-14 11:22:53 +08:00
|
|
|
|
|
2025-08-04 10:04:26 +08:00
|
|
|
|
if (response.code === 200) {
|
|
|
|
|
|
console.log('报名成功')
|
|
|
|
|
|
}
|
|
|
|
|
|
} catch (error) {
|
|
|
|
|
|
console.error('报名失败:', error)
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 错误处理
|
|
|
|
|
|
|
|
|
|
|
|
所有接口都会返回统一的错误格式:
|
|
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"msg": "错误信息",
|
|
|
|
|
|
"code": 错误码,
|
|
|
|
|
|
"data": null
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
常见错误码:
|
|
|
|
|
|
|
2025-08-14 11:22:53 +08:00
|
|
|
|
| 错误码 | 说明 |
|
|
|
|
|
|
| ------ | ---------------- |
|
|
|
|
|
|
| 200 | 成功 |
|
|
|
|
|
|
| 400 | 请求参数错误 |
|
|
|
|
|
|
| 401 | 未授权,需要登录 |
|
|
|
|
|
|
| 403 | 权限不足 |
|
|
|
|
|
|
| 404 | 资源不存在 |
|
|
|
|
|
|
| 500 | 服务器内部错误 |
|
2025-08-04 10:04:26 +08:00
|
|
|
|
|
|
|
|
|
|
## 注意事项
|
|
|
|
|
|
|
|
|
|
|
|
1. 所有接口都需要在请求头中携带有效的token(除了登录相关接口)
|
|
|
|
|
|
2. 活动列表支持分页查询,建议每页不超过50条
|
|
|
|
|
|
3. 报名活动前需要确保用户已登录
|
|
|
|
|
|
4. 活动状态会根据时间自动更新
|
2025-08-14 11:22:53 +08:00
|
|
|
|
5. 图片URL为完整路径,可直接使用
|