## 1. Exchange Creation Failure Contract - [x] 1.1 保持 `POST /api/admin/exchanges` 及其成功响应结构不变。 - [x] 1.2 读取创建失败响应的统一 `code` 和 `msg`,不将后端业务原因替换为通用前端文案。 ## 2. Refund Interception Feedback - [x] 2.1 通过统一 HTTP 错误处理展示后端返回的退款拦截业务原因,不在创建弹窗内额外渲染本地错误区域。 - [x] 2.2 退款拦截失败后保留表单输入、已选资产和流程类型。 - [x] 2.3 请求结束后恢复提交按钮,使用户能够更换资产并再次提交。 ## 3. Backend-Controlled Eligibility - [x] 3.1 不增加退款状态查询、预检查区域或退款申请入口。 - [x] 3.2 不根据退款审批、撤销、拒绝或处理状态自行判断资产能否换货。 ## 4. Verification - [ ] 4.1 验证活跃退款资产创建换货时显示“该资产存在退款申请”或后端等价业务原因,且不创建换货单。 - [ ] 4.2 验证已拒绝、撤销或处理完成退款的资产按后端结果可继续创建换货。 - [ ] 4.3 验证失败后保留表单并可更换资产重新提交。 - [x] 4.4 运行相关前端校验,并执行 `openspec validate update-exchange-refund-interception-feedback --strict`。