export type GatewayResult = { status: number; body: T; }; const INTERNAL_ERROR_BODY = { code: "INTERNAL_ERROR", message: "服务暂时不可用,请稍后重试", data: null, } as const; /** * 网关层 5xx 单次重试:首次 5xx 再执行一次,仍 5xx 则返回 503 INTERNAL_ERROR。 */ export async function executeWithGatewayRetry( handler: () => Promise>, ): Promise> { const first = await handler(); if (first.status < 500) { return first; } const second = await handler(); if (second.status < 500) { return second; } return { status: 503, body: INTERNAL_ERROR_BODY }; }