2.3 KiB
2.3 KiB
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 = noneorrealname_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, andreal_name_statusas 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/cardsreturns 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/cardsreturns 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