From fc90a2a023e61dbeadd4c0aba433fb60e5334be8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E5=AE=8F=E6=9D=B0?= <1943105267@qq.com> Date: Tue, 28 Nov 2023 16:34:23 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BD=91=E7=BB=9C=E4=B8=8B=E8=BD=BD=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + src/views/netEwm/net/index.vue | 56 +++++++++++++++++++++++----------- 2 files changed, 40 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index 248e1df..461681c 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "file-saver": "2.0.5", "fuse.js": "6.4.3", "highlight.js": "9.18.5", + "html2canvas": "^1.4.1", "js-beautify": "1.13.0", "js-cookie": "3.0.1", "jsencrypt": "3.0.0-rc.1", diff --git a/src/views/netEwm/net/index.vue b/src/views/netEwm/net/index.vue index 88c28c4..fb29347 100644 --- a/src/views/netEwm/net/index.vue +++ b/src/views/netEwm/net/index.vue @@ -104,7 +104,7 @@ type="text" icon="el-icon-download" @click="handleCode(scope.row)" - >生成二维码下载二维码 - +
+ +
WI-FI名称:{{ code.netName }}
+
+ @@ -171,11 +175,16 @@ import { listNet, getNet, delNet, addNet, updateNet } from "@/api/netEwm/net"; import { mapGetters } from "vuex"; import { getCode } from "@/api/login.js"; +import html2canvas from "html2canvas"; export default { name: "Net", data() { return { wifiopen: false, + code: { + imgs: "", + netName: "", + }, imgs: null, // 遮罩层 loading: true, @@ -217,26 +226,29 @@ export default { }, methods: { handleUpload() { - // 创建一个虚拟的链接(a标签) - const link = document.createElement("a"); - // 设置链接的href属性为图片的URL - link.href = this.imgs; - // 设置下载的文件名(你可以根据需要更改) - link.download = "downloaded_image.jpg"; - // 将链接追加到文档中 - document.body.appendChild(link); - // 模拟点击链接来触发下载 - link.click(); - // 删除链接,以防止影响页面 - document.body.removeChild(link); + const downloadElement = this.$refs.downloadElement; + // 使用html2canvas将元素转换为Canvas + html2canvas(downloadElement).then((canvas) => { + // 获取Canvas的Base64编码 + const base64Image = canvas.toDataURL("image/png"); + + // 创建一个虚拟的下载链接 + const downloadLink = document.createElement("a"); + downloadLink.href = base64Image; + downloadLink.download = "downloaded_image.png"; + + // 模拟点击下载链接 + downloadLink.click(); + }); }, handleCode(row) { let data = { path: "pages/index/index", - shanghuId: row.shanghuId, + shanghuId: row.id, }; getCode(data).then((res) => { - this.imgs = "data:image/png;base64," + res.data; + this.code.imgs = "data:image/png;base64," + res.data; + this.code.netName = row.netName; this.wifiopen = true; }); }, @@ -304,6 +316,10 @@ export default { }, /** 提交按钮 */ submitForm() { + if (!this.shanghuId) { + this.$modal.msgError("您不是商户!"); + return; + } this.$refs["form"].validate((valid) => { if (valid) { if (this.form.id != null) { @@ -355,4 +371,10 @@ export default { width: 100%; height: 350px; } +.netName { + margin-top: 6px; + text-align: center; + font-size: 16px; + font-weight: bold; +}