From 00a2a8e080d0822529c8b09fc5029ac6519fda16 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 01 Jun 2022 18:14:43 +0800
Subject: [PATCH] 新增溯源码二维码下载

---
 src/api/qrcode/qrcode.js         |   11 +++++++++++
 src/views/traceability/print.vue |   27 +++++++++++++++++++++++++++
 2 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/src/api/qrcode/qrcode.js b/src/api/qrcode/qrcode.js
new file mode 100644
index 0000000..e8cf1f0
--- /dev/null
+++ b/src/api/qrcode/qrcode.js
@@ -0,0 +1,11 @@
+import request from '@/router/axios';
+
+export const getQrCodeBase64 = (code) => {
+    return request({
+        url: '/api/qrCode/getQrCodeBase64',
+        method: 'get',
+        params: {
+            code
+        }
+    })
+}
\ No newline at end of file
diff --git a/src/views/traceability/print.vue b/src/views/traceability/print.vue
index f5c6aa2..f2e83a9 100644
--- a/src/views/traceability/print.vue
+++ b/src/views/traceability/print.vue
@@ -27,6 +27,7 @@
 
 <script>
 import { mapGetters } from "vuex";
+import { getQrCodeBase64 } from "@/api/qrcode/qrcode";
 export default {
   data() {
     return {
@@ -44,6 +45,32 @@
       this.code = row.code;
       this.visible = true;
     },
+    //下载
+    download(){
+      var that = this;
+      //获取二维码图片
+      getQrCodeBase64(this.code).then((res)=>{
+        // res.data 就是base64
+        var base64 = res.data.toString(); 
+        var byteCharacters = atob(
+          base64.replace(/^data:image\/(png|jpeg|jpg);base64,/, "")
+        );
+        var byteNumbers = new Array(byteCharacters.length);
+        for (var i = 0; i < byteCharacters.length; i++) {
+          byteNumbers[i] = byteCharacters.charCodeAt(i);
+        }
+        var byteArray = new Uint8Array(byteNumbers);
+        var blob = new Blob([byteArray], {
+          type: undefined,
+        });
+        var aLink = document.createElement("a");
+        //这里写保存时的图片名称
+        aLink.download = that.code + ".jpg"; 
+        aLink.href = URL.createObjectURL(blob);
+        aLink.click();
+      })
+      
+    }
   },
 };
 </script>

--
Gitblit v1.9.3