## ADDED Requirements ### Requirement: Agent Asset Action Buttons SHALL Respect Session Button Permissions The agent asset list SHALL use the backend-provided button permission codes from the authenticated session to determine whether IoT card and device action buttons are rendered. The page SHALL use the following H5-specific permission-code mapping: - IoT卡停机:`asset:card_stop_h5` - IoT卡复机:`asset:card_start_h5` - 设备停机:`asset:device_stop_h5` - 设备复机:`asset:device_start_h5` #### Scenario: Login response returns button permission codes - **WHEN** `POST /api/auth/login` succeeds - **THEN** the frontend SHALL treat the response `buttons` array as the source of button-level permissions for the authenticated session - **AND** the session data used by the agent asset list SHALL preserve those button permission codes #### Scenario: Asset action has its mapped H5 permission code and the code is present - **WHEN** an IoT card or device action button in the agent asset list has one of the mapped H5 permission codes - **AND** that permission code exists in the current session `buttons` array - **THEN** the corresponding action button SHALL be rendered #### Scenario: Asset action has its mapped H5 permission code and the code is absent - **WHEN** an IoT card or device action button in the agent asset list has one of the mapped H5 permission codes - **AND** that permission code does not exist in the current session `buttons` array - **THEN** the corresponding action button SHALL NOT be rendered #### Scenario: Session includes only a subset of asset action permissions - **WHEN** the current session `buttons` array contains permission codes for only some of the asset actions - **THEN** only the matching asset action buttons SHALL be shown - **AND** non-matching asset action buttons SHALL remain hidden #### Scenario: Session includes unrelated button codes - **WHEN** the current session `buttons` array includes unrelated button codes such as `device:clear_series` - **THEN** no asset action button SHALL become visible unless its own mapped H5 permission code is also present #### Scenario: Action permissions are absent but the list item remains accessible - **WHEN** the current session does not grant any asset action button permissions for a list item - **THEN** the asset status text SHALL still be shown - **AND** the detail-page entry affordance for the list item SHALL remain available - **AND** the page SHALL NOT render placeholder or disabled action buttons in place of the hidden ones