# 解班客后端管理需求文档 ## 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 功能:获取数据库性能统计 ```