<>强创建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实现页面添加水印功能