From 851f70b689d2bfa8ef11e8745168ed2e51121c78 Mon Sep 17 00:00:00 2001 From: "liu.xiaofeng@ebiz-digits.com" Date: Wed, 30 Nov 2022 16:15:35 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E9=93=B6=E4=BF=9Dapp=E3=80=91?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B0=B4=E5=8D=B0=E5=85=AC=E5=85=B1js?= =?UTF-8?q?=E5=B9=B6=E8=B0=83=E7=94=A8=E8=8E=B7=E5=8F=96=E4=BB=A3=E7=90=86?= =?UTF-8?q?=E4=BA=BA=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/js/utils/warterMark.js | 54 +++++++++++++++++++++++++++++++ src/views/YB_APP/policyDetail.vue | 11 +++++++ src/views/YB_APP/policyList.vue | 13 ++++++++ 3 files changed, 78 insertions(+) create mode 100644 src/assets/js/utils/warterMark.js diff --git a/src/assets/js/utils/warterMark.js b/src/assets/js/utils/warterMark.js new file mode 100644 index 000000000..101a072b8 --- /dev/null +++ b/src/assets/js/utils/warterMark.js @@ -0,0 +1,54 @@ +// warterMark.js +'use strict' + +let watermark = {} + +let setWatermark = (str, str1) => { + let id = '1.23452384164.123412415' + + if (document.getElementById(id) !== null) { + document.body.removeChild(document.getElementById(id)) + } + + let can = document.createElement('canvas')// 创建一个画布 + can.width = 350 // 设置宽度 + can.height = 150 // 高度 + + let cans = can.getContext('2d') + cans.rotate(-25 * Math.PI / 180) // 水印旋转角度 0 水平 + cans.font = '14px Vedana' // 字体大小 + cans.fillStyle = '#000' // 水印的颜色 + cans.textAlign = 'left' // 设置文本内容的当前对齐方式 + cans.textBaseline = 'Middle' // 设置在绘制文本时使用的当前文本基线 + cans.globalAlpha = 0.1 // 透明度 + cans.fillText(str, can.width / 4.5, can.height / 1) // 在画布上绘制填色的文本(输出的文本,开始绘制文本的X坐标位置,开始绘制文本的Y坐标位置) + cans.fillText(str1, can.width / 3, can.height / 2.5) // 根据需求可添加多行水印,在方法中添加str1 + + let div = document.createElement('div') + div.id = id + div.style.pointerEvents = 'none' + div.style.top = '100px' + div.style.left = '0px' + div.style.position = 'fixed' + div.style.zIndex = '100000' + div.style.width = document.documentElement.clientWidth - 30 + 'px' + div.style.height = document.documentElement.clientHeight + 'px' + div.style.background = 'url(' + can.toDataURL('image/png') + ') left top repeat' + document.body.appendChild(div) + return id +} + +// 该方法只允许调用一次 +watermark.set = (str,str1) => { + let id = setWatermark(str,str1) + setInterval(() => { + if (document.getElementById(id) === null) { + id = setWatermark(str,str1) + } + }, 500) + window.onresize = () => { + setWatermark(str,str1) + } +} + +export default watermark diff --git a/src/views/YB_APP/policyDetail.vue b/src/views/YB_APP/policyDetail.vue index 5608f02d2..4687dc38f 100644 --- a/src/views/YB_APP/policyDetail.vue +++ b/src/views/YB_APP/policyDetail.vue @@ -21,6 +21,8 @@