dedsudiyu пре 1 година
родитељ
комит
9fb16db525
1 измењених фајлова са 117 додато и 32 уклоњено
  1. 117 32
      src/utils/menuLink.js

+ 117 - 32
src/utils/menuLink.js

@@ -54,57 +54,142 @@ export function noIsAuthCarryLink(item) {
 }
 //验证/无携参-跳转
 export function isAuthNoCarryLink(item) {
-  let params = JSON.parse(item.params)
   let urlText = window.location.href.split('://')[0]+'://';
-  //链接请求跳转
-  let formData = new FormData();
+  let params = JSON.parse(item.params)
+  let obj = {};
   params.requestArgument.forEach((item)=>{
     if(item.type == 1){
       //数据-键值对
-      formData.append(item.key,item.value);
+      obj[item.key] = item.value;
     }else if(item.type == 2){
       //读取cookie
-      formData.append(item.value,Cookies.get(item.key));
+      obj[item.value] = Cookies.get(item.key);
     }else if(item.type == 3){
       //读取localStorage
-      formData.append(item.value,localStorage.getItem(item.key));
+      obj[item.value] = localStorage.getItem(item.key);
     }else if(item.type == 4){
       //读取sessionStorage
-      formData.append(item.value,sessionStorage.getItem(item.key));
+      obj[item.value] = sessionStorage.getItem(item.key);
     }else if(item.type == 5){
       //生成时间戳-区分13位或者10位
       if(item.num == '10'){
-        formData.append(item.key,Date.parse(new Date())/1000);
+        obj[item.key] = Date.parse(new Date())/1000;
+        formData.append(item.key,);
       }else if(item.num == '13'){
-        formData.append(item.key,Date.parse(new Date()));
+        obj[item.key] = Date.parse(new Date());
       }
     }
   })
-  let xhr = new XMLHttpRequest();
-  xhr.onreadystatechange = function() {
-    if (xhr.readyState === XMLHttpRequest.DONE) {
-      if (xhr.status === 200) {
-        let data = JSON.parse(xhr.response)
-        if(data.code == 200){
-          window.open(item.linkUrl,item.skipType?'_blank':'_self')
-        }else{
-          Message({
-            message: '操作失败,请联系管理员',
-            type: 'error',
-            offset:100
-          })
+  if(item.reqMethod == 'post'){
+    if(item.paramType == 'JSON'){
+      menuLinkPost(urlText+item.reqApi,obj).then(response => {
+        window.open(item.linkUrl,item.skipType?'_blank':'_self')
+      })
+    }else if(item.paramType == 'formData'){
+      let formData = new FormData();
+      params.requestArgument.forEach((item)=>{
+        if(item.type == 1){
+          //数据-键值对
+          formData.append(item.key,item.value);
+        }else if(item.type == 2){
+          //读取cookie
+          formData.append(item.value,Cookies.get(item.key));
+        }else if(item.type == 3){
+          //读取localStorage
+          formData.append(item.value,localStorage.getItem(item.key));
+        }else if(item.type == 4){
+          //读取sessionStorage
+          formData.append(item.value,sessionStorage.getItem(item.key));
+        }else if(item.type == 5){
+          //生成时间戳-区分13位或者10位
+          if(item.num == '10'){
+            formData.append(item.key,Date.parse(new Date())/1000);
+          }else if(item.num == '13'){
+            formData.append(item.key,Date.parse(new Date()));
+          }
         }
-      } else {
-        Message({
-          message: '操作失败,请联系管理员',
-          type: 'error',
-          offset:100
-        })
-      }
+      })
+      let xhr = new XMLHttpRequest();
+      xhr.onreadystatechange = function() {
+        if (xhr.readyState === XMLHttpRequest.DONE) {
+          if (xhr.status === 200) {
+            let data = JSON.parse(xhr.response)
+            if(data.code == 200){
+              window.open(item.linkUrl,item.skipType?'_blank':'_self')
+            }else{
+              Message({
+                message: '操作失败,请联系管理员',
+                type: 'error',
+                offset:100
+              })
+            }
+          } else {
+            Message({
+              message: '操作失败,请联系管理员',
+              type: 'error',
+              offset:100
+            })
+          }
+        }
+      };
+      xhr.open(item.reqMethod,urlText+item.reqApi);
+      xhr.send(formData)
     }
-  };
-  xhr.open(item.reqMethod,urlText+item.reqApi);
-  xhr.send(formData)
+  }else if(item.reqMethod == 'get'){
+    menuLinkGet(urlText+item.reqApi,obj).then(response => {
+      window.open(item.linkUrl,item.skipType?'_blank':'_self')
+    })
+  }
+  //
+  // //链接请求跳转
+  // let formData = new FormData();
+  // params.requestArgument.forEach((item)=>{
+  //   if(item.type == 1){
+  //     //数据-键值对
+  //     formData.append(item.key,item.value);
+  //   }else if(item.type == 2){
+  //     //读取cookie
+  //     formData.append(item.value,Cookies.get(item.key));
+  //   }else if(item.type == 3){
+  //     //读取localStorage
+  //     formData.append(item.value,localStorage.getItem(item.key));
+  //   }else if(item.type == 4){
+  //     //读取sessionStorage
+  //     formData.append(item.value,sessionStorage.getItem(item.key));
+  //   }else if(item.type == 5){
+  //     //生成时间戳-区分13位或者10位
+  //     if(item.num == '10'){
+  //       formData.append(item.key,Date.parse(new Date())/1000);
+  //     }else if(item.num == '13'){
+  //       formData.append(item.key,Date.parse(new Date()));
+  //     }
+  //   }
+  // })
+  // let xhr = new XMLHttpRequest();
+  // xhr.onreadystatechange = function() {
+  //   if (xhr.readyState === XMLHttpRequest.DONE) {
+  //     if (xhr.status === 200) {
+  //       let data = JSON.parse(xhr.response)
+  //       if(data.code == 200){
+  //         window.open(item.linkUrl,item.skipType?'_blank':'_self')
+  //       }else{
+  //         Message({
+  //           message: '操作失败,请联系管理员',
+  //           type: 'error',
+  //           offset:100
+  //         })
+  //       }
+  //     } else {
+  //       Message({
+  //         message: '操作失败,请联系管理员',
+  //         type: 'error',
+  //         offset:100
+  //       })
+  //     }
+  //   }
+  // };
+  // xhr.open(item.reqMethod,urlText+item.reqApi);
+  // xhr.send(formData)
 }
 //验证/携参-跳转
 export function isAuthCarryLink(item) {