Vue实现页面添加水印功能

  

<>强创建watermark.js文件

        让水?{}      让setWatermark=(str)=比;{   让id=?.23452384164.123412416”;      如果(. getelementbyid (id) !==null) {   document.body.removeChild (. getelementbyid (id));   }//创建一个画布   我们可以=document.createElement(“画布”);//设置画布的长宽   可以。宽度=120;   可以。身高=120;      让罐=can.getContext (2 d);//旋转角度   罐。旋转(-15 *数学。π/180);   罐。字体=18 px Vedana”;//设置填充绘画的颜色,渐变或者模式   罐。fillStyle=' rgba (200、200、200、0.40);//设置文本内容的当前对齐方式   罐。textAlign='左';//设置在绘制文本时使用的当前文本基线   罐。textBaseline=爸胁?//在画布上绘制填色的文本(输出的文本,开始绘制文本的X坐标位置,开始绘制文本的Y坐标位置)   罐。fillText (str,可以。宽/8,可以。高度/2);      让div=document.createElement (div);   div.id=id;   div.style。pointerEvents='没有';   div.style。顶级=30 px的;   div.style。左=0 px的;   div.style。位置='固定';   div.style。zIndex=' 100000 ';   div.style。宽度=document.documentElement。clientWidth +“px”;   div.style。身高=document.documentElement。clientHeight +“px”;   div.style。背景=' url (' + can.toDataURL(图片/png) + ')左前重复的;   document.body.appendChild (div);   返回id;   }//该方法只允许调用一次   水印。设置=(str)=比;{   让id=setWatermark (str);   setInterval()=比;{   如果(. getelementbyid (id)===null) {   id=setWatermark (str);   }   },500);   窗口。onresize=()=比;{   setWatermark (str);   };   }      出口默认水印;   之前      

<强>具体用法:

  

1。在App.vue文件中,导入该文件

        进口水印“@/共同/js/水印”;//路径不要写错      

2。在安装函数中调用

        安装:函数(){   Watermark.set(“水印内容”)   }      

  

一般我们的水印内容是当前用户的id或者姓名,在App.vue文件的安装函数中有可能获取不到Vuex的用户信息。

  

我们一般在路由跳转的时候来进行用户的登录和权限的判断,所以我们可以将调用水印的方法放在router.afterEach()方法中,在router.beforeEach()方法中判断用户的登录和权限的判断,所以router.afterEach()方法中一定可以获取到vuex中的用户信息。

  

示例:         路由器。beforeEach(下),从=比;{//登录判断   store.dispatch (getuser)((用户)=比;{   如果()。路==='/'){   如果(user.isLeader) {   下一个('/总结');   其他}{下('/列表');}   其他}{   next ();   }   }).catch(错误)=比;{   如果错误。信息===俺J丁?{//返回登录界面   其他}{   Dialog.confirm ({   标题:“服务器错误”,   消息:“获取用户信息失败,可尝试重新进入系统。’,   showCancelButton:假的,   showConfirmButton:假   });   }   });   });   router.afterEach(()=比;{/*路由发生变化修改页面标题*/如果(to.meta.title) {   changTitle (to.meta.title);   }   Watermark.set (store.state.user.userId);   });      

以上这篇Vue实现页面添加水印功能就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

Vue实现页面添加水印功能