buddhism/api/activity/README.md
2025-08-14 11:22:53 +08:00

252 lines
5.2 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.

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