This commit is contained in:
zhangjianjun 2026-07-14 18:02:06 +08:00
parent 1a31c85e27
commit 96b3b1a798
2 changed files with 11 additions and 1 deletions

View File

@ -7,6 +7,15 @@ describe('unwrapApiEnvelope', () => {
expect(unwrapApiEnvelope({ code: 200, data: { id: 1 } })).toEqual({ id: 1 })
})
it('treats backend code 0 as a successful response', () => {
const data = {
id: '1508503',
outTradeNo: '10050_20260714112755619_10001',
status: 1,
}
expect(unwrapApiEnvelope({ code: 0, message: 'OK', data })).toEqual(data)
})
it('supports a successful response without a code for backwards compatibility', () => {
expect(unwrapApiEnvelope({ data: 'ok' })).toBe('ok')
})

View File

@ -20,7 +20,8 @@ export function unwrapApiEnvelope<T>(value: unknown): T {
}
const envelope = value as ApiEnvelope<T>
if (envelope.code !== undefined && envelope.code !== 200) {
const isSuccess = envelope.code === undefined || envelope.code === 0 || envelope.code === 200
if (!isSuccess) {
const message = envelope.message?.split(',')[0] || '请求失败'
throw new ApiError(message, envelope.code)
}