mirror of
https://github.com/hpd840321/craftlabs-authorization-sdk.git
synced 2026-06-09 18:10:30 +08:00
65eb983035
Vue 3 + Element Plus layout with JWT login, RBAC routes, axios 401 handling with token restore, and Customers/Projects views wired to platform APIs. Made-with: Cursor
20 lines
675 B
JavaScript
20 lines
675 B
JavaScript
/**
|
||
* @param {unknown} err
|
||
* @param {string} fallback
|
||
*/
|
||
export function apiErrorMessage(err, fallback) {
|
||
const e = err && typeof err === "object" && "response" in err ? err : null;
|
||
const data = e?.response?.data;
|
||
if (typeof data === "string" && data.trim()) return data;
|
||
if (data && typeof data === "object") {
|
||
if (typeof data.message === "string" && data.message.trim()) return data.message;
|
||
if (Array.isArray(data.errors)) {
|
||
const parts = data.errors
|
||
.map((x) => (x && typeof x === "object" ? x.defaultMessage || x.message : null))
|
||
.filter(Boolean);
|
||
if (parts.length) return parts.join(";");
|
||
}
|
||
}
|
||
return fallback;
|
||
}
|