2.1 KiB
2.1 KiB
ADDED Requirements
Requirement: Bind page SHALL prefill the account main phone
The system SHALL prefill the bind-phone input with the logged-in account's main phone when one exists, using GET /api/c/v1/asset/info -> bound_phone, and SHALL allow sending a bind_phone verification code to that number.
Scenario: Existing account with a main phone enters the bind page
- WHEN the account already has a main phone and the user enters
pages/bind/bind - THEN the phone input SHALL be prefilled with the main phone
- AND the user SHALL be able to request a
bind_phoneverification code for that number without being rejected
Scenario: New account without a main phone enters the bind page
- WHEN the account has no main phone
- THEN the phone input SHALL remain empty
- AND the user SHALL enter a new number and follow the normal bind flow
Requirement: Bind submission SHALL be idempotent for the account main phone
When POST /api/c/v1/auth/bind-phone is submitted with the account main phone and a valid code, the system SHALL treat it as a successful idempotent association instead of rejecting because the phone is already in use.
Scenario: Main phone plus valid code
- WHEN the submitted phone equals the account main phone and the code is valid
- THEN the bind request SHALL succeed
- AND the response SHALL keep the existing shape (
phone,bound_at) - AND the existing bind-completion routing SHALL apply unchanged
Scenario: Number different from the main phone
- WHEN the submitted phone differs from the account main phone
- THEN the bind request SHALL be rejected
- AND the system SHALL display the backend
msgand keep the user on the bind page
Requirement: Bind failures SHALL display backend messages
The system SHALL present the backend-provided error message for all bind-phone failures instead of a generic failure text, and SHALL keep the user on the bind page.
Scenario: Backend rejection with message
- WHEN
bind-phonereturns a business error - THEN the bind page SHALL show the returned
msg - AND the page SHALL NOT navigate away