fix(claim): 透出 affiliate_dash 上游错误,便于排查提交 UID 失败

上游 4xx 不再一律打成 502 兜底文案;affiliate_dash 依赖错误优先展示真实 message。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
yml2213
2026-09-15 11:51:32 +08:00
co-authored by Cursor
parent 868e8a740e
commit 2e197f93e0
3 changed files with 42 additions and 17 deletions
+9 -5
View File
@@ -29,12 +29,16 @@ export function buildSuccessPayload(data: unknown, msg: string = 'ok') {
export function buildErrorPayload(error: unknown, fallbackMessage: string) {
const classification = classifyRouteError(error)
const message =
classification.statusCode >= 500
const errorMessage = error instanceof Error ? String(error.message || '').trim() : ''
// 依赖方错误(如 affiliate_dash)即使映射为 5xx,也优先透出上游可读原因。
const preferUpstreamMessage =
errorMessage &&
(classification.statusCode < 500 || classification.errorCode.startsWith('affiliate_dash'))
const message = preferUpstreamMessage
? errorMessage
: classification.statusCode >= 500
? fallbackMessage || '服务内部错误'
: error instanceof Error
? error.message
: fallbackMessage
: errorMessage || fallbackMessage
return {
code: 1,