perf: axios default error interceptor allows you to customize error handling (#4283)
parent
cc678a2b51
commit
b3e3e05990
|
@ -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> {
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue