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