## ADDED Requirements ### Requirement: Agent Asset Detail SHALL Remove Redundant Basic Fields The agent asset detail experience SHALL remove fields that are no longer required from the basic information area. #### Scenario: Viewing an IoT card detail - **WHEN** the current asset is an IoT card - **THEN** the basic information section SHALL NOT show `批次号` #### Scenario: Viewing a device detail - **WHEN** the current asset is a device - **THEN** the basic information section SHALL NOT show `制造商` - **AND** the basic information section SHALL NOT show `批次号` - **AND** the basic information section SHALL NOT show `保护状态` - **AND** the basic information section SHALL NOT show `切卡模式` ### Requirement: Agent Asset Detail SHALL Emphasize Bound IoT Card Identity And Status The agent device detail view SHALL make bound IoT card identity and real-name status easier to scan. #### Scenario: Rendering a bound IoT card item - **WHEN** a device detail contains a bound IoT card entry - **THEN** the label `电话` SHALL be renamed to `MSISDN` - **AND** the item SHALL display `carrier_name` as `运营商` - **AND** missing `msisdn` or `carrier_name` values SHALL render as `-` #### Scenario: Rendering real-name status - **WHEN** a bound IoT card has a `real_name_status` - **THEN** the UI SHALL render that status with stronger visual emphasis than ordinary low-contrast metadata text - **AND** the meaning of existing status values SHALL remain unchanged #### Scenario: Rendering the bound-card header row - **WHEN** a bound IoT card item is rendered in the device detail page - **THEN** the real-name status badge SHALL be placed in the same row as the slot title - **AND** the badge SHALL appear after the slot title text - **AND** the lower metadata area SHALL NOT render a second standalone real-name field for the same card ### Requirement: Agent Device Realtime Status SHALL Prioritize High-Value Realtime Information The agent device detail realtime block SHALL remove low-value traffic rows and absorb the "last online" field as a realtime-oriented field. #### Scenario: Rendering device realtime traffic statistics - **WHEN** the device realtime block is shown - **THEN** it SHALL continue to show `今日用量` - **AND** it SHALL continue to show `限速` - **AND** it SHALL NOT show `下载流量` - **AND** it SHALL NOT show `上传流量` #### Scenario: Rendering last online time - **WHEN** a device detail page has a realtime section - **THEN** the page SHALL show `最后上线时间` inside the realtime section - **AND** it SHALL prefer `realtimeStatus.device_realtime.last_online_time` - **AND** it SHALL fall back to `deviceInfo.last_online_time` when the realtime value is absent #### Scenario: Rendering the legacy time-information block - **WHEN** the device detail page previously showed `创建时间`, `最后在线`, or `网关同步` in a separate time-information block - **THEN** that block SHALL no longer show `创建时间` - **AND** that block SHALL no longer show `最后在线` - **AND** that block SHALL no longer show `网关同步` ### Requirement: Agent Asset Detail Package List SHALL Emphasize Effective Period The package list in agent asset detail SHALL make the effective period line visually prominent. #### Scenario: Package has both start and end time - **WHEN** a package list item has both `activated_at` and `expires_at` - **AND** the package is in active status - **THEN** the page SHALL render a dedicated effective-period line with the meaning `生效期:开始时间 至 结束时间` - **AND** that line SHALL have stronger visual prominence than the current weak auxiliary timestamp style #### Scenario: Package is missing part of the effective period - **WHEN** either `activated_at` or `expires_at` is missing - **AND** the package is in active status - **THEN** the effective-period line SHALL still be rendered - **AND** the missing value SHALL display as `-` #### Scenario: Package is not in active status - **WHEN** a package list item is not in active status - **THEN** the page SHALL NOT render the dedicated `生效期` line for that package ### Requirement: Agent Asset Detail Current Package SHALL Prioritize Effective Period Over Order Number The current active package card in agent asset detail SHALL remove the order number from the package header area and use that space to surface the package active period. #### Scenario: Rendering the current active package card - **WHEN** the current active package card is rendered - **THEN** the package name SHALL remain visible - **AND** the order number line below the package name SHALL NOT be shown - **AND** the card SHALL show a labeled `生效期:开始时间 - 到期时间` line in that position instead #### Scenario: Current package is missing part of the active period - **WHEN** either the current package `activated_at` or `expires_at` is missing - **THEN** the labeled `生效期:开始时间 - 到期时间` line SHALL still be rendered - **AND** the missing value SHALL display as `-`