diff --git a/apps/backend-mock/utils/response.ts b/apps/backend-mock/utils/response.ts index aa6d18cc..851f7830 100644 --- a/apps/backend-mock/utils/response.ts +++ b/apps/backend-mock/utils/response.ts @@ -41,12 +41,12 @@ export function useResponseError(message: string, error: any = null) { export function forbiddenResponse(event: H3Event) { setResponseStatus(event, 403); - return useResponseError('ForbiddenException', 'Forbidden Exception'); + return useResponseError('Forbidden Exception', 'Forbidden Exception'); } export function unAuthorizedResponse(event: H3Event) { setResponseStatus(event, 401); - return useResponseError('UnauthorizedException', 'Unauthorized Exception'); + return useResponseError('Unauthorized Exception', 'Unauthorized Exception'); } export function sleep(ms: number) { diff --git a/apps/web-antd/src/api/request.ts b/apps/web-antd/src/api/request.ts index 9bf886c1..e95f2466 100644 --- a/apps/web-antd/src/api/request.ts +++ b/apps/web-antd/src/api/request.ts @@ -95,9 +95,13 @@ function createRequestClient(baseURL: string) { // 通用的错误处理,如果没有进入上面的错误处理逻辑,就会进入这里 client.addResponseInterceptor( - errorMessageResponseInterceptor((msg: string, _error) => { + errorMessageResponseInterceptor((msg: string, error) => { // 这里可以根据业务进行定制,你可以拿到 error 内的信息进行定制化处理,根据不同的 code 做不同的提示,而不是直接使用 message.error 提示 msg - message.error(msg); + // 当前mock接口返回的错误字段是 error 或者 message + const responseData = error?.response?.data ?? {}; + const errorMessage = responseData?.error ?? responseData?.message ?? ''; + // 如果没有错误信息,则会根据状态码进行提示 + message.error(errorMessage || msg); }), ); diff --git a/apps/web-ele/src/api/request.ts b/apps/web-ele/src/api/request.ts index 939735f1..ea85965b 100644 --- a/apps/web-ele/src/api/request.ts +++ b/apps/web-ele/src/api/request.ts @@ -95,9 +95,13 @@ function createRequestClient(baseURL: string) { // 通用的错误处理,如果没有进入上面的错误处理逻辑,就会进入这里 client.addResponseInterceptor( - errorMessageResponseInterceptor((msg: string, _error) => { + errorMessageResponseInterceptor((msg: string, error) => { // 这里可以根据业务进行定制,你可以拿到 error 内的信息进行定制化处理,根据不同的 code 做不同的提示,而不是直接使用 message.error 提示 msg - ElMessage.error(msg); + // 当前mock接口返回的错误字段是 error 或者 message + const responseData = error?.response?.data ?? {}; + const errorMessage = responseData?.error ?? responseData?.message ?? ''; + // 如果没有错误信息,则会根据状态码进行提示 + ElMessage.error(errorMessage || msg); }), ); diff --git a/apps/web-naive/src/api/request.ts b/apps/web-naive/src/api/request.ts index ac0b722c..6d159293 100644 --- a/apps/web-naive/src/api/request.ts +++ b/apps/web-naive/src/api/request.ts @@ -94,9 +94,13 @@ function createRequestClient(baseURL: string) { // 通用的错误处理,如果没有进入上面的错误处理逻辑,就会进入这里 client.addResponseInterceptor( - errorMessageResponseInterceptor((msg: string, _error) => { + errorMessageResponseInterceptor((msg: string, error) => { // 这里可以根据业务进行定制,你可以拿到 error 内的信息进行定制化处理,根据不同的 code 做不同的提示,而不是直接使用 message.error 提示 msg - message.error(msg); + // 当前mock接口返回的错误字段是 error 或者 message + const responseData = error?.response?.data ?? {}; + const errorMessage = responseData?.error ?? responseData?.message ?? ''; + // 如果没有错误信息,则会根据状态码进行提示 + message.error(errorMessage || msg); }), ); diff --git a/docs/src/en/guide/essentials/server.md b/docs/src/en/guide/essentials/server.md index 4a31f936..d9b08011 100644 --- a/docs/src/en/guide/essentials/server.md +++ b/docs/src/en/guide/essentials/server.md @@ -255,9 +255,13 @@ function createRequestClient(baseURL: string) { // Generic error handling; if none of the above error handling logic is triggered, it will fall back to this. client.addResponseInterceptor( - errorMessageResponseInterceptor((msg: string, _error) => { + errorMessageResponseInterceptor((msg: string, error) => { // 这里可以根据业务进行定制,你可以拿到 error 内的信息进行定制化处理,根据不同的 code 做不同的提示,而不是直接使用 message.error 提示 msg - message.error(msg); + // 当前mock接口返回的错误字段是 error 或者 message + const responseData = error?.response?.data ?? {}; + const errorMessage = responseData?.error ?? responseData?.message ?? ''; + // 如果没有错误信息,则会根据状态码进行提示 + message.error(errorMessage || msg); }), ); diff --git a/docs/src/guide/essentials/server.md b/docs/src/guide/essentials/server.md index aa0767f5..29af40d1 100644 --- a/docs/src/guide/essentials/server.md +++ b/docs/src/guide/essentials/server.md @@ -258,9 +258,13 @@ function createRequestClient(baseURL: string) { // 通用的错误处理,如果没有进入上面的错误处理逻辑,就会进入这里 client.addResponseInterceptor( - errorMessageResponseInterceptor((msg: string, _error) => { + errorMessageResponseInterceptor((msg: string, error) => { // 这里可以根据业务进行定制,你可以拿到 error 内的信息进行定制化处理,根据不同的 code 做不同的提示,而不是直接使用 message.error 提示 msg - message.error(msg); + // 当前mock接口返回的错误字段是 error 或者 message + const responseData = error?.response?.data ?? {}; + const errorMessage = responseData?.error ?? responseData?.message ?? ''; + // 如果没有错误信息,则会根据状态码进行提示 + message.error(errorMessage || msg); }), ); diff --git a/packages/effects/request/src/request-client/preset-interceptors.ts b/packages/effects/request/src/request-client/preset-interceptors.ts index a03fec4b..89970161 100644 --- a/packages/effects/request/src/request-client/preset-interceptors.ts +++ b/packages/effects/request/src/request-client/preset-interceptors.ts @@ -91,7 +91,7 @@ export const errorMessageResponseInterceptor = ( return Promise.reject(error); } - let errorMessage = error?.response?.data?.error?.message ?? ''; + let errorMessage = ''; const status = error?.response?.status; switch (status) { diff --git a/playground/src/api/request.ts b/playground/src/api/request.ts index 09be6a9a..72617d1f 100644 --- a/playground/src/api/request.ts +++ b/playground/src/api/request.ts @@ -96,9 +96,13 @@ function createRequestClient(baseURL: string) { // 通用的错误处理,如果没有进入上面的错误处理逻辑,就会进入这里 client.addResponseInterceptor( - errorMessageResponseInterceptor((msg: string, _error) => { + errorMessageResponseInterceptor((msg: string, error) => { // 这里可以根据业务进行定制,你可以拿到 error 内的信息进行定制化处理,根据不同的 code 做不同的提示,而不是直接使用 message.error 提示 msg - message.error(msg); + // 当前mock接口返回的错误字段是 error 或者 message + const responseData = error?.response?.data ?? {}; + const errorMessage = responseData?.error ?? responseData?.message ?? ''; + // 如果没有错误信息,则会根据状态码进行提示 + message.error(errorMessage || msg); }), ); diff --git a/playground/src/views/examples/vxe-table/remote.vue b/playground/src/views/examples/vxe-table/remote.vue index e42ae8a7..2b9572d6 100644 --- a/playground/src/views/examples/vxe-table/remote.vue +++ b/playground/src/views/examples/vxe-table/remote.vue @@ -30,7 +30,6 @@ const gridOptions: VxeGridProps = { { field: 'productName', title: 'Product Name' }, { field: 'price', title: 'Price' }, { field: 'releaseDate', formatter: 'formatDateTime', title: 'DateTime' }, - { field: 'releaseDate', formatter: 'formatDate', title: 'Date' }, ], height: 'auto', keepSource: true,