Pārlūkot izejas kodu

Signed-off-by: zhaobao <528046418@qq.com>

zhaobao 3 gadi atpakaļ
vecāks
revīzija
acca5cdfcb
2 mainītis faili ar 30 papildinājumiem un 21 dzēšanām
  1. 5 1
      src/network/http/apiRequest.ts
  2. 25 20
      src/views/paas/atu/index.vue

+ 5 - 1
src/network/http/apiRequest.ts

@@ -1,10 +1,11 @@
 import type { AxiosResponse } from 'axios'
 import axios from 'axios'
 // import qs from 'qs'
-import { ElMessage } from 'element-plus'
+import { ElLoading, ElMessage } from 'element-plus'
 import router from '@/router/index'
 import useSettingsStore from '@/store/modules/settings'
 import useUserStore from '@/store/modules/user'
+let loading: { close: () => void }
 
 // 全局拦截请求发送前提交的参数
 const settingsStore = useSettingsStore()
@@ -28,6 +29,7 @@ const apiRequest = axios.create({
 
 apiRequest.interceptors.request.use(
   (request) => {
+    loading = ElLoading.service({ text: 'LOADING……' })
     const userStore = useUserStore()
     // 设置请求头
     if (request.headers) {
@@ -52,6 +54,7 @@ apiRequest.interceptors.request.use(
 // eslint-disable-next-line @typescript-eslint/ban-ts-comment
 apiRequest.interceptors.response.use(
   (response: AxiosResponse<any>) => {
+    loading.close()
     /**
      * 全局拦截请求发送后返回的数据,如果数据有报错则在这做全局的错误提示
      * 假设返回数据格式为:{ status: 0, error: '', data: '' }
@@ -76,6 +79,7 @@ apiRequest.interceptors.response.use(
     }
   },
   (error) => {
+    loading.close()
     let message = error.message
     if (message === 'Network Error') {
       message = '后端网络故障'

+ 25 - 20
src/views/paas/atu/index.vue

@@ -9,7 +9,7 @@ import { ElMessage, ElMessageBox } from 'element-plus'
 import ModelObjectSelector from './components/ModelObjectSelector.vue'
 import useSettingsStore from '@/store/modules/settings'
 import { getApiById } from '@/api/paas/apiApi'
-import { deleteAtuById, getAtuByList } from '@/api/paas/apiTransUnitApi'
+import { deleteAtuById, generateParamsByCode, getAtuByList } from '@/api/paas/apiTransUnitApi'
 import { createX, deleteX, getX, patchX, updateX } from '@/api/paas/apiGatewayApi'
 
 const settingsStore = useSettingsStore()
@@ -79,29 +79,34 @@ const onDelete = (data: { apiId: number; atuId: number; objectTitle: string }) =
   })
 }
 
-const onGenerateParams = () => {
-  state.result = '生成参数'
+const onGenerateParams = async () => {
+  const { data } = await generateParamsByCode(state.apiCode)
+  state.data = JSON.stringify(data)
 }
 
 const onExecute = async () => {
-  const apiType = state.apiType
-  const apiCode = state.apiCode
-  const params = {}
-
-  if (apiType === 1) {
-    await getX(apiCode, params)
-  }
-  else if (apiType === 2) {
-    await createX(apiCode, params)
-  }
-  else if (apiType === 3) {
-    await updateX(apiCode, params)
-  }
-  else if (apiType === 4) {
-    await patchX(apiCode, params)
+  try {
+    const apiType = state.apiType
+    const apiCode = state.apiCode
+    const params = JSON.parse(state.data)
+    if (apiType === 1) {
+      await getX(apiCode, params)
+    }
+    else if (apiType === 2) {
+      await createX(apiCode, params)
+    }
+    else if (apiType === 3) {
+      await updateX(apiCode, params)
+    }
+    else if (apiType === 4) {
+      await patchX(apiCode, params)
+    }
+    else if (apiType === 5) {
+      await deleteX(apiCode, params)
+    }
   }
-  else if (apiType === 5) {
-    await deleteX(apiCode, params)
+  catch (err) {
+    ElMessage.error('提交失败')
   }
 }
 // 选择对象模型回调