16 KiB
16 KiB
解班客后端管理需求文档
1. 项目概述
1.1 系统定位
后端管理系统是解班客平台的核心服务层,负责提供所有业务逻辑处理、数据管理、API服务以及与第三方系统的集成。系统采用RESTful API架构,为前端应用、小程序和管理后台提供统一的数据服务。
1.2 核心职责
- 提供完整的API服务接口
- 处理业务逻辑和数据验证
- 管理用户认证和权限控制
- 集成第三方服务(支付、短信、地图等)
- 确保数据安全和系统稳定性
1.3 技术架构
- 运行环境:Node.js 18+
- Web框架:Express.js
- 数据库:MySQL 8.0 + Redis 6.0
- 认证方式:JWT + Passport
- API文档:Swagger/OpenAPI
2. 用户管理模块
2.1 用户认证服务
2.1.1 微信登录
POST /api/auth/wechat/login
功能:微信小程序登录
参数:
- code: 微信授权码
- encryptedData: 加密用户信息
- iv: 初始向量
返回:JWT token和用户基本信息
2.1.2 手机号验证
POST /api/auth/phone/verify
功能:发送手机验证码
参数:
- phone: 手机号码
- type: 验证类型(register/login/reset)
POST /api/auth/phone/login
功能:手机号验证码登录
参数:
- phone: 手机号码
- code: 验证码
2.1.3 Token管理
POST /api/auth/refresh
功能:刷新访问令牌
参数:
- refreshToken: 刷新令牌
POST /api/auth/logout
功能:用户登出
参数:
- token: 访问令牌
2.2 用户信息管理
2.2.1 用户资料
GET /api/users/profile
功能:获取用户详细信息
PUT /api/users/profile
功能:更新用户资料
参数:
- nickname: 昵称
- avatar: 头像URL
- gender: 性别
- birthday: 生日
- location: 所在地
- bio: 个人简介
- interests: 兴趣标签
2.2.2 实名认证
POST /api/users/identity/verify
功能:提交实名认证
参数:
- realName: 真实姓名
- idCard: 身份证号
- idCardFront: 身份证正面照
- idCardBack: 身份证背面照
GET /api/users/identity/status
功能:查询认证状态
2.2.3 用户设置
PUT /api/users/settings
功能:更新用户设置
参数:
- privacy: 隐私设置
- notification: 通知设置
- security: 安全设置
GET /api/users/settings
功能:获取用户设置
2.3 用户关系管理
2.3.1 关注功能
POST /api/users/{userId}/follow
功能:关注用户
DELETE /api/users/{userId}/follow
功能:取消关注
GET /api/users/following
功能:获取关注列表
GET /api/users/followers
功能:获取粉丝列表
2.3.2 黑名单管理
POST /api/users/{userId}/block
功能:拉黑用户
DELETE /api/users/{userId}/block
功能:取消拉黑
GET /api/users/blocked
功能:获取黑名单列表
3. 活动管理模块
3.1 活动发布管理
3.1.1 活动创建
POST /api/activities
功能:创建新活动
参数:
- title: 活动标题
- description: 活动描述
- type: 活动类型
- startTime: 开始时间
- endTime: 结束时间
- location: 活动地点
- maxParticipants: 最大参与人数
- fee: 活动费用
- requirements: 参与要求
- images: 活动图片
- tags: 活动标签
3.1.2 活动编辑
PUT /api/activities/{activityId}
功能:编辑活动信息
DELETE /api/activities/{activityId}
功能:删除活动
PATCH /api/activities/{activityId}/status
功能:更新活动状态
参数:
- status: 活动状态(draft/published/cancelled/completed)
3.2 活动搜索和筛选
3.2.1 活动列表
GET /api/activities
功能:获取活动列表
参数:
- page: 页码
- limit: 每页数量
- type: 活动类型
- location: 地理位置
- startDate: 开始日期
- endDate: 结束日期
- priceMin: 最低价格
- priceMax: 最高价格
- keyword: 关键词搜索
- sort: 排序方式
3.2.2 活动详情
GET /api/activities/{activityId}
功能:获取活动详细信息
GET /api/activities/{activityId}/participants
功能:获取活动参与者列表
GET /api/activities/nearby
功能:获取附近活动
参数:
- latitude: 纬度
- longitude: 经度
- radius: 搜索半径
3.3 活动报名管理
3.3.1 报名流程
POST /api/activities/{activityId}/join
功能:报名参加活动
参数:
- message: 报名留言
- emergencyContact: 紧急联系人
GET /api/activities/{activityId}/join/status
功能:查询报名状态
DELETE /api/activities/{activityId}/join
功能:取消报名
3.3.2 报名审核
PUT /api/activities/{activityId}/participants/{userId}/approve
功能:审核通过报名
PUT /api/activities/{activityId}/participants/{userId}/reject
功能:拒绝报名
参数:
- reason: 拒绝原因
GET /api/activities/my/applications
功能:获取我的报名记录
GET /api/activities/my/created
功能:获取我创建的活动
4. 动物认领模块
4.1 动物信息管理
4.1.1 动物档案
POST /api/animals
功能:添加动物信息
参数:
- name: 动物名称
- type: 动物类型
- breed: 品种
- age: 年龄
- gender: 性别
- weight: 体重
- health: 健康状况
- description: 描述
- images: 动物照片
- farmId: 所属农场ID
- price: 认领价格
4.1.2 动物状态管理
PUT /api/animals/{animalId}
功能:更新动物信息
PATCH /api/animals/{animalId}/status
功能:更新动物状态
参数:
- status: 状态(available/adopted/reserved/unavailable)
GET /api/animals
功能:获取动物列表
参数:
- type: 动物类型
- status: 状态筛选
- farmId: 农场筛选
- priceMin: 最低价格
- priceMax: 最高价格
4.2 认领流程管理
4.2.1 认领申请
POST /api/animals/{animalId}/adopt
功能:提交认领申请
参数:
- reason: 认领原因
- experience: 养殖经验
- visitPlan: 探访计划
- duration: 认领期限
GET /api/adoptions/my
功能:获取我的认领记录
GET /api/adoptions/{adoptionId}
功能:获取认领详情
4.2.2 认领审核
PUT /api/adoptions/{adoptionId}/approve
功能:审核通过认领
PUT /api/adoptions/{adoptionId}/reject
功能:拒绝认领申请
参数:
- reason: 拒绝原因
POST /api/adoptions/{adoptionId}/contract
功能:生成认领合同
4.3 农场管理
4.3.1 农场信息
POST /api/farms
功能:添加农场信息
参数:
- name: 农场名称
- address: 农场地址
- description: 农场描述
- contact: 联系方式
- facilities: 设施介绍
- images: 农场照片
GET /api/farms
功能:获取农场列表
GET /api/farms/{farmId}/animals
功能:获取农场动物列表
4.3.2 探访管理
POST /api/farms/{farmId}/visits
功能:预约农场探访
参数:
- visitDate: 探访日期
- visitTime: 探访时间
- visitors: 探访人数
- purpose: 探访目的
GET /api/visits/my
功能:获取我的探访记录
PUT /api/visits/{visitId}/confirm
功能:确认探访预约
5. 商家服务模块
5.1 商家入驻管理
5.1.1 入驻申请
POST /api/merchants/apply
功能:提交入驻申请
参数:
- businessName: 商家名称
- businessType: 商家类型
- contactPerson: 联系人
- contactPhone: 联系电话
- businessLicense: 营业执照
- address: 经营地址
- description: 商家描述
- qualifications: 资质证明
5.1.2 入驻审核
GET /api/merchants/applications
功能:获取入驻申请列表
PUT /api/merchants/applications/{applicationId}/approve
功能:审核通过入驻
PUT /api/merchants/applications/{applicationId}/reject
功能:拒绝入驻申请
参数:
- reason: 拒绝原因
5.2 商家信息管理
5.2.1 商家资料
GET /api/merchants/profile
功能:获取商家资料
PUT /api/merchants/profile
功能:更新商家资料
参数:
- businessName: 商家名称
- description: 商家描述
- logo: 商家Logo
- images: 商家图片
- businessHours: 营业时间
- contactInfo: 联系信息
5.2.2 商家状态
PATCH /api/merchants/{merchantId}/status
功能:更新商家状态
参数:
- status: 状态(active/inactive/suspended)
GET /api/merchants
功能:获取商家列表
参数:
- type: 商家类型
- status: 状态筛选
- location: 地理位置
5.3 商品服务管理
5.3.1 商品管理
POST /api/merchants/products
功能:添加商品
参数:
- name: 商品名称
- category: 商品分类
- price: 商品价格
- description: 商品描述
- images: 商品图片
- stock: 库存数量
- specifications: 商品规格
PUT /api/merchants/products/{productId}
功能:更新商品信息
DELETE /api/merchants/products/{productId}
功能:删除商品
5.3.2 订单管理
GET /api/merchants/orders
功能:获取商家订单列表
PUT /api/merchants/orders/{orderId}/confirm
功能:确认订单
PUT /api/merchants/orders/{orderId}/ship
功能:发货
参数:
- trackingNumber: 快递单号
- carrier: 快递公司
PUT /api/merchants/orders/{orderId}/complete
功能:完成订单
6. 支付系统模块
6.1 支付接口
6.1.1 微信支付
POST /api/payments/wechat/create
功能:创建微信支付订单
参数:
- orderId: 订单ID
- amount: 支付金额
- description: 支付描述
- openid: 用户openid
POST /api/payments/wechat/notify
功能:微信支付回调处理
GET /api/payments/wechat/query/{orderId}
功能:查询支付状态
6.1.2 支付宝支付
POST /api/payments/alipay/create
功能:创建支付宝支付订单
POST /api/payments/alipay/notify
功能:支付宝支付回调处理
GET /api/payments/alipay/query/{orderId}
功能:查询支付状态
6.2 订单管理
6.2.1 订单创建
POST /api/orders
功能:创建订单
参数:
- type: 订单类型(activity/product/adoption)
- items: 订单项目
- amount: 订单金额
- paymentMethod: 支付方式
- deliveryAddress: 配送地址
GET /api/orders/{orderId}
功能:获取订单详情
GET /api/orders/my
功能:获取我的订单列表
6.2.2 订单状态管理
PATCH /api/orders/{orderId}/status
功能:更新订单状态
参数:
- status: 订单状态
POST /api/orders/{orderId}/refund
功能:申请退款
参数:
- reason: 退款原因
- amount: 退款金额
PUT /api/orders/{orderId}/refund/approve
功能:审核退款申请
6.3 财务管理
6.3.1 账户管理
GET /api/wallet/balance
功能:获取账户余额
POST /api/wallet/recharge
功能:账户充值
参数:
- amount: 充值金额
- paymentMethod: 支付方式
POST /api/wallet/withdraw
功能:申请提现
参数:
- amount: 提现金额
- bankAccount: 银行账户
6.3.2 交易记录
GET /api/transactions
功能:获取交易记录
参数:
- type: 交易类型
- startDate: 开始日期
- endDate: 结束日期
- status: 交易状态
GET /api/transactions/{transactionId}
功能:获取交易详情
7. 消息通知模块
7.1 消息系统
7.1.1 站内消息
POST /api/messages
功能:发送站内消息
参数:
- receiverId: 接收者ID
- type: 消息类型
- title: 消息标题
- content: 消息内容
GET /api/messages
功能:获取消息列表
参数:
- type: 消息类型
- status: 读取状态
PUT /api/messages/{messageId}/read
功能:标记消息已读
7.1.2 推送通知
POST /api/notifications/push
功能:发送推送通知
参数:
- userIds: 用户ID列表
- title: 通知标题
- content: 通知内容
- type: 通知类型
GET /api/notifications/settings
功能:获取通知设置
PUT /api/notifications/settings
功能:更新通知设置
7.2 短信服务
7.2.1 验证码短信
POST /api/sms/verification
功能:发送验证码短信
参数:
- phone: 手机号码
- type: 验证类型
- template: 短信模板
POST /api/sms/verify
功能:验证短信验证码
参数:
- phone: 手机号码
- code: 验证码
7.2.2 通知短信
POST /api/sms/notification
功能:发送通知短信
参数:
- phone: 手机号码
- template: 短信模板
- params: 模板参数
GET /api/sms/records
功能:获取短信发送记录
7.3 邮件服务
7.3.1 邮件发送
POST /api/emails/send
功能:发送邮件
参数:
- to: 收件人邮箱
- subject: 邮件主题
- content: 邮件内容
- template: 邮件模板
GET /api/emails/templates
功能:获取邮件模板列表
POST /api/emails/templates
功能:创建邮件模板
8. 文件管理模块
8.1 文件上传
8.1.1 图片上传
POST /api/files/images/upload
功能:上传图片文件
参数:
- file: 图片文件
- type: 图片类型(avatar/product/activity等)
- compress: 是否压缩
POST /api/files/images/batch
功能:批量上传图片
参数:
- files: 图片文件数组
8.1.2 文档上传
POST /api/files/documents/upload
功能:上传文档文件
参数:
- file: 文档文件
- type: 文档类型
GET /api/files/{fileId}
功能:获取文件信息
DELETE /api/files/{fileId}
功能:删除文件
8.2 文件管理
8.2.1 文件列表
GET /api/files
功能:获取文件列表
参数:
- type: 文件类型
- userId: 用户ID
- page: 页码
- limit: 每页数量
GET /api/files/storage/usage
功能:获取存储使用情况
8.2.2 文件处理
POST /api/files/images/resize
功能:图片尺寸调整
参数:
- fileId: 文件ID
- width: 宽度
- height: 高度
POST /api/files/images/watermark
功能:添加水印
参数:
- fileId: 文件ID
- watermark: 水印内容
9. 数据统计模块
9.1 用户统计
9.1.1 用户数据
GET /api/statistics/users/overview
功能:获取用户概览统计
GET /api/statistics/users/growth
功能:获取用户增长统计
参数:
- startDate: 开始日期
- endDate: 结束日期
- granularity: 统计粒度(day/week/month)
GET /api/statistics/users/activity
功能:获取用户活跃度统计
9.1.2 用户行为
GET /api/statistics/users/behavior
功能:获取用户行为统计
POST /api/statistics/events/track
功能:记录用户行为事件
参数:
- event: 事件名称
- properties: 事件属性
- userId: 用户ID
9.2 业务统计
9.2.1 活动统计
GET /api/statistics/activities/overview
功能:获取活动概览统计
GET /api/statistics/activities/popular
功能:获取热门活动统计
GET /api/statistics/activities/conversion
功能:获取活动转化率统计
9.2.2 交易统计
GET /api/statistics/transactions/overview
功能:获取交易概览统计
GET /api/statistics/transactions/revenue
功能:获取收入统计
GET /api/statistics/merchants/performance
功能:获取商家业绩统计
10. 系统管理模块
10.1 配置管理
10.1.1 系统配置
GET /api/system/config
功能:获取系统配置
PUT /api/system/config
功能:更新系统配置
参数:
- key: 配置键
- value: 配置值
- description: 配置描述
GET /api/system/config/{key}
功能:获取指定配置项
10.1.2 参数管理
GET /api/system/parameters
功能:获取系统参数列表
PUT /api/system/parameters/{key}
功能:更新系统参数
参数:
- value: 参数值
10.2 日志管理
10.2.1 操作日志
GET /api/system/logs/operations
功能:获取操作日志
参数:
- userId: 用户ID
- action: 操作类型
- startDate: 开始日期
- endDate: 结束日期
POST /api/system/logs/operations
功能:记录操作日志
参数:
- action: 操作类型
- resource: 操作资源
- details: 操作详情
10.2.2 错误日志
GET /api/system/logs/errors
功能:获取错误日志
POST /api/system/logs/errors
功能:记录错误日志
参数:
- level: 错误级别
- message: 错误消息
- stack: 错误堆栈
- context: 错误上下文
10.3 监控管理
10.3.1 系统监控
GET /api/system/health
功能:系统健康检查
GET /api/system/metrics
功能:获取系统指标
参数:
- metric: 指标类型
- timeRange: 时间范围
GET /api/system/status
功能:获取系统状态
10.3.2 性能监控
GET /api/system/performance
功能:获取性能数据
GET /api/system/performance/api
功能:获取API性能统计
GET /api/system/performance/database
功能:获取数据库性能统计