fix(fleet): preserve retry intent and restore inquiry editing

This commit is contained in:
2026-10-03 13:00:32 +08:00
parent 0b5094dd8f
commit 3440f9dd11
9 changed files with 152 additions and 14 deletions
@@ -28,6 +28,10 @@ export function fleetVersion(value: Numeric): string {
if (!/^(0|[1-9]\d*)$/.test(String(value)) || (typeof value === 'number' && !Number.isSafeInteger(value))) throw new Error('接口版本无效')
return String(value)
}
export function isFleetCommandRejected(error: unknown): boolean {
return error instanceof ApiResponseError && ((error.status != null && error.status >= 400 && error.status < 500)
|| /^A04\d\d$/.test(error.code) || ['400', '409', '422', 'VALIDATION_FAILED', 'CONFLICT'].includes(error.code))
}
export function fleetPage<T>(value: { records: T[]; page: Numeric; size: Numeric; total: Numeric; pages: Numeric }): PageResult<T> {
const integer = (n: Numeric) => { const result = fleetNumber(n); if (!Number.isSafeInteger(result)) throw new Error('接口分页超出有效范围'); return result }
return { ...value, page: integer(value.page), size: integer(value.size), total: integer(value.total), pages: integer(value.pages) }