## 1. API Contract

- [x] 1.1 定义批量实名认证策略请求类型，包含 `asset_ids:int64[]` 与 `realname_policy:none|before_order|after_order`。
- [x] 1.2 接入卡批量更新接口 `POST /api/admin/iot-cards/batch-update-realname-policy`。
- [x] 1.3 接入设备批量更新接口 `POST /api/admin/devices/batch-update-realname-policy`。

## 2. IoT Card Batch Configuration

- [x] 2.1 在卡列表多选操作区增加“批量修改实名顺序”入口。
- [x] 2.2 弹框展示已选卡数量并提供三种互斥实名认证策略。
- [x] 2.3 超过 500 张卡时阻止提交并显示明确提示。
- [x] 2.4 成功后关闭弹框并刷新卡列表；失败时保留选择并展示后端业务原因。

## 3. Device Batch Configuration

- [x] 3.1 在设备列表多选操作区增加“批量修改实名顺序”入口。
- [x] 3.2 弹框展示已选设备数量并提供三种互斥实名认证策略。
- [x] 3.3 展示“实际H5流程由设备策略决定”提示。
- [x] 3.4 超过 500 台设备时阻止提交并显示明确提示。
- [x] 3.5 成功后关闭弹框并刷新设备列表；失败时保留选择并展示后端业务原因。

## 4. Policy Integrity and Verification

- [x] 4.1 前端不根据资产类型、卡类型或其他字段覆盖或推导提交策略。
- [ ] 4.2 验证卡和设备三种策略均按所选值提交，且单次 500 条以内成功。
- [ ] 4.3 验证超过 500 条、后端全成全败失败和网络失败均显示明确错误且不部分刷新列表。
- [ ] 4.4 验证设备弹框显示 H5 流程归属提示。
- [x] 4.5 运行相关前端校验，并执行 `openspec validate add-asset-batch-realname-policy --strict`。
