From 466c6c67cb010eff72c19bd496cf99d66100e853 Mon Sep 17 00:00:00 2001 From: 15894237752 <15894237752@163.com> Date: Fri, 28 Apr 2023 11:37:15 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E6=B0=B4=E5=8D=B0,=20=E8=8E=B7=E5=8F=96watermark?= =?UTF-8?q?=E5=85=83=E7=B4=A0=E5=A4=B1=E8=B4=A5,=20=E8=8E=B7=E5=8F=96token?= =?UTF-8?q?,=20z-index:9999=E7=BD=AE=E9=A1=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snowy-admin-web/src/utils/watermark.js | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/snowy-admin-web/src/utils/watermark.js b/snowy-admin-web/src/utils/watermark.js index 5a088836..9c1fc977 100644 --- a/snowy-admin-web/src/utils/watermark.js +++ b/snowy-admin-web/src/utils/watermark.js @@ -8,7 +8,7 @@ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。 * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip */ -import store from '@/store' +import tool from '@/utils/tool' export const watermark = { set: function (text1, text2) { const canvas = document.createElement('canvas') @@ -34,7 +34,7 @@ export const watermark = { left:0; width:100vw; height:100vh; - z-index:99; + z-index:99999; pointer-events:none; background-repeat:repeat; mix-blend-mode: multiply; @@ -46,8 +46,13 @@ export const watermark = { //此方法是防止用户通过控制台修改样式去除水印效果 /* MutationObserver 是一个可以监听DOM结构变化的接口。 */ const observer = new MutationObserver(() => { - const wmInstance = document.querySelector('.watermark') - if ((wmInstance && wmInstance.getAttribute('style') !== styleStr) || !wmInstance) { + // 此处根据用户登录状态,判断是否终止监听,避免用户退出后登录页面仍然有水印 + if (!tool.data.get('TOKEN')){ + this.close() + observer.disconnect() + } + const wmInstance = document.body.querySelector('.watermark') + if (!wmInstance || (wmInstance.getAttribute('style') !== styleStr)) { //如果标签在,只修改了属性,重新赋值属性 if (wmInstance) { // 避免一直触发 @@ -56,7 +61,7 @@ export const watermark = { wmInstance.setAttribute('style', styleStr) } else { /* 此处根据用户登录状态,判断是否终止监听,避免用户退出后登录页面仍然有水印 */ - if (store.getters.token) { + if (tool.data.get('TOKEN')) { //标签被移除,重新添加标签 // console.log('水印标签被移除了'); document.body.appendChild(watermark) @@ -74,8 +79,10 @@ export const watermark = { }, close: function () { /* 关闭页面的水印,即要移除水印标签 */ - let watermark = document.querySelector('.watermark') - document.body.removeChild(watermark) + let watermark = document.body.querySelector('.watermark') + if (watermark){ + document.body.removeChild(watermark) + } } } // 使用方法