Browse Source
perf: axios default error interceptor allows you to customize error handling (#4283)
pull/4285/head
Vben
2 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with
10 additions and
9 deletions
-
packages/@core/preferences/src/config.ts
-
packages/@core/ui-kit/layout-ui/src/vben-layout.vue
-
packages/@core/ui-kit/tabs-ui/src/components/tabs-chrome/tabs.vue
-
packages/effects/layouts/src/widgets/check-updates/check-updates.vue
-
packages/effects/request/src/request-client/preset-interceptors.ts
-
packages/effects/request/src/request-client/types.ts
|
|
|
@ -75,7 +75,7 @@ const defaultPreferences: Preferences = { |
|
|
|
tabbar: { |
|
|
|
dragable: true, |
|
|
|
enable: true, |
|
|
|
height: 36, |
|
|
|
height: 38, |
|
|
|
keepAlive: true, |
|
|
|
persist: true, |
|
|
|
showIcon: true, |
|
|
|
|
|
|
|
@ -50,7 +50,7 @@ const props = withDefaults(defineProps<Props>(), { |
|
|
|
sidebarWidth: 180, |
|
|
|
sideCollapseWidth: 60, |
|
|
|
tabbarEnable: true, |
|
|
|
tabbarHeight: 36, |
|
|
|
tabbarHeight: 40, |
|
|
|
zIndex: 200, |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
@ -91,7 +91,7 @@ const tabsView = computed((): TabConfig[] => { |
|
|
|
class="tabs-chrome__background absolute z-[-1] size-full px-[calc(var(--gap)-1px)] py-0 transition-opacity duration-150" |
|
|
|
> |
|
|
|
<div |
|
|
|
class="tabs-chrome__background-content group-[.is-active]:bg-heavy dark:group-[.is-active]:bg-accent h-full rounded-tl-[var(--gap)] rounded-tr-[var(--gap)] duration-150" |
|
|
|
class="tabs-chrome__background-content group-[.is-active]:bg-primary/15 dark:group-[.is-active]:bg-accent h-full rounded-tl-[var(--gap)] rounded-tr-[var(--gap)] duration-150" |
|
|
|
></div> |
|
|
|
<svg |
|
|
|
class="tabs-chrome__background-before group-[.is-active]:fill-primary/15 dark:group-[.is-active]:fill-accent absolute bottom-0 left-[-1px] fill-transparent transition-all duration-150" |
|
|
|
@ -128,7 +128,7 @@ const tabsView = computed((): TabConfig[] => { |
|
|
|
|
|
|
|
<!-- tab-item-main --> |
|
|
|
<div |
|
|
|
class="tabs-chrome__item-main group-[.is-active]:text-accent-foreground dark:group-[.is-active]:text-accent-foreground text-accent-foreground z-[2] mx-[calc(var(--gap)*2)] my-0 flex h-full items-center overflow-hidden rounded-tl-[5px] rounded-tr-[5px] pl-2 pr-4 duration-150" |
|
|
|
class="tabs-chrome__item-main group-[.is-active]:text-primary dark:group-[.is-active]:text-accent-foreground text-accent-foreground z-[2] mx-[calc(var(--gap)*2)] my-0 flex h-full items-center overflow-hidden rounded-tl-[5px] rounded-tr-[5px] pl-2 pr-4 duration-150" |
|
|
|
> |
|
|
|
<VbenIcon |
|
|
|
v-if="showIcon" |
|
|
|
@ -168,7 +168,7 @@ const tabsView = computed((): TabConfig[] => { |
|
|
|
@apply pb-[2px]; |
|
|
|
|
|
|
|
&-content { |
|
|
|
@apply bg-accent-hover mx-[2px] rounded-md; |
|
|
|
@apply bg-accent mx-[2px] rounded-md; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -76,7 +76,8 @@ function handleNotice(versionTag: string) { |
|
|
|
ToastAction, |
|
|
|
{ |
|
|
|
altText: $t('common.refresh'), |
|
|
|
class: 'bg-primary hover:bg-primary-hover mx-1', |
|
|
|
class: |
|
|
|
'bg-primary text-primary-foreground hover:bg-primary-hover mx-1', |
|
|
|
onClick: () => { |
|
|
|
lastVersionTag.value = versionTag; |
|
|
|
window.location.reload(); |
|
|
|
|
|
|
|
@ -87,7 +87,7 @@ export const errorMessageResponseInterceptor = ( |
|
|
|
errMsg = $t('fallback.http.requestTimeout'); |
|
|
|
} |
|
|
|
if (errMsg) { |
|
|
|
makeErrorMessage?.(errMsg); |
|
|
|
makeErrorMessage?.(errMsg, error); |
|
|
|
return Promise.reject(error); |
|
|
|
} |
|
|
|
|
|
|
|
@ -119,7 +119,7 @@ export const errorMessageResponseInterceptor = ( |
|
|
|
errorMessage = $t('fallback.http.internalServerError'); |
|
|
|
} |
|
|
|
} |
|
|
|
makeErrorMessage?.(errorMessage); |
|
|
|
makeErrorMessage?.(errorMessage, error); |
|
|
|
return Promise.reject(error); |
|
|
|
}, |
|
|
|
}; |
|
|
|
|
|
|
|
@ -28,7 +28,7 @@ interface ResponseInterceptorConfig<T = any> { |
|
|
|
rejected?: (error: any) => any; |
|
|
|
} |
|
|
|
|
|
|
|
type MakeErrorMessageFn = (message: string) => void; |
|
|
|
type MakeErrorMessageFn = (message: string, error: any) => void; |
|
|
|
|
|
|
|
interface HttpResponse<T = any> { |
|
|
|
/** |
|
|
|
|