From 96b3b1a798a62ebd8cc7a24d959c8a414c4eecd8 Mon Sep 17 00:00:00 2001 From: zhangjianjun Date: Tue, 14 Jul 2026 18:02:06 +0800 Subject: [PATCH] ud --- src/services/api-envelope.test.ts | 9 +++++++++ src/services/api-envelope.ts | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/services/api-envelope.test.ts b/src/services/api-envelope.test.ts index bb2b3ca..c42bad7 100644 --- a/src/services/api-envelope.test.ts +++ b/src/services/api-envelope.test.ts @@ -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') }) diff --git a/src/services/api-envelope.ts b/src/services/api-envelope.ts index 439f4af..d259730 100644 --- a/src/services/api-envelope.ts +++ b/src/services/api-envelope.ts @@ -20,7 +20,8 @@ export function unwrapApiEnvelope(value: unknown): T { } const envelope = value as ApiEnvelope - 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) }