211 lines
12 KiB
Markdown
211 lines
12 KiB
Markdown
# Requirements Document
|
||
|
||
## Introduction
|
||
|
||
本文档定义了将 honey_box 小程序的 API 请求地址从旧的 PHP 后端迁移到新的 .NET 8 后端的需求。API 后端已完成迁移,现在需要更新小程序前端代码以适配新的 API 接口。
|
||
|
||
## Glossary
|
||
|
||
- **Mini_Program**: honey_box 小程序前端应用
|
||
- **API_Service**: 后端 API 服务
|
||
- **Request_Manager**: 小程序中的统一请求管理类 (request.js)
|
||
- **Env_Config**: 环境配置模块 (env.js)
|
||
- **Server_Module**: API 服务调用模块 (common/server/*.js)
|
||
- **Page_Component**: 页面组件中直接调用的 API 请求
|
||
|
||
## Requirements
|
||
|
||
### Requirement 1: 环境配置更新
|
||
|
||
**User Story:** 作为开发者,我希望更新环境配置文件,以便小程序能够连接到新的 .NET 8 API 后端。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 小程序启动时,THE Env_Config SHALL 提供正确的 .NET 8 API 基础 URL
|
||
2. WHEN 切换环境时,THE Env_Config SHALL 支持开发、测试、生产三种环境配置
|
||
3. THE Env_Config SHALL 保持与现有代码结构的兼容性
|
||
4. THE Env_Config SHALL 配置新的生产环境 API 地址
|
||
|
||
### Requirement 2: API 路径映射更新
|
||
|
||
**User Story:** 作为开发者,我希望更新 API 请求路径,以便与新的 .NET 8 后端接口保持一致。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 调用商品列表接口时,THE Mini_Program SHALL 使用新的路径 `/goods_list` 替代旧路径 `/goods`
|
||
2. WHEN 调用商品详情接口时,THE Mini_Program SHALL 使用新的路径 `/goods_detail` 替代旧路径 `/goodsdetail`
|
||
3. WHEN 调用中奖记录接口时,THE Mini_Program SHALL 使用新的路径 `/goods_prize_logs` 替代旧路径 `/shang_log`
|
||
4. WHEN 调用奖品数量统计接口时,THE Mini_Program SHALL 使用新的路径 `/goods_prize_count` 替代旧路径 `/goodslist_count`
|
||
5. WHEN 调用奖品内容接口时,THE Mini_Program SHALL 使用新的路径 `/goods_prize_content` 替代旧路径 `/goodslist_content`
|
||
6. FOR ALL 其他 API 接口,THE Mini_Program SHALL 保持原有路径不变(新后端已兼容)
|
||
|
||
### Requirement 3: 请求管理器兼容性
|
||
|
||
**User Story:** 作为开发者,我希望确保请求管理器与新的 API 后端完全兼容。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. THE Request_Manager SHALL 保持现有的签名机制(MD5签名 + 时间戳防重放)
|
||
2. THE Request_Manager SHALL 保持现有的 Token 认证方式
|
||
3. THE Request_Manager SHALL 正确处理新后端返回的响应格式
|
||
4. WHEN 请求失败时,THE Request_Manager SHALL 保持现有的错误处理逻辑
|
||
|
||
### Requirement 4: 用户认证接口适配
|
||
|
||
**User Story:** 作为用户,我希望能够正常登录和使用账户功能。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 用户使用微信登录时,THE Mini_Program SHALL 成功调用 `/login` 接口
|
||
2. WHEN 用户使用手机号登录时,THE Mini_Program SHALL 成功调用 `/mobileLogin` 接口
|
||
3. WHEN 用户发送短信验证码时,THE Mini_Program SHALL 成功调用 `/v2/account/sendSms` 接口
|
||
4. WHEN 用户获取个人信息时,THE Mini_Program SHALL 成功调用 `/user` 接口
|
||
5. WHEN 用户更新个人信息时,THE Mini_Program SHALL 成功调用 `/update_userinfo` 接口
|
||
6. WHEN 用户绑定手机号时,THE Mini_Program SHALL 成功调用 `/login_bind_mobile` 或 `/bindMobile` 接口
|
||
7. WHEN 用户注销账号时,THE Mini_Program SHALL 成功调用 `/user_log_off` 接口
|
||
|
||
### Requirement 5: 商品和订单接口适配
|
||
|
||
**User Story:** 作为用户,我希望能够正常浏览商品和下单购买。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 用户浏览商品列表时,THE Mini_Program SHALL 成功调用 `/goods` 或 `/goods_list` 接口
|
||
2. WHEN 用户查看一番赏商品详情时,THE Mini_Program SHALL 成功调用 `/goodsdetail` 或 `/goods_detail` 接口
|
||
3. WHEN 用户查看无限赏商品详情时,THE Mini_Program SHALL 成功调用 `/infinite_goodsdetail` 接口
|
||
4. WHEN 用户查看连击赏商品详情时,THE Mini_Program SHALL 成功调用 `/infinite_goodsdetail2` 接口
|
||
5. WHEN 用户计算一番赏订单金额时,THE Mini_Program SHALL 成功调用 `/ordermoney` 接口
|
||
6. WHEN 用户计算无限赏订单金额时,THE Mini_Program SHALL 成功调用 `/infinite_ordermoney` 接口
|
||
7. WHEN 用户计算商城订单金额时,THE Mini_Program SHALL 成功调用 `/mall_ordermoney` 接口
|
||
8. WHEN 用户创建一番赏订单时,THE Mini_Program SHALL 成功调用 `/orderbuy` 接口
|
||
9. WHEN 用户创建无限赏订单时,THE Mini_Program SHALL 成功调用 `/infinite_orderbuy` 接口
|
||
10. WHEN 用户查看订单列表时,THE Mini_Program SHALL 成功调用 `/order_list` 接口
|
||
11. WHEN 用户查看订单详情时,THE Mini_Program SHALL 成功调用 `/order_detail` 接口
|
||
12. WHEN 用户获取订单状态时,THE Mini_Program SHALL 成功调用 `/get_order_status` 接口
|
||
|
||
### Requirement 6: 抽奖结果接口适配
|
||
|
||
**User Story:** 作为用户,我希望能够正常查看抽奖结果和中奖记录。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 用户查看一番赏抽奖结果时,THE Mini_Program SHALL 成功调用 `/prizeorderlog` 接口
|
||
2. WHEN 用户查看无限赏抽奖结果时,THE Mini_Program SHALL 成功调用 `/infinite_prizeorderlog` 接口
|
||
3. WHEN 用户查看一番赏中奖记录时,THE Mini_Program SHALL 成功调用 `/shang_log` 或 `/goods_prize_logs` 接口
|
||
4. WHEN 用户查看无限赏中奖记录时,THE Mini_Program SHALL 成功调用 `/infinite_shang_log` 接口
|
||
5. WHEN 用户查看抽奖记录时,THE Mini_Program SHALL 成功调用 `/infinite_prizerecords` 接口
|
||
6. WHEN 用户使用道具卡抽奖时,THE Mini_Program SHALL 成功调用 `/item_card_chou` 接口
|
||
|
||
### Requirement 7: 仓库和发货接口适配
|
||
|
||
**User Story:** 作为用户,我希望能够正常管理我的奖品仓库。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 用户查看仓库时,THE Mini_Program SHALL 成功调用 `/warehouse_index` 接口
|
||
2. WHEN 用户回收奖品时,THE Mini_Program SHALL 成功调用 `/warehouse_recovery` 接口
|
||
3. WHEN 用户申请发货时,THE Mini_Program SHALL 成功调用 `/warehouse_send` 接口
|
||
4. WHEN 用户确认发货时,THE Mini_Program SHALL 成功调用 `/warehouse_send_confirm` 接口
|
||
5. WHEN 用户查看发货记录时,THE Mini_Program SHALL 成功调用 `/warehouse_send_record` 接口
|
||
6. WHEN 用户查看发货详情时,THE Mini_Program SHALL 成功调用 `/warehouse_send_record_detail` 接口
|
||
7. WHEN 用户查看回收记录时,THE Mini_Program SHALL 成功调用 `/warehouse_recovery_record` 接口
|
||
8. WHEN 用户查看物流信息时,THE Mini_Program SHALL 成功调用 `/warehouse_order_logistics` 接口
|
||
|
||
### Requirement 8: 收货地址接口适配
|
||
|
||
**User Story:** 作为用户,我希望能够正常管理我的收货地址。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 用户添加地址时,THE Mini_Program SHALL 成功调用 `/addAddress` 接口
|
||
2. WHEN 用户更新地址时,THE Mini_Program SHALL 成功调用 `/updateAddress` 接口
|
||
3. WHEN 用户获取地址列表时,THE Mini_Program SHALL 成功调用 `/getAddressList` 接口
|
||
4. WHEN 用户获取默认地址时,THE Mini_Program SHALL 成功调用 `/getDefaultAddress` 接口
|
||
5. WHEN 用户设置默认地址时,THE Mini_Program SHALL 成功调用 `/setDefaultAddress` 接口
|
||
6. WHEN 用户删除地址时,THE Mini_Program SHALL 成功调用 `/deleteAddress` 接口
|
||
7. WHEN 用户获取地址详情时,THE Mini_Program SHALL 成功调用 `/getAddressDetail` 接口
|
||
|
||
### Requirement 9: 财务和优惠券接口适配
|
||
|
||
**User Story:** 作为用户,我希望能够正常查看财务记录和使用优惠券。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 用户查看资金明细时,THE Mini_Program SHALL 成功调用 `/profitMoney` 接口
|
||
2. WHEN 用户查看积分明细时,THE Mini_Program SHALL 成功调用 `/profitIntegral` 接口
|
||
3. WHEN 用户查看支付明细时,THE Mini_Program SHALL 成功调用 `/profitPay` 接口
|
||
4. WHEN 用户查看优惠券列表时,THE Mini_Program SHALL 成功调用 `/coupon_list` 接口
|
||
5. WHEN 用户查看优惠券详情时,THE Mini_Program SHALL 成功调用 `/coupon_detail` 接口
|
||
6. WHEN 用户领取优惠券时,THE Mini_Program SHALL 成功调用 `/coupon_ling` 接口
|
||
7. WHEN 用户分享优惠券时,THE Mini_Program SHALL 成功调用 `/coupon_share` 接口
|
||
8. WHEN 用户合成优惠券时,THE Mini_Program SHALL 成功调用 `/coupon_synthesis` 接口
|
||
9. WHEN 用户计算优惠券合成时,THE Mini_Program SHALL 成功调用 `/coupon_ji_suan` 接口
|
||
10. WHEN 用户领取首页优惠券时,THE Mini_Program SHALL 成功调用 `/coupon` 和 `/receive` 接口
|
||
11. WHEN 用户使用优惠券时,THE Mini_Program SHALL 成功调用 `/used` 接口
|
||
|
||
### Requirement 10: 福利和签到接口适配
|
||
|
||
**User Story:** 作为用户,我希望能够正常参与福利活动和签到。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 用户查看福利屋列表时,THE Mini_Program SHALL 成功调用 `/welfare_house_list` 或 `/fuliwu` 接口
|
||
2. WHEN 用户查看福利详情时,THE Mini_Program SHALL 成功调用 `/fuliwu_detail` 接口
|
||
3. WHEN 用户查看福利参与者时,THE Mini_Program SHALL 成功调用 `/fuliwu_participants` 接口
|
||
4. WHEN 用户查看福利记录时,THE Mini_Program SHALL 成功调用 `/fuliwu_records` 接口
|
||
5. WHEN 用户查看福利参与记录时,THE Mini_Program SHALL 成功调用 `/fuliwu_user_records` 接口
|
||
6. WHEN 用户查看福利中奖记录时,THE Mini_Program SHALL 成功调用 `/fuliwu_user_winning_records` 接口
|
||
7. WHEN 用户查看签到信息时,THE Mini_Program SHALL 成功调用 `/sign_info` 或 `/sign` 接口
|
||
8. WHEN 用户进行签到时,THE Mini_Program SHALL 成功调用 `/sign` 或 `/sign_add` 接口
|
||
|
||
### Requirement 11: 任务和权益接口适配
|
||
|
||
**User Story:** 作为用户,我希望能够正常完成任务和领取权益。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 用户查看任务列表时,THE Mini_Program SHALL 成功调用 `/task_list` 接口
|
||
2. WHEN 用户领取任务奖励时,THE Mini_Program SHALL 成功调用 `/ling_task` 接口
|
||
3. WHEN 用户查看权益信息时,THE Mini_Program SHALL 成功调用 `/quan_yi` 接口
|
||
4. WHEN 用户领取权益时,THE Mini_Program SHALL 成功调用 `/quan_yi_ling` 接口
|
||
|
||
### Requirement 12: 钻石商城接口适配
|
||
|
||
**User Story:** 作为用户,我希望能够正常购买钻石充值。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 用户查看钻石商品列表时,THE Mini_Program SHALL 成功调用 `/get_diamond_list` 接口
|
||
2. WHEN 用户创建钻石订单时,THE Mini_Program SHALL 成功调用 `/createOrderProducts` 接口
|
||
3. WHEN 用户查看钻石订单状态时,THE Mini_Program SHALL 成功调用 `/get_diamond_order_log` 接口
|
||
|
||
### Requirement 13: 其他功能接口适配
|
||
|
||
**User Story:** 作为用户,我希望能够正常使用其他功能。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. WHEN 用户获取全局配置时,THE Mini_Program SHALL 成功调用 `/config` 接口
|
||
2. WHEN 用户获取平台配置时,THE Mini_Program SHALL 成功调用 `/getPlatformConfig` 接口
|
||
3. WHEN 用户获取广告信息时,THE Mini_Program SHALL 成功调用相关广告接口
|
||
4. WHEN 用户获取单页内容时,THE Mini_Program SHALL 成功调用 `/danye` 或 `/getDanye` 接口
|
||
5. WHEN 用户获取悬浮球信息时,THE Mini_Program SHALL 成功调用 `/getFloatBall` 接口
|
||
6. WHEN 用户收藏商品时,THE Mini_Program SHALL 成功调用 `/addCollect` 接口
|
||
7. WHEN 用户查看收藏列表时,THE Mini_Program SHALL 成功调用 `/listCollect` 接口
|
||
8. WHEN 用户申请提现时,THE Mini_Program SHALL 成功调用 `/withdraw` 接口
|
||
9. WHEN 用户查看提现记录时,THE Mini_Program SHALL 成功调用 `/withdraw_log` 接口
|
||
10. WHEN 用户查看道具卡列表时,THE Mini_Program SHALL 成功调用 `/item_card_list` 接口
|
||
11. WHEN 用户领取优惠券中心优惠券时,THE Mini_Program SHALL 成功调用 `/t_coupon_ling` 接口
|
||
12. WHEN 用户查看优惠券中心列表时,THE Mini_Program SHALL 成功调用 `/t_coupon_list` 接口
|
||
|
||
### Requirement 14: 测试验证
|
||
|
||
**User Story:** 作为开发者,我希望能够验证所有 API 迁移是否成功。
|
||
|
||
#### Acceptance Criteria
|
||
|
||
1. THE Mini_Program SHALL 在测试环境中完成所有核心功能的验证
|
||
2. WHEN 发现 API 不兼容问题时,THE Mini_Program SHALL 记录并报告问题
|
||
3. THE Mini_Program SHALL 支持快速回滚到旧的 API 配置
|
||
4. THE Mini_Program SHALL 验证所有接口的请求和响应格式正确
|