@opentiny/tiny-toolkit-pro
Version:
TinyPro Vue:开箱即用、前后端分离的 Vue 后台管理模板
28 lines (24 loc) • 713 B
text/typescript
import { CommonError } from '@/types/global';
export function isCommonError(error: unknown): error is CommonError {
return (
typeof error === 'object' &&
error !== null &&
'message' in error &&
typeof (error as Record<string, unknown>).message === 'string'
);
}
export default class BaseUtils {
public static getErrorMessage(error: unknown): string {
return this.convertToCommonError(error).message;
}
private static convertToCommonError(error: unknown): CommonError {
if (isCommonError(error)) {
return error;
}
try {
return new Error(JSON.stringify(error));
} catch (e) {
return new Error(String(error));
}
}
}