浏览代码

perf: axios default error interceptor allows you to customize error handling (#4283)

Vben 7 月之前
父节点
当前提交
b3e3e05990

+ 1 - 1
packages/@core/preferences/src/config.ts

@@ -75,7 +75,7 @@ const defaultPreferences: Preferences = {
   tabbar: {
     dragable: true,
     enable: true,
-    height: 36,
+    height: 38,
     keepAlive: true,
     persist: true,
     showIcon: true,

+ 1 - 1
packages/@core/ui-kit/layout-ui/src/vben-layout.vue

@@ -50,7 +50,7 @@ const props = withDefaults(defineProps<Props>(), {
   sidebarWidth: 180,
   sideCollapseWidth: 60,
   tabbarEnable: true,
-  tabbarHeight: 36,
+  tabbarHeight: 40,
   zIndex: 200,
 });
 

+ 3 - 3
packages/@core/ui-kit/tabs-ui/src/components/tabs-chrome/tabs.vue

@@ -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;
         }
       }
     }

+ 2 - 1
packages/effects/layouts/src/widgets/check-updates/check-updates.vue

@@ -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();

+ 2 - 2
packages/effects/request/src/request-client/preset-interceptors.ts

@@ -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);
     },
   };

+ 1 - 1
packages/effects/request/src/request-client/types.ts

@@ -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> {
   /**