Procházet zdrojové kódy

优化接口调用容错处理

zhontai před 2 roky
rodič
revize
ae8d23c202

+ 6 - 2
src/views/admin/api/components/api-form.vue

@@ -125,9 +125,13 @@ const onSure = () => {
     let res = {} as any
     state.form.parentId = state.form.parentId && state.form.parentId > 0 ? state.form.parentId : undefined
     if (state.form.id != undefined && state.form.id > 0) {
-      res = await new ApiApi().update(state.form, { showSuccessMessage: true })
+      res = await new ApiApi().update(state.form, { showSuccessMessage: true }).catch(() => {
+        state.sureLoading = false
+      })
     } else {
-      res = await new ApiApi().add(state.form, { showSuccessMessage: true })
+      res = await new ApiApi().add(state.form, { showSuccessMessage: true }).catch(() => {
+        state.sureLoading = false
+      })
     }
 
     state.sureLoading = false

+ 4 - 2
src/views/admin/api/index.vue

@@ -97,8 +97,10 @@ onUnmounted(() => {
 
 const onQuery = async () => {
   state.loading = true
-  const res = await new ApiApi().getList()
-  if (res.data && res.data.length > 0) {
+  const res = await new ApiApi().getList().catch(() => {
+    state.loading = false
+  })
+  if (res && res.data && res.data.length > 0) {
     state.apiTreeData = listToTree(cloneDeep(res.data))
     state.formApiTreeData = listToTree(res.data.filter((a) => a.parentId === 0))
   } else {

+ 3 - 1
src/views/admin/cache/index.vue

@@ -39,7 +39,9 @@ onMounted(() => {
 
 const onQuery = async () => {
   state.loading = true
-  const res = await new CacheApi().getList()
+  const res = await new CacheApi().getList().catch(() => {
+    state.loading = false
+  })
   state.cacheListData = res?.data ?? []
   state.loading = false
 }

+ 4 - 2
src/views/admin/dictionary/dictionary-type.vue

@@ -96,9 +96,11 @@ onUnmounted(() => {
 const onQuery = async () => {
   state.loading = true
   state.pageInput.filter = state.filterModel
-  const res = await new DictionaryTypeApi().getPage(state.pageInput)
+  const res = await new DictionaryTypeApi().getPage(state.pageInput).catch(() => {
+    state.loading = false
+  })
   state.dictionaryTypeListData = res?.data?.list ?? []
-  state.total = res.data?.total ?? 0
+  state.total = res?.data?.total ?? 0
   if (state.dictionaryTypeListData.length > 0) {
     nextTick(() => {
       tableRef.value!.setCurrentRow(state.dictionaryTypeListData[0])

+ 4 - 2
src/views/admin/dictionary/dictionary.vue

@@ -93,9 +93,11 @@ onUnmounted(() => {
 const onQuery = async () => {
   state.loading = true
   state.pageInput.filter = state.filterModel
-  const res = await new DictionaryApi().getPage(state.pageInput)
+  const res = await new DictionaryApi().getPage(state.pageInput).catch(() => {
+    state.loading = false
+  })
   state.dictionaryListData = res?.data?.list ?? []
-  state.total = res.data?.total ?? 0
+  state.total = res?.data?.total ?? 0
   state.loading = false
 }
 

+ 4 - 2
src/views/admin/file/index.vue

@@ -155,10 +155,12 @@ const getInitialIndex = (imgUrl: string) => {
 
 const onQuery = async () => {
   state.loading = true
-  const res = await new FileApi().getPage({ ...state.pageInput, filter: state.filterModel })
+  const res = await new FileApi().getPage({ ...state.pageInput, filter: state.filterModel }).catch(() => {
+    state.loading = false
+  })
 
   state.fileListData = res?.data?.list ?? []
-  state.total = res.data?.total ?? 0
+  state.total = res?.data?.total ?? 0
   state.loading = false
 }
 

+ 4 - 2
src/views/admin/logs/login-log.vue

@@ -77,10 +77,12 @@ const formatterTime = (row: any, column: any, cellValue: any) => {
 const onQuery = async () => {
   state.loading = true
   state.pageInput.filter = state.filterModel
-  const res = await new LoginLogApi().getPage(state.pageInput)
+  const res = await new LoginLogApi().getPage(state.pageInput).catch(() => {
+    state.loading = false
+  })
 
   state.loginLogListData = res?.data?.list ?? []
-  state.total = res.data?.total ?? 0
+  state.total = res?.data?.total ?? 0
   state.loading = false
 }
 

+ 4 - 2
src/views/admin/logs/opration-log.vue

@@ -82,10 +82,12 @@ const formatterTime = (row: any, column: any, cellValue: any) => {
 const onQuery = async () => {
   state.loading = true
   state.pageInput.filter = state.filterModel
-  const res = await new OprationLogApi().getPage(state.pageInput)
+  const res = await new OprationLogApi().getPage(state.pageInput).catch(() => {
+    state.loading = false
+  })
 
   state.oprationLogListData = res?.data?.list ?? []
-  state.total = res.data?.total ?? 0
+  state.total = res?.data?.total ?? 0
   state.loading = false
 }
 

+ 6 - 2
src/views/admin/org/components/org-form.vue

@@ -120,9 +120,13 @@ const onSure = () => {
     let res = {} as any
     state.form.parentId = state.form.parentId && state.form.parentId > 0 ? state.form.parentId : undefined
     if (state.form.id != undefined && state.form.id > 0) {
-      res = await new OrgApi().update(state.form, { showSuccessMessage: true })
+      res = await new OrgApi().update(state.form, { showSuccessMessage: true }).catch(() => {
+        state.sureLoading = false
+      })
     } else {
-      res = await new OrgApi().add(state.form, { showSuccessMessage: true })
+      res = await new OrgApi().add(state.form, { showSuccessMessage: true }).catch(() => {
+        state.sureLoading = false
+      })
     }
 
     state.sureLoading = false

+ 3 - 1
src/views/admin/org/components/org-menu.vue

@@ -86,7 +86,9 @@ const onCheckChange = () => {
 
 const initData = async () => {
   state.loading = true
-  const res = await new OrgApi().getList()
+  const res = await new OrgApi().getList().catch(() => {
+    state.loading = false
+  })
   state.loading = false
   if (res?.success && res.data && res.data.length > 0) {
     state.orgTreeData = listToTree(res.data)

+ 4 - 2
src/views/admin/org/index.vue

@@ -84,8 +84,10 @@ onUnmounted(() => {
 
 const onQuery = async () => {
   state.loading = true
-  const res = await new OrgApi().getList()
-  if (res.data && res.data.length > 0) {
+  const res = await new OrgApi().getList().catch(() => {
+    state.loading = false
+  })
+  if (res && res.data && res.data.length > 0) {
     state.orgTreeData = listToTree(res.data)
   } else {
     state.orgTreeData = []

+ 9 - 3
src/views/admin/permission/components/permission-dot-form.vue

@@ -134,7 +134,9 @@ const open = async (row: any = {}) => {
   await getApis()
 
   if (row.id > 0) {
-    const res = await new PermissionApi().getDot({ id: row.id })
+    const res = await new PermissionApi().getDot({ id: row.id }).catch(() => {
+      proxy.$modal.closeLoading()
+    })
 
     if (res?.success) {
       let formData = res.data as PermissionUpdateDotInput
@@ -179,9 +181,13 @@ const onSure = () => {
     let res = {} as any
     state.form.parentId = state.form.parentId && state.form.parentId > 0 ? state.form.parentId : undefined
     if (state.form.id != undefined && state.form.id > 0) {
-      res = await new PermissionApi().updateDot(state.form, { showSuccessMessage: true })
+      res = await new PermissionApi().updateDot(state.form, { showSuccessMessage: true }).catch(() => {
+        state.sureLoading = false
+      })
     } else {
-      res = await new PermissionApi().addDot(state.form, { showSuccessMessage: true })
+      res = await new PermissionApi().addDot(state.form, { showSuccessMessage: true }).catch(() => {
+        state.sureLoading = false
+      })
     }
 
     state.sureLoading = false

+ 9 - 3
src/views/admin/permission/components/permission-group-form.vue

@@ -147,7 +147,9 @@ const open = async (row: any = {}) => {
   proxy.$modal.loading()
   await getViews()
   if (row.id > 0) {
-    const res = await new PermissionApi().getGroup({ id: row.id })
+    const res = await new PermissionApi().getGroup({ id: row.id }).catch(() => {
+      proxy.$modal.closeLoading()
+    })
 
     if (res?.success) {
       let formData = res.data as PermissionUpdateGroupInput
@@ -180,9 +182,13 @@ const onSure = () => {
     let res = {} as any
     state.form.parentId = state.form.parentId && state.form.parentId > 0 ? state.form.parentId : undefined
     if (state.form.id != undefined && state.form.id > 0) {
-      res = await new PermissionApi().updateGroup(state.form, { showSuccessMessage: true })
+      res = await new PermissionApi().updateGroup(state.form, { showSuccessMessage: true }).catch(() => {
+        state.sureLoading = false
+      })
     } else {
-      res = await new PermissionApi().addGroup(state.form, { showSuccessMessage: true })
+      res = await new PermissionApi().addGroup(state.form, { showSuccessMessage: true }).catch(() => {
+        state.sureLoading = false
+      })
     }
 
     state.sureLoading = false

+ 9 - 3
src/views/admin/permission/components/permission-menu-form.vue

@@ -171,7 +171,9 @@ const open = async (row: any = {}) => {
   await getViews()
 
   if (row.id > 0) {
-    const res = await new PermissionApi().getMenu({ id: row.id })
+    const res = await new PermissionApi().getMenu({ id: row.id }).catch(() => {
+      proxy.$modal.closeLoading()
+    })
 
     if (res?.success) {
       let formData = res.data as PermissionUpdateMenuInput
@@ -216,9 +218,13 @@ const onSure = () => {
     let res = {} as any
     state.form.parentId = state.form.parentId && state.form.parentId > 0 ? state.form.parentId : undefined
     if (state.form.id != undefined && state.form.id > 0) {
-      res = await new PermissionApi().updateMenu(state.form, { showSuccessMessage: true })
+      res = await new PermissionApi().updateMenu(state.form, { showSuccessMessage: true }).catch(() => {
+        state.sureLoading = false
+      })
     } else {
-      res = await new PermissionApi().addMenu(state.form, { showSuccessMessage: true })
+      res = await new PermissionApi().addMenu(state.form, { showSuccessMessage: true }).catch(() => {
+        state.sureLoading = false
+      })
     }
 
     state.sureLoading = false

+ 4 - 2
src/views/admin/permission/index.vue

@@ -159,8 +159,10 @@ onUnmounted(() => {
 
 const onQuery = async () => {
   state.loading = true
-  const res = await new PermissionApi().getList()
-  if (res.data && res.data.length > 0) {
+  const res = await new PermissionApi().getList().catch(() => {
+    state.loading = false
+  })
+  if (res && res.data && res.data.length > 0) {
     state.permissionTreeData = listToTree(cloneDeep(res.data))
     state.formPermissionGroupTreeData = listToTree(cloneDeep(res.data).filter((a) => a.type === 1))
     state.formPermissionMenuTreeData = listToTree(cloneDeep(res.data).filter((a) => a.type === 1 || a.type === 2))

+ 3 - 1
src/views/admin/personal/index.vue

@@ -207,7 +207,9 @@ onMounted(() => {
 // 初始化数据
 const initData = async () => {
   state.loading = true
-  const res = await new UserApi().getBasic()
+  const res = await new UserApi().getBasic().catch(() => {
+    state.loading = false
+  })
   if (res?.success) {
     state.personalForm.name = res.data?.name as string
     state.personalForm.nickName = res.data?.nickName as string

+ 6 - 2
src/views/admin/role/components/role-form.vue

@@ -108,9 +108,13 @@ const onSure = () => {
     let res = {} as any
     state.form.parentId = state.form.parentId && state.form.parentId > 0 ? state.form.parentId : undefined
     if (state.form.id != undefined && state.form.id > 0) {
-      res = await new RoleApi().update(state.form, { showSuccessMessage: true })
+      res = await new RoleApi().update(state.form, { showSuccessMessage: true }).catch(() => {
+        state.sureLoading = false
+      })
     } else {
-      res = await new RoleApi().add(state.form, { showSuccessMessage: true })
+      res = await new RoleApi().add(state.form, { showSuccessMessage: true }).catch(() => {
+        state.sureLoading = false
+      })
     }
 
     state.sureLoading = false

+ 4 - 2
src/views/admin/role/components/set-role-menu.vue

@@ -79,8 +79,10 @@ const close = () => {
 const onQuery = async () => {
   state.loading = true
 
-  const res = await new PermissionApi().getPermissionList()
-  if (res.data && res.data.length > 0) {
+  const res = await new PermissionApi().getPermissionList().catch(() => {
+    state.loading = false
+  })
+  if (res && res.data && res.data.length > 0) {
     state.permissionTreeData = listToTree(cloneDeep(res.data))
   } else {
     state.permissionTreeData = []

+ 10 - 4
src/views/admin/role/index.vue

@@ -162,8 +162,10 @@ onUnmounted(() => {
 
 const onQuery = async () => {
   state.loading = true
-  const res = await new RoleApi().getList()
-  if (res.data && res.data.length > 0) {
+  const res = await new RoleApi().getList().catch(() => {
+    state.loading = false
+  })
+  if (res && res.data && res.data.length > 0) {
     state.roleTreeData = listToTree(cloneDeep(res.data))
     state.roleFormTreeData = listToTree(cloneDeep(res.data).filter((a) => a.parentId === 0))
     if (state.roleTreeData[0].children?.length > 0) {
@@ -216,7 +218,9 @@ const onDelete = (row: RoleGetListOutput) => {
 
 const onGetRoleUserList = async () => {
   state.userListLoading = true
-  const res = await new RoleApi().getRoleUserList({ RoleId: state.roleId })
+  const res = await new RoleApi().getRoleUserList({ RoleId: state.roleId }).catch(() => {
+    state.userListLoading = false
+  })
   state.userListLoading = false
   if (res?.success) {
     if (res.data && res.data.length > 0) {
@@ -296,7 +300,9 @@ const onSureUser = async (users: UserGetPageOutput[]) => {
   state.sureLoading = true
   const userIds = users?.map((a) => a.id)
   const input = { roleId: state.roleId, userIds } as RoleAddRoleUserListInput
-  await new RoleApi().addRoleUser(input, { showSuccessMessage: true })
+  await new RoleApi().addRoleUser(input, { showSuccessMessage: true }).catch(() => {
+    state.sureLoading = false
+  })
   state.sureLoading = false
   userSelectRef.value.close()
   onGetRoleUserList()

+ 4 - 2
src/views/admin/task/components/task-logs.vue

@@ -71,10 +71,12 @@ const formatterTime = (row: any, column: any, cellValue: any) => {
 
 const onQuery = async () => {
   state.loading = true
-  const res = await new TaskLogApi().getPage(state.pageInput)
+  const res = await new TaskLogApi().getPage(state.pageInput).catch(() => {
+    state.loading = false
+  })
 
   state.taskLogListData = res?.data?.list ?? []
-  state.total = res.data?.total ?? 0
+  state.total = res?.data?.total ?? 0
   state.loading = false
 }
 const onSizeChange = (val: number) => {

+ 4 - 2
src/views/admin/task/index.vue

@@ -144,10 +144,12 @@ const formatterTime = (row: any, column: any, cellValue: any) => {
 
 const onQuery = async () => {
   state.loading = true
-  const res = await new TaskApi().getPage(state.pageInput)
+  const res = await new TaskApi().getPage(state.pageInput).catch(() => {
+    state.loading = false
+  })
 
   state.taskListData = res?.data?.list ?? []
-  state.total = res.data?.total ?? 0
+  state.total = res?.data?.total ?? 0
   state.loading = false
 }
 

+ 4 - 2
src/views/admin/tenant/components/set-tenant-menu.vue

@@ -79,8 +79,10 @@ const close = () => {
 const onQuery = async () => {
   state.loading = true
 
-  const res = await new PermissionApi().getPermissionList()
-  if (res.data && res.data.length > 0) {
+  const res = await new PermissionApi().getPermissionList().catch(() => {
+    state.loading = false
+  })
+  if (res && res.data && res.data.length > 0) {
     state.permissionTreeData = listToTree(cloneDeep(res.data))
   } else {
     state.permissionTreeData = []

+ 4 - 2
src/views/admin/tenant/index.vue

@@ -97,10 +97,12 @@ onUnmounted(() => {
 
 const onQuery = async () => {
   state.loading = true
-  const res = await new TenantApi().getPage(state.pageInput)
+  const res = await new TenantApi().getPage(state.pageInput).catch(() => {
+    state.loading = false
+  })
 
   state.tenantListData = res?.data?.list ?? []
-  state.total = res.data?.total ?? 0
+  state.total = res?.data?.total ?? 0
   state.loading = false
 }
 

+ 6 - 2
src/views/admin/user/components/user-form.vue

@@ -172,7 +172,9 @@ watch(
 )
 
 const getOrgs = async () => {
-  const res = await new OrgApi().getList()
+  const res = await new OrgApi().getList().catch(() => {
+    state.orgTreeData = []
+  })
   if (res?.success && res.data && res.data.length > 0) {
     state.orgTreeData = listToTree(res.data)
   } else {
@@ -181,7 +183,9 @@ const getOrgs = async () => {
 }
 
 const getRoles = async () => {
-  const res = await new RoleApi().getList()
+  const res = await new RoleApi().getList().catch(() => {
+    state.roleTreeData = []
+  })
   if (res?.success && res.data && res.data.length > 0) {
     state.roleTreeData = listToTree(res.data)
   } else {

+ 4 - 2
src/views/admin/user/components/user-select.vue

@@ -125,10 +125,12 @@ const close = () => {
 
 const onQuery = async () => {
   state.loading = true
-  const res = await new UserApi().getPage(state.pageInput)
+  const res = await new UserApi().getPage(state.pageInput).catch(() => {
+    state.loading = false
+  })
 
   state.userListData = res?.data?.list ?? []
-  state.total = res.data?.total ?? 0
+  state.total = res?.data?.total ?? 0
   state.loading = false
 }
 

+ 4 - 2
src/views/admin/user/index.vue

@@ -114,10 +114,12 @@ onUnmounted(() => {
 
 const onQuery = async () => {
   state.loading = true
-  const res = await new UserApi().getPage(state.pageInput)
+  const res = await new UserApi().getPage(state.pageInput).catch(() => {
+    state.loading = false
+  })
 
   state.userListData = res?.data?.list ?? []
-  state.total = res.data?.total ?? 0
+  state.total = res?.data?.total ?? 0
   state.loading = false
 }
 

+ 6 - 2
src/views/admin/view/components/view-form.vue

@@ -126,9 +126,13 @@ const onSure = () => {
     let res = {} as any
     state.form.parentId = state.form.parentId && state.form.parentId > 0 ? state.form.parentId : undefined
     if (state.form.id != undefined && state.form.id > 0) {
-      res = await new ViewApi().update(state.form, { showSuccessMessage: true })
+      res = await new ViewApi().update(state.form, { showSuccessMessage: true }).catch(() => {
+        state.sureLoading = false
+      })
     } else {
-      res = await new ViewApi().add(state.form, { showSuccessMessage: true })
+      res = await new ViewApi().add(state.form, { showSuccessMessage: true }).catch(() => {
+        state.sureLoading = false
+      })
     }
 
     state.sureLoading = false

+ 4 - 2
src/views/admin/view/index.vue

@@ -86,8 +86,10 @@ onUnmounted(() => {
 
 const onQuery = async () => {
   state.loading = true
-  const res = await new ViewApi().getList()
-  if (res.data && res.data.length > 0) {
+  const res = await new ViewApi().getList().catch(() => {
+    state.loading = false
+  })
+  if (res && res.data && res.data.length > 0) {
     state.viewTreeData = listToTree(cloneDeep(res.data))
   } else {
     state.viewTreeData = []