Files
pda-overseas-uniapp/src/utils/dispatch-error.js
T
2026-10-09 17:36:40 +08:00

26 lines
938 B
JavaScript

const FORBIDDEN_CODES = new Set(['403', 'A0403'])
const CONFLICT_CODES = new Set(['409', 'A0409', 'B0409'])
const VEHICLE_PLATE_REQUIRED = 'Vehicle plate is required before PDA push or picking'
export function toDispatchError(error, fallback = '排车作业失败') {
const code = String(error?.code || '')
const originalMessage = String(error?.message || '').trim()
let message = originalMessage || fallback
if (error?.network) {
message = '网络连接失败,请检查网络后重试,当前作业已保留'
} else if (FORBIDDEN_CODES.has(code)) {
message = '当前账号没有海外仓 PDA 作业权限,请联系管理员授权'
} else if (CONFLICT_CODES.has(code) && originalMessage === VEHICLE_PLATE_REQUIRED) {
message = '请先在平台维护车牌信息后再拣货'
}
return {
message,
code: error?.code,
requestId: error?.requestId,
traceId: error?.traceId,
network: Boolean(error?.network)
}
}