统一前端错误读取和调试日志
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
type DebugConsole = Pick<
|
||||
Console,
|
||||
'log' | 'warn' | 'error' | 'group' | 'groupEnd' | 'table'
|
||||
>
|
||||
|
||||
function runInDev(method: keyof DebugConsole, args: unknown[]) {
|
||||
if (!import.meta.env.DEV) return
|
||||
console[method](...args)
|
||||
}
|
||||
|
||||
export function debugLog(...args: unknown[]) {
|
||||
runInDev('log', args)
|
||||
}
|
||||
|
||||
export function debugWarn(...args: unknown[]) {
|
||||
runInDev('warn', args)
|
||||
}
|
||||
|
||||
export function debugError(...args: unknown[]) {
|
||||
runInDev('error', args)
|
||||
}
|
||||
|
||||
export function debugGroup(...args: unknown[]) {
|
||||
runInDev('group', args)
|
||||
}
|
||||
|
||||
export function debugGroupEnd() {
|
||||
runInDev('groupEnd', [])
|
||||
}
|
||||
|
||||
export function debugTable(data?: unknown, columns?: string[]) {
|
||||
if (!import.meta.env.DEV) return
|
||||
console.table(data, columns)
|
||||
}
|
||||
@@ -3,8 +3,17 @@
|
||||
*/
|
||||
export function readError(error: unknown, fallback: string): string {
|
||||
if (typeof error === 'object' && error && 'response' in error) {
|
||||
const response = (error as { response?: { data?: { message?: string } } }).response
|
||||
return response?.data?.message || fallback
|
||||
const response = (
|
||||
error as {
|
||||
response?: {
|
||||
data?: {
|
||||
message?: string
|
||||
error?: string
|
||||
}
|
||||
}
|
||||
}
|
||||
).response
|
||||
return response?.data?.message || response?.data?.error || fallback
|
||||
}
|
||||
if (error instanceof Error) {
|
||||
return error.message || fallback
|
||||
|
||||
Reference in New Issue
Block a user