Explorar el Código

fix:修复发生错误时不显示服务端返回的信息的问题

yangyi hace 4 meses
padre
commit
5bee6869b5

+ 5 - 0
src/util/axios-instance.ts

@@ -1,4 +1,5 @@
 import axios, { type AxiosInstance, type AxiosRequestConfig, type AxiosResponse } from 'axios'
+import { ElMessage } from 'element-plus'
 import router from '@/router'
 import { useUserStore } from '@/store'
 
@@ -37,7 +38,9 @@ axiosInstance.interceptors.response.use(
       const userStore = useUserStore()
       userStore.logout()
       router.push('/login')
+      return Promise.reject(new Error(message || '未登录'))
     }
+    ElMessage.error(message || '请求失败')
     return Promise.reject(new Error(message || '请求失败'))
   },
   (error) => {
@@ -45,7 +48,9 @@ axiosInstance.interceptors.response.use(
       const userStore = useUserStore()
       userStore.logout()
       router.push('/login')
+      return Promise.reject(error)
     }
+    ElMessage.error(error.message || '网络错误')
     return Promise.reject(error)
   },
 )

+ 2 - 4
src/view/ChangePassword.vue

@@ -82,10 +82,8 @@ const handleSubmit = async () => {
       ElMessage.success('密码修改成功')
       router.push('/profile')
     }
-  } catch (err: unknown) {
-    if (err && typeof err === 'object' && 'message' in err) {
-      ElMessage.error((err as { message: string }).message)
-    }
+  } catch {
+    // 拦截器已展示错误信息
   } finally {
     submitting.value = false
   }

+ 4 - 5
src/view/Chat.vue

@@ -42,7 +42,6 @@
 <script setup lang="ts">
 import { ref, onMounted, nextTick } from 'vue'
 import { useRoute, useRouter } from 'vue-router'
-import { ElMessage } from 'element-plus'
 import { ArrowLeft, Loading } from '@element-plus/icons-vue'
 import { getMessages } from '../api/endpoints/messages'
 import { useUserStore } from '../store'
@@ -80,6 +79,8 @@ const loadMessages = async () => {
       }
       await scrollToBottom()
     }
+  } catch {
+    // 拦截器已展示错误信息
   } finally {
     loading.value = false
   }
@@ -99,10 +100,8 @@ const handleSend = async () => {
       text.value = ''
       await scrollToBottom()
     }
-  } catch (err: unknown) {
-    if (err && typeof err === 'object' && 'message' in err) {
-      ElMessage.error((err as { message: string }).message)
-    }
+  } catch {
+    // 拦截器已展示错误信息
   }
 }
 

+ 2 - 0
src/view/Home.vue

@@ -104,6 +104,8 @@ const loadItems = async () => {
       itemList.value = res.data?.list ?? []
       total.value = res.data?.total ?? 0
     }
+  } catch {
+    // 拦截器已展示错误信息
   } finally {
     loading.value = false
   }

+ 4 - 4
src/view/ItemDetail.vue

@@ -61,6 +61,8 @@ const loadItem = async () => {
     if (res.code === 200) {
       item.value = res.data!
     }
+  } catch {
+    // 拦截器已展示错误信息
   } finally {
     loading.value = false
   }
@@ -91,10 +93,8 @@ const handleBuy = async () => {
       ElMessage.success('下单成功')
       router.push(`/order/${res.data}`)
     }
-  } catch (err: unknown) {
-    if (err && typeof err === 'object' && 'message' in err) {
-      ElMessage.error((err as { message: string }).message)
-    }
+  } catch {
+    // 拦截器已展示错误信息
   }
 }
 

+ 2 - 0
src/view/Messages.vue

@@ -49,6 +49,8 @@ onMounted(async () => {
     if (res.code === 200) {
       conversations.value = res.data ?? []
     }
+  } catch {
+    // 拦截器已展示错误信息
   } finally {
     loading.value = false
   }

+ 2 - 0
src/view/MyItems.vue

@@ -132,6 +132,8 @@ const loadItems = async () => {
     if (activeTab.value === 'SOLD') {
       await loadSoldOrders()
     }
+  } catch {
+    // 拦截器已展示错误信息
   } finally {
     loading.value = false
   }

+ 6 - 8
src/view/MyOrders.vue

@@ -158,6 +158,8 @@ const loadOrders = async () => {
     if (res.code === 200) {
       allOrders.value = res.data?.list ?? []
     }
+  } catch {
+    // 拦截器已展示错误信息
   } finally {
     loading.value = false
   }
@@ -178,10 +180,8 @@ const handleAccept = async (order: OrderVO) => {
       ElMessage.success('已接单')
       loadOrders()
     }
-  } catch (err: unknown) {
-    if (err && typeof err === 'object' && 'message' in err) {
-      ElMessage.error((err as { message: string }).message)
-    }
+  } catch {
+    // 拦截器已展示错误信息
   }
 }
 
@@ -205,10 +205,8 @@ const handleDeliver = async (order: OrderVO) => {
       ElMessage.success('已确认交货,等待买家收货')
       loadOrders()
     }
-  } catch (err: unknown) {
-    if (err && typeof err === 'object' && 'message' in err) {
-      ElMessage.error((err as { message: string }).message)
-    }
+  } catch {
+    // 拦截器已展示错误信息
   }
 }
 

+ 6 - 8
src/view/OrderDetail.vue

@@ -141,10 +141,8 @@ const handleAccept = async () => {
       ElMessage.success('已接单')
       await loadOrder()
     }
-  } catch (err: unknown) {
-    if (err && typeof err === 'object' && 'message' in err) {
-      ElMessage.error((err as { message: string }).message)
-    }
+  } catch {
+    // 拦截器已展示错误信息
   }
 }
 
