ZaiZai 2 år sedan
förälder
incheckning
691084f449

+ 1 - 1
public/version.json

@@ -1,3 +1,3 @@
 {
-  "value": "20230705172205"
+  "value": "20230705172513"
 }

+ 2 - 1
src/api/modules/project/project-list.js

@@ -38,7 +38,8 @@ export default {
         return httpApi({
             url: '/api/blade-control/projectInfo/addProjectInfo',
             method: 'post',
-            data: form
+            data: form,
+            isDelay: true
         }, msg);
     },
     //修改项目

+ 1 - 3
src/api/request/httpApi.js

@@ -8,9 +8,7 @@ export const httpApi = async (obj, message = true) => {
         request(obj).then((response) => {
             resolve(getResData(response, false));
         }).catch((response) => {
-            if (message) {
-                window.$message?.error(getMsgVal(response));
-            }
+            if (message) window.$message?.error(getMsgVal(response));
             resolve(getResData(response, true));
         })
     });

+ 22 - 2
src/api/request/index.js

@@ -38,13 +38,14 @@ axios.interceptors.request.use(config => {
     if (config.method === 'post' && meta['isSerialize'] === true) {
         config.data = toSerialize(config.data);
     }
+    config.metadata = {startTime: new Date()}
     return config
 }, error => {
     return Promise.reject(error)
 });
 
 //http response 拦截
-axios.interceptors.response.use(res => {
+axios.interceptors.response.use(async (res) => {
     //获取状态码
     const status = res.data?.code || res.status;
     const message = res.data?.msg || res.data['error_description'] || '未知错误';
@@ -57,10 +58,29 @@ axios.interceptors.response.use(res => {
     if (status !== 200) {
         return Promise.reject(res);
     }
-    return res;
+    //判断响应时间
+    res.config.metadata.endTime = new Date()
+    if (res.config.isDelay) {
+        const {startTime, endTime} = res.config.metadata
+        const duration = endTime - startTime
+        if (duration > 200) {
+            return res;
+        } else {
+            await setDurationTimeout(duration)
+            return res;
+        }
+    } else {
+        return res;
+    }
 }, error => {
     window.$message?.error('请求异常!');
     return Promise.reject(new Error(error));
 });
 
+const setDurationTimeout = (duration) => {
+    setTimeout(() => {
+        return Promise.resolve(true)
+    }, 1000 - duration)
+}
+
 export default axios;