最新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 ...
随机推荐
- 【学习中】Fitness Schedule
章节 内容 签到 第1周:步伐 √第1课(34分钟) 跑步1分钟 行走2分钟 共做8次 4月24日 √第2课(28分钟) 跑步1分钟 行走2分钟 共做6次 4月27日 √第3课(31分钟) 跑步1分钟 ...
- FZU - 2037 -Maximum Value Problem(规律题)
Let’s start with a very classical problem. Given an array a[1…n] of positive numbers, if the value o ...
- Oracle错误 ora-12514 解决方法-九五小庞
成功连到数据库上之后,查看listener状态:lsnrctl status status READY 状态,需要由非归档转为归档模式,故操作如下: 1.关闭数据库shutdown immediate ...
- Mysql慢查询(分析工具)
慢查询分析工具[mysqldumpslow] 常用的慢查询日志分析工具 汇总除查询条件外其他完全相同的SQL,并将分析结果按照参数中所指定的顺序输出 语法: mysqldumpslow -s r -t ...
- js判断一个字符串中出现次数最多的字符及次数
最近面试总是刷到这个题,然后第一次的话思路很乱,这个是我个人思路 for循环里两个 if 判断还可以优化 var maxLength = 0; var maxStr = ''; var count = ...
- Oracle快速建表Sample
表定义: create table tb_triple( id number(8,0) primary key, name nvarchar2(20), birthday date ) 充值: ins ...
- oracle数据处理之sql*loader(一)
SQL*Loader是oracle提供的可以从多种平面文件中向数据库中加载数据的工具,它比较适合业务分析类型数据库(数据仓库);使用sqlldr工具可以在很短的时间内向数据库中加载大量的数据,像把制作 ...
- css的引用关系
总结:离div标签越近,越先被引用 先在同级目录下新建一个stylesheet(是以.css结尾的)注意:link引入进来的css中,class标签也是c1,因为html中div class=c1,因 ...
- Linux rndis_host 驱动的一个BUG与解决方案
关键字 rndis_host, linux, kernel, modem 综述 rndis 是微软定义的一套通讯方案.类似的协议还有 qmi/mbim/ecm/ncm. rndis 协议足够简单,可靠 ...
- Docker添加TLS认证修复2375端口暴露引发的漏洞
#### 1.环境准备 ```bash# 查看Docker服务器主机名hostnamectl``` ![1582697962553](C:\Users\86176\AppData\Roaming\Ty ...