@@ -168,10 +166,8 @@ const handleDeliver = async () => {
       ElMessage.success('已确认交货,等待买家收货')
       await loadOrder()
     }
-  } catch (err: unknown) {
-    if (err && typeof err === 'object' && 'message' in err) {
-      ElMessage.error((err as { message: string }).message)
-    }
+  } catch {
+    // 拦截器已展示错误信息
   }
 }
 
@@ -215,6 +211,8 @@ const loadOrder = async () => {
       list1.find((o) => o.id === id) ??
       list2.find((o) => o.id === id) ??
       null
+  } catch {
+    // 拦截器已展示错误信息
   } finally {
     loading.value = false
   }

+ 4 - 8
src/view/Profile.vue

@@ -178,10 +178,8 @@ const handleSubmitAuth = async () => {
       cardFile.value = null
       cardFileList.value = []
     }
-  } catch (err: unknown) {
-    if (err && typeof err === 'object' && 'message' in err) {
-      ElMessage.error((err as { message: string }).message)
-    }
+  } catch {
+    // 拦截器已展示错误信息
   } finally {
     submitting.value = false
   }
@@ -239,10 +237,8 @@ const handleSave = async () => {
       }
       ElMessage.success('保存成功')
     }
-  } catch (err: unknown) {
-    if (err && typeof err === 'object' && 'message' in err) {
-      ElMessage.error((err as { message: string }).message)
-    }
+  } catch {
+    // 拦截器已展示错误信息
   } finally {
     saving.value = false
   }

+ 2 - 4
src/view/Publish.vue

@@ -110,10 +110,8 @@ const handlePublish = async () => {
       ElMessage.success('发布成功,等待管理员审核')
       router.push('/my/items')
     }
-  } catch (err: unknown) {
-    if (err && typeof err === 'object' && 'message' in err) {
-      ElMessage.error((err as { message: string }).message)
-    }
+  } catch {
+    // 拦截器已展示错误信息
   } finally {
     submitting.value = false
   }

+ 2 - 0
src/view/Search.vue

@@ -101,6 +101,8 @@ const doSearch = async () => {
       itemList.value = res.data?.list ?? []
       total.value = res.data?.total ?? 0
     }
+  } catch {
+    // 拦截器已展示错误信息
   } finally {
     loading.value = false
   }

+ 6 - 8
src/view/admin/CategoryManage.vue

@@ -81,6 +81,8 @@ const loadCategories = async () => {
     if (res.code === 200) {
       categories.value = res.data ?? []
     }
+  } catch {
+    // 拦截器已展示错误信息
   } finally {
     loading.value = false
   }
@@ -116,10 +118,8 @@ const handleSave = async () => {
     }
     dialog.visible = false
     loadCategories()
-  } catch (err: unknown) {
-    if (err && typeof err === 'object' && 'message' in err) {
-      ElMessage.error((err as { message: string }).message)
-    }
+  } catch {
+    // 拦截器已展示错误信息
   } finally {
     saving.value = false
   }
@@ -133,10 +133,8 @@ const handleToggleStatus = async (row: Category) => {
       ElMessage.success(newStatus === 'ENABLED' ? '已启用' : '已禁用')
       loadCategories()
     }
-  } catch (err: unknown) {
-    if (err && typeof err === 'object' && 'message' in err) {
-      ElMessage.error((err as { message: string }).message)
-    }
+  } catch {
+    // 拦截器已展示错误信息
   }
 }
 

+ 6 - 8
src/view/admin/ReviewItem.vue

@@ -137,6 +137,8 @@ const loadItems = async () => {
       itemList.value = res.data?.list ?? []
       total.value = res.data?.total ?? 0
     }
+  } catch {
+    // 拦截器已展示错误信息
   } finally {
     loading.value = false
   }
@@ -151,10 +153,8 @@ const handleApprove = async (id: number) => {
       ElMessage.success('已上架')
       loadItems()
     }
-  } catch (err: unknown) {
-    if (err && typeof err === 'object' && 'message' in err) {
-      ElMessage.error((err as { message: string }).message)
-    }
+  } catch {
+    // 拦截器已展示错误信息
   }
 }
 
@@ -172,10 +172,8 @@ const confirmReject = async () => {
       rejectDialog.visible = false
       loadItems()
     }
-  } catch (err: unknown) {
-    if (err && typeof err === 'object' && 'message' in err) {
-      ElMessage.error((err as { message: string }).message)
-    }
+  } catch {
+    // 拦截器已展示错误信息
   }
 }
 </script>

+ 6 - 8
src/view/admin/ReviewUser.vue

@@ -73,6 +73,8 @@ const loadUsers = async () => {
       userList.value = res.data?.list ?? []
       total.value = res.data?.total ?? 0
     }
+  } catch {
+    // 拦截器已展示错误信息
   } finally {
     loading.value = false
   }
@@ -87,10 +89,8 @@ const handleApprove = async (id: number) => {
       ElMessage.success('已通过')
       loadUsers()
     }
-  } catch (err: unknown) {
-    if (err && typeof err === 'object' && 'message' in err) {
-      ElMessage.error((err as { message: string }).message)
-    }
+  } catch {
+    // 拦截器已展示错误信息
   }
 }
 
@@ -108,10 +108,8 @@ const confirmReject = async () => {
       rejectDialog.visible = false
       loadUsers()
     }
-  } catch (err: unknown) {
-    if (err && typeof err === 'object' && 'message' in err) {
-      ElMessage.error((err as { message: string }).message)
-    }
+  } catch {
+    // 拦截器已展示错误信息
   }
 }
 </script>