fix: some
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 7m3s

This commit is contained in:
luo
2026-09-18 10:31:14 +08:00
parent ac541b17af
commit 5e7f5eaba4
19 changed files with 463 additions and 128 deletions

View File

@@ -0,0 +1,38 @@
## ADDED Requirements
### Requirement: 代理注册店铺信息填写与店铺编号生成
代理注册页 SHALL 由注册者自行填写店铺名称;店铺编号 SHALL 由前端生成并随注册请求提交为 `shop_code`;注册页 MUST NOT 从二维码 URL 带入或锁定店铺名称与店铺编号。
#### Scenario: 扫码进入注册页
- **GIVEN** 用户通过店铺分销二维码进入注册页URL 携带 `distribution_code`
- **WHEN** 页面初始化
- **THEN** 店铺名称输入框 MUST 为空且可编辑
- **AND** 店铺编号 MUST NOT 由 URL 预填或锁定
- **AND** 分销码 MUST 由 URL 带入并锁定
#### Scenario: 提交注册生成店铺编号
- **GIVEN** 注册者已填写店铺名称与其他必填项
- **WHEN** 其提交注册
- **THEN** 请求体 MUST 携带前端生成的 `shop_code`
- **AND** `shop_code` MUST 非空
- **AND** MUST NOT 因店铺编号为空阻止提交
#### Scenario: 店铺名称必填
- **GIVEN** 注册者未填写店铺名称
- **WHEN** 其提交注册
- **THEN** 前端 MUST 阻止提交并提示填写店铺名称
### Requirement: 代理注册用户名长度校验
代理注册页用户名 SHALL 至少包含 3 个字符;不满足时前端 MUST 阻止提交并提示。
#### Scenario: 用户名长度不足
- **GIVEN** 注册者输入的用户名长度为 1 或 2
- **WHEN** 其提交注册
- **THEN** 前端 MUST 阻止提交
- **AND** MUST 提示用户名长度必须大于 2 个字符

View File

@@ -0,0 +1,26 @@
## ADDED Requirements
### Requirement: 线下代充付款凭证上传后自动识别
线下代充弹窗 SHALL 在支付凭证上传成功后自动识别一次交易流水号,同时保留手动「识别凭证」按钮;自动识别失败 MUST NOT 阻断提交,且 MUST 只预填 `external_transaction_no`
#### Scenario: 上传支付凭证后自动识别
- **GIVEN** 线下代充弹窗已选择支付凭证
- **WHEN** 凭证上传成功
- **THEN** 前端 MUST 自动调用 `POST /api/admin/agent-recharges/payment-voucher-ocr`
- **AND** 识别成功时 MUST 将返回的 `external_transaction_no` 预填入交易流水号输入框
#### Scenario: 保留手动识别
- **GIVEN** 支付凭证已上传
- **WHEN** 用户点击「识别凭证」
- **THEN** 前端 MUST 支持手动触发识别
#### Scenario: 自动识别失败不阻断
- **GIVEN** 自动识别返回失败或超时
- **WHEN** 识别结束
- **THEN** 前端 MUST NOT 阻断用户手动填写与提交
- **AND** MUST NOT 清空用户已填写内容
- **AND** MUST 只预填 `external_transaction_no`,不得预填金额、付款人、付款时间或备注

View File

@@ -0,0 +1,44 @@
## ADDED Requirements
### Requirement: 核销申请付款凭证识别
创建核销申请弹窗 SHALL 将付款凭证字段置于外部交易流水号字段上方,并 SHALL 支持上传付款凭证后自动识别交易流水号预填,同时保留手动「识别凭证」按钮;识别结果 MUST 只作预填且保持可编辑,识别失败 MUST NOT 阻断提交或清空已填内容。
#### Scenario: 上传凭证后自动识别
- **GIVEN** 用户在创建核销申请弹窗上传付款凭证
- **WHEN** 凭证上传成功
- **THEN** 前端 MUST 自动调用付款凭证识别接口
- **AND** 识别成功时 MUST 将返回的 `external_transaction_no` 预填入交易流水号输入框
#### Scenario: 手动识别
- **GIVEN** 付款凭证已上传
- **WHEN** 用户点击「识别凭证」
- **THEN** 前端 MUST 调用识别接口并预填交易流水号
#### Scenario: 识别失败不阻断
- **GIVEN** 识别接口返回失败或超时
- **WHEN** 自动或手动识别结束
- **THEN** 前端 MUST 只展示提示
- **AND** MUST NOT 清空已填写的交易流水号
- **AND** MUST NOT 阻止用户提交
#### Scenario: 字段顺序
- **GIVEN** 用户打开创建核销申请弹窗
- **WHEN** 表单渲染
- **THEN** 付款凭证字段 MUST 位于外部交易流水号字段之上
### Requirement: 核销申请凭证识别接口契约
核销申请付款凭证识别 SHALL 复用 `POST /api/admin/agent-recharges/payment-voucher-ocr`,请求体 `{ payment_voucher_key }`,响应取 `external_transaction_no`;请求超时 MUST NOT 低于 30 秒,请求期间 MUST 展示 loading 并防止重复触发。
#### Scenario: 识别请求契约
- **GIVEN** 已上传至少 1 个付款凭证
- **WHEN** 前端发起识别
- **THEN** 请求体 MUST 为 `{ payment_voucher_key }`,取首个已上传凭证对象键
- **AND** 响应 MUST 只用于预填 `external_transaction_no`
- **AND** 请求超时 MUST NOT 低于 30 秒