最新vue项目添加水印
在utils文件夹中创建 wartermark.ts 文件(位置看自己的组件放那,这都行),内容如下:
1 "use strict";
2
3 const setWatermark = (str: any) => {
4 const id = "1.23452384164.123412416";
5
6 if (document.getElementById(id) !== null) {
7 document.body.removeChild(document.getElementById(id) as any);
8 }
9
10 //创建一个画布
11 const can = document.createElement("canvas");
12 //设置画布的长宽
13 can.width = 250;
14 can.height = 120;
15
16 const cans: any = can.getContext("2d");
17 //旋转角度
18 cans.rotate((-15 * Math.PI) / 150);
19 cans.font = "18px Vedana";
20 //设置填充绘画的颜色、渐变或者模式
21 cans.fillStyle = "rgba(200, 200, 200, 0.30)";
22 //设置文本内容的当前对齐方式
23 cans.textAlign = "left";
24 //设置在绘制文本时使用的当前文本基线
25 cans.textBaseline = "Middle";
26 //在画布上绘制填色的文本(输出的文本,开始绘制文本的X坐标位置,开始绘制文本的Y坐标位置)
27 cans.fillText(str, can.width / 8, can.height / 2);
28
29 const div = document.createElement("div");
30 div.id = id;
31 div.style.pointerEvents = "none";
32 div.style.top = "35px";
33 div.style.left = "0px";
34 div.style.position = "fixed";
35 div.style.zIndex = "100000";
36 div.style.width = document.documentElement.clientWidth + "px";
37 div.style.height = document.documentElement.clientHeight + "px";
38 div.style.background =
39 "url(" + can.toDataURL("image/png") + ") left top repeat";
40 document.body.appendChild(div);
41 return id;
42 };
43 const watermark = {
44 // 该方法只允许调用一次
45 set: (str: any) => {
46 let id = setWatermark(str);
47 setInterval(() => {
48 if (document.getElementById(id) === null) {
49 id = setWatermark(str);
50 }
51 }, 500);
52 window.onresize = () => {
53 setWatermark(str);
54 };
55 }
56 }
57 export default watermark;
2、在API.vue文件中引用 wartermark.ts
1 <script lang="ts">
2 import './assets/styles/base.scss'
3 import { Component, Vue } from 'vue-property-decorator'
4 import { theme, getQueryString } from '@/utils/util'
5 import logoutUrl from '@/utils/api/logoutUrl'
6
7 import Watermark from '@/utils/main/wartermark';
8
9 export default class App extends Vue {
10 mounted () {
11 Watermark.set("水印内容")
12 }
13
14 }
15 </script>
最新vue项目添加水印的更多相关文章
- Vue项目开发最新、最全代码规范文档
Vue项目开发最新.最全代码规范文档 2019年02月21日 10:43:49 yw00yw 阅读数 337 一. 目录结构 |— build 构建脚本目录 |— build.js 生产环境构建( ...
- vue-cli快速构建Vue项目
vue-cli是什么? vue-cli 是vue.js的脚手架,用于自动生成vue.js模板工程的. vue-cli怎么使用? 安装vue-cli之前,需要先装好vue 和 webpack npm i ...
- 如何快速把 Vue 项目升级到 webpack3
由于 webpack3升级后,新增了 Scope Hositing(作用域提升) 功能,据说是对 js的性能提升很大.因此,我们做了一个测试对比,就是 webpack3和 webpack1/2 的性能 ...
- cordova+vue 项目打包成Android(apk)应用
现在使用vue开发的项目越来越多,使用vue开发的移动端打包就成了最大的问题.现在前端打包方案有好多种,但是综合来说,我比较喜欢用cordova来进行Android和ios的打包,配置完成之后,每次只 ...
- 搭建vue项目环境
前言 在开发本项目之前,我对vue,react,angular等框架了解,仅限于知道它们是什么框架,他们的核心是什么,但是并没有实际使用过(angular 1.0版本用过,因为太难用,所以对这类框架都 ...
- vue项目中的常见问题
总结了几个vue项目开发过程中遇到的常见问题,希望大家注意. 注:文末有福利! 一.样式问题 1.vue中使用less 安装less依赖 npm install less less-loader -- ...
- 原有vue项目接入typescript
原有vue项目接入typescript 为什么要接入typescript javascript由于自身的弱类型,使用起来非常灵活. 这也就为大型项目.多人协作开发埋下了很多隐患.如果是自己的私有业务倒 ...
- element-ui和npm、webpack、vue-cli搭建Vue项目
一.element-ui的简单使用 1.安装 1. npm 安装 推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用. npm i element-ui -S 2. CDN ...
- rem的在vue项目中使用配置,,浏览器的兼容性之Mate标签
在vue中配置rem 位置:在APP.vue的script中,在export default之外 (()=>{ let winW = document.documentElement.clien ...
随机推荐
- Unity内生成深度贴图
https://qiita.com/bokkuri_orz/items/08cbaeae6a34fed7f903 https://www.cnblogs.com/sifenkesi/p/4721649 ...
- [HGAME Week2] Cosmos的博客后台
觉得这道题考察的东西比较综合而且比较简单,就写上了.因为写这篇文章的时候环境已经关闭了,所以引用了其他师傅wp的图片 本题考察了:php://filter伪协议文件包含.var_dump()输出GLO ...
- MD5截断比较验证
最近在打De1CTF时在Web项目中碰到了两次MD5截断比较验证的题目,在做题时为了方便顺手写了一个小脚本来爆破Code,下面就简单分享一下思路 以De1CTF线上赛Web3为例,在De1CTF中,我 ...
- ORA-01033错误解决方案-九五小庞
Microsoft Windows [版本 6.3.9600](c) 2013 Microsoft Corporation.保留所有权利. C:\Users\Administrator>sqlp ...
- chrome设置跨域访问
1.新建目录 /usr/local/opt/myChromData 2.输入命令行 open -n /Applications/Google\ Chrome.app/ --args --disable ...
- C#知识点:ref和Out关键字浅谈
首先我们要知道ref和out在C#里面是什么? 答:它们俩是C#里面的关键字. 他们俩是干啥的呢? 答:他们俩是方法参数的修饰符号,一但使用,方法定义和方法都用都要使用这个关键字,这一点是死规定. 好 ...
- ubuntu 18.04下修改python3指向
起因 ubuntu18.04下默认带的是python3.6,但是因为需求需要升级为python3.7 步骤 安装 sudo apt install python3.7 修改环境变量 修改默认的pyth ...
- 【极致丝滑】彻底摆脱编辑器插件,利用postcss灵活可控地转换px至vw
背景 旧的rem适配方案(无论是直接使用rem,还是配合flexiblejs等lib库进行视口缩放)已经疲态尽显,且随着安卓高清屏的不断出现,同时data-dpr仍有进一步增加的可能性,rem显得并不 ...
- odoo10同一模型的不同视图不同群组权限控制
先描述下需求: 一个模型定义两个calendar视图,其中A视图G1群组可以CRUD操作,但是不显示特殊字段spec_field,对于B视图G1群组只能查看,G2群组只能修改其中的特殊字段spec_f ...
- pytest测试框架 -- 简介
一.pytest测试框架简介: (1)pytest是python的第三方测试框架,是基于unittest的扩展框架,比unittest更简洁,更高效. (2)pytest框架可以兼容unittest用 ...