threethousanddream пре 2 месеци
родитељ
комит
036284045a

+ 13 - 13
public/uploadFile.html

@@ -16,7 +16,7 @@
 </body>
 <script>
   function getQueryString(name) {
-    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
+    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
     var r = window.location.search.substr(1).match(reg);
     if (r != null) {
       return unescape(r[2]);
@@ -24,13 +24,13 @@
     return null;
   }
   // 这样调用:
-  const uuid = getQueryString("uuid")
-  const userid = getQueryString("userid")
-  const limit = getQueryString("limit")
-  const tenantId = getQueryString("tenantId")
-  const amis = amisRequire('amis/embed')
-  const files = []
-  amis.embed('#amis', {
+  const uuid = getQueryString("uuid");
+  const userid = getQueryString("userid");
+  const limit = getQueryString("limit");
+  const tenantId = getQueryString("tenantId");
+  const amis = amisRequire("amis/embed");
+  const files = [];
+  amis.embed("#amis", {
     "type": "page",
     "body": {
       "type": "form",
@@ -47,14 +47,14 @@
           "autoUpload": false,
           "hideUploadButton": true,
           "maxLength": limit,
-          "receiver":{
+          "receiver": {
             "method": "post",
             "url": "/api/file/uploadFile/record",
             "data": {
               "serialNumber": uuid,
-              "tenantId" : tenantId
+              "tenantId": tenantId
             },
-            adaptor: function (payload) {
+            adaptor: function(payload) {
               return {
                 ...payload,
                 status: payload.code === 200 ? 0 : payload.code,
@@ -64,10 +64,10 @@
                 }
               };
             }
-          },
+          }
         }
       ]
     }
-  })
+  });
 </script>
 </html>

+ 43 - 42
public/uploadSign.html

@@ -16,7 +16,7 @@
 </body>
 <script>
   function getQueryString(name) {
-    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
+    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
     var r = window.location.search.substr(1).match(reg);
     if (r != null) {
       return unescape(r[2]);
@@ -24,53 +24,54 @@
     return null;
   }
   // 这样调用:
-  const uuid = getQueryString("uuid")
-  const userid = getQueryString("userid")
-  const tenantId = getQueryString("tenantId")
-  const amis = amisRequire('amis/embed')
-  const files = []
-  amis.embed('#amis', {
-    "type": "page",
-    "body": {
-      "type": "form",
-      "title": "签名上传",
-      "data": {
-        "image": []
+  const uuid = getQueryString("uuid");
+  const userid = getQueryString("userid");
+  const tenantId = getQueryString("tenantId");
+  const amis = amisRequire("amis/embed");
+  const files = [];
+  function dataURLtoFile(dataurl, filename) {
+    var arr = dataurl.split(","),
+      mime = arr[0].match(/:(.*?);/)[1],
+      bstr = atob(arr[1]),
+      n = bstr.length,
+      u8arr = new Uint8Array(n);
+    while (n--) {
+      u8arr[n] = bstr.charCodeAt(n);
+    }
+    return new File([u8arr], filename, { type: mime });
+  }
+  amis.embed("#amis", {
+    type: "page",
+    body: {
+      type: "form",
+      title: "签名上传",
+      api: {
+        method: "post",
+        url: "/api/file/uploadFile/record",
+        requestAdaptor: function(api, context) {
+          let data = api.data;
+          let file = dataURLtoFile(data.file, "file.jpg");
+          return {
+            ...api,
+            data: {
+              file: file,
+              "serialNumber": uuid,
+              "tenantId": tenantId
+            }
+          };
+        }
       },
-      "body": [
+      body: [
         {
-          "type": "input-signature",
-          "name": "files",
+          type: "input-signature",
+          name: "file"
         },
         {
-          "type": "input-image",
-          "name": "files",
-          "multiple": false,
-          "draggable": true,
-          "autoUpload": false,
-          "hideUploadButton": true,
-          "maxLength": 1,
-          "receiver":{
-            "method": "post",
-            "url": "/api/file/uploadFile/record",
-            "data": {
-              "serialNumber": uuid,
-              "tenantId" : tenantId
-            },
-            adaptor: function (payload) {
-              return {
-                ...payload,
-                status: payload.code === 200 ? 0 : payload.code,
-                data: {
-                  value: payload.data.id,
-                  url: payload.data.id
-                }
-              };
-            }
-          },
+          type: "image",
+          name: "file"
         }
       ]
     }
-  })
+  });
 </script>
 </html>

+ 2 - 0
src/components/Generator/components/Upload/UploadImg.vue

@@ -173,6 +173,8 @@ export default {
           url: v
         }
       })
+    console.log('上传文件url:')
+    console.log(this.url)
   },
   computed: {
     allFileList() {

+ 1 - 0
src/components/Generator/components/Upload/UploadSign.vue

@@ -138,6 +138,7 @@ export default {
     this.fileList = this.value
       .filter((o) => !o.url && !o.type)
       .map((v) => ({ type: "new", url: v }));
+    console.log('上传签名url:')
     console.log(this.url);
   },
   computed: {