38 lines
2.3 KiB
Markdown
38 lines
2.3 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Real-name behavior SHALL use the effective backend asset policy
|
|
|
|
The H5/C client SHALL use `GET /api/c/v1/asset/info?identifier=...` as the source of truth for real-name behavior. It SHALL consume `effective_realname_policy`, `realname_required`, and `real_name_status` and SHALL NOT infer policy or final device real-name status from asset type, card type, device type, or frontend-only rules.
|
|
|
|
#### Scenario: Asset does not require real name
|
|
|
|
- **WHEN** asset information returns `effective_realname_policy = none` or `realname_required = false`
|
|
- **THEN** the client SHALL show the asset as not requiring real-name completion
|
|
- **AND** the client SHALL not block the normal order flow for real-name completion
|
|
|
|
#### Scenario: Real name is required before ordering
|
|
|
|
- **WHEN** asset information returns `effective_realname_policy = before_order`, `realname_required = true`, and `real_name_status` as not completed
|
|
- **THEN** the client SHALL show the real-name requirement
|
|
- **AND** the client SHALL prevent package order submission until the existing real-name flow completes
|
|
|
|
#### Scenario: Real name is required after ordering
|
|
|
|
- **WHEN** the effective real-name policy is `after_order`
|
|
- **AND** `/api/c/v1/device/cards` returns no card with completed real-name authentication
|
|
- **AND** package history contains neither a pending package (`status = 0`) nor an active package (`status = 1`)
|
|
- **THEN** selecting a real-name entry on the homepage or operator-switch page SHALL block direct real-name authentication
|
|
- **AND** the client SHALL show a confirmation prompt that can navigate to package ordering
|
|
|
|
#### Scenario: Post-order real-name requirement is satisfied
|
|
|
|
- **WHEN** the effective real-name policy is `after_order`
|
|
- **AND** `/api/c/v1/device/cards` returns at least one authenticated card, or package history contains a pending or active package
|
|
- **THEN** the homepage and operator-switch real-name entries SHALL retain the existing real-name authentication flow
|
|
|
|
#### Scenario: Device status is resolved from server output
|
|
|
|
- **WHEN** a device has cards with different local-looking real-name states but the asset info response returns the effective device `real_name_status`
|
|
- **THEN** the client SHALL display and use that returned effective status
|
|
- **AND** the client SHALL not replace it with a card/device inference
|