/** * 请求失败原因词汇(票 05 从 services/cockpitApi.js 提到 domain)。 * * 提上来的理由:分区状态(domain/sectionState.js)要按失败原因判定「数据不可用」还是「加载失败」, * 而 domain 不该反过来 import service——那会形成 domain → service → domain 的层次倒挂。 * 词汇属于领域,怎么发请求属于服务,所以常量放这里。 * * 兼容:`services/cockpitApi.js` 仍然对外导出 `REQUEST_REASON`(转出本模块), * 票 04 的断言脚本与既有调用点因此不需要改。 */ /** 失败原因。分区据此决定「数据不可用」措辞(见 domain/configStatus.js)。 */ export const REQUEST_REASON = { NO_BASE_URL: 'no-base-url', MOCK_MISSING: 'mock-handler-missing', UNAUTHORIZED: 'unauthorized', UNAVAILABLE: 'unavailable', UNREACHABLE: 'unreachable', BAD_PAYLOAD: 'bad-payload', // 票 08:地图摘要分页自带的失效态。后端在「第 2 页起没带快照」或「带的快照与当前不一致」时 // 回 400 + `CockpitErrorCategory.SNAPSHOT_EXPIRED`(`CockpitMapSnapshotService`)。 // 它是可恢复的业务态而不是链路失败:界面要说「请刷新」,不能笼统报「加载失败」。 SNAPSHOT_EXPIRED: 'snapshot-expired', }