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
	
	 Vben
						Vben