ztxkutils 2.5.2 → 2.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_commonjsHelpers-bdec4bbd.js +7 -0
- package/dist/authority-17b7fde2.js +210 -210
- package/dist/crypto-c481f616.js +6707 -6707
- package/dist/crypto.js +6791 -2
- package/dist/index.js +3 -2
- package/dist/reqUrl-0a3b1a73.js +8 -8
- package/dist/reqUrl-521cd7e3.js +8 -8
- package/dist/reqUrl-93cf6870.js +8 -8
- package/dist/reqUrl-b19a6e87.js +8 -8
- package/dist/reqUrl-c74197bf.js +8 -8
- package/dist/reqUrl-eba8e6f5.js +8 -8
- package/dist/request-0bc1ca8b.js +2439 -2439
- package/dist/request-35a68ae8.js +2439 -2439
- package/dist/request-4f3e6994.js +2439 -2439
- package/dist/request-56290d29.js +2439 -2439
- package/dist/request-6d95e689.js +2439 -2439
- package/dist/request-74ca7860.js +2440 -2440
- package/dist/request-a8fb5cd3.js +2439 -2439
- package/dist/{request-aff11a10.js → request-d385a629.js} +5 -1
- package/dist/request-ec23b24a.js +2439 -2439
- package/dist/request.js +3 -2
- package/dist/tools-2876d65c.js +22 -22
- package/dist/tools-53fed4bb.js +24 -24
- package/dist/tools-8f036dd3.js +22 -22
- package/dist/tslib.es6-b9033aad.js +3 -3
- package/dist/validate-ebe369e9.js +9 -9
- package/dist/watermark-dom.d.ts +3 -0
- package/dist/watermark.d.ts +20 -0
- package/dist/watermark.js +433 -0
- package/package.json +1 -1
package/dist/request.js
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
import './tslib.es6-f9459658.js';
|
2
2
|
import 'axios';
|
3
3
|
import 'ztxkui';
|
4
|
-
export { a as default } from './request-
|
4
|
+
export { a as default } from './request-d385a629.js';
|
5
5
|
import './authority-fad2028d.js';
|
6
|
-
import './crypto
|
6
|
+
import './crypto.js';
|
7
|
+
import './_commonjsHelpers-bdec4bbd.js';
|
7
8
|
import 'crypto';
|
package/dist/tools-2876d65c.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
import { _ as __assign, a as __spreadArray } from './tslib.es6-b9033aad.js';
|
2
|
-
import dayjs from 'dayjs';
|
3
|
-
import { divide as divide$1, round, plus, minus, times } from 'number-precision';
|
4
|
-
|
1
|
+
import { _ as __assign, a as __spreadArray } from './tslib.es6-b9033aad.js';
|
2
|
+
import dayjs from 'dayjs';
|
3
|
+
import { divide as divide$1, round, plus, minus, times } from 'number-precision';
|
4
|
+
|
5
5
|
/**
|
6
6
|
* @description 时间格式转换
|
7
7
|
*/
|
@@ -197,21 +197,21 @@ function isEqualByKey(keys, record, preRecord) {
|
|
197
197
|
}
|
198
198
|
}
|
199
199
|
return isEqual;
|
200
|
-
}
|
201
|
-
|
202
|
-
var tools = /*#__PURE__*/Object.freeze({
|
203
|
-
__proto__: null,
|
204
|
-
timeTransfrom: timeTransfrom,
|
205
|
-
plus: plus,
|
206
|
-
minus: minus,
|
207
|
-
times: times,
|
208
|
-
divide: divide,
|
209
|
-
exactRound: exactRound,
|
210
|
-
toThousand: toThousand,
|
211
|
-
clearAssignStr: clearAssignStr,
|
212
|
-
loadFileRename: loadFileRename,
|
213
|
-
transformFileSize: transformFileSize,
|
214
|
-
isEqualByKey: isEqualByKey
|
215
|
-
});
|
216
|
-
|
217
|
-
export { timeTransfrom as a, toThousand as b, clearAssignStr as c, divide as d, exactRound as e, transformFileSize as f, isEqualByKey as i, loadFileRename as l, tools as t };
|
200
|
+
}
|
201
|
+
|
202
|
+
var tools = /*#__PURE__*/Object.freeze({
|
203
|
+
__proto__: null,
|
204
|
+
timeTransfrom: timeTransfrom,
|
205
|
+
plus: plus,
|
206
|
+
minus: minus,
|
207
|
+
times: times,
|
208
|
+
divide: divide,
|
209
|
+
exactRound: exactRound,
|
210
|
+
toThousand: toThousand,
|
211
|
+
clearAssignStr: clearAssignStr,
|
212
|
+
loadFileRename: loadFileRename,
|
213
|
+
transformFileSize: transformFileSize,
|
214
|
+
isEqualByKey: isEqualByKey
|
215
|
+
});
|
216
|
+
|
217
|
+
export { timeTransfrom as a, toThousand as b, clearAssignStr as c, divide as d, exactRound as e, transformFileSize as f, isEqualByKey as i, loadFileRename as l, tools as t };
|
package/dist/tools-53fed4bb.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
import { _ as __assign, a as __spreadArray } from './tslib.es6-f9459658.js';
|
2
|
-
import dayjs from 'dayjs';
|
3
|
-
import { divide as divide$1, round, plus, minus, times } from 'number-precision';
|
4
|
-
|
1
|
+
import { _ as __assign, a as __spreadArray } from './tslib.es6-f9459658.js';
|
2
|
+
import dayjs from 'dayjs';
|
3
|
+
import { divide as divide$1, round, plus, minus, times } from 'number-precision';
|
4
|
+
|
5
5
|
/**
|
6
6
|
* @description 时间格式转换
|
7
7
|
*/
|
@@ -219,23 +219,23 @@ function showFrame() {
|
|
219
219
|
return true;
|
220
220
|
}
|
221
221
|
return true;
|
222
|
-
}
|
223
|
-
|
224
|
-
var tools = /*#__PURE__*/Object.freeze({
|
225
|
-
__proto__: null,
|
226
|
-
timeTransfrom: timeTransfrom,
|
227
|
-
plus: plus,
|
228
|
-
minus: minus,
|
229
|
-
times: times,
|
230
|
-
divide: divide,
|
231
|
-
exactRound: exactRound,
|
232
|
-
toThousand: toThousand,
|
233
|
-
clearAssignStr: clearAssignStr,
|
234
|
-
loadFileRename: loadFileRename,
|
235
|
-
transformFileSize: transformFileSize,
|
236
|
-
isEqualByKey: isEqualByKey,
|
237
|
-
SHOWFRAME_KEY: SHOWFRAME_KEY,
|
238
|
-
showFrame: showFrame
|
239
|
-
});
|
240
|
-
|
241
|
-
export { SHOWFRAME_KEY as S, timeTransfrom as a, toThousand as b, clearAssignStr as c, divide as d, exactRound as e, transformFileSize as f, isEqualByKey as i, loadFileRename as l, showFrame as s, tools as t };
|
222
|
+
}
|
223
|
+
|
224
|
+
var tools = /*#__PURE__*/Object.freeze({
|
225
|
+
__proto__: null,
|
226
|
+
timeTransfrom: timeTransfrom,
|
227
|
+
plus: plus,
|
228
|
+
minus: minus,
|
229
|
+
times: times,
|
230
|
+
divide: divide,
|
231
|
+
exactRound: exactRound,
|
232
|
+
toThousand: toThousand,
|
233
|
+
clearAssignStr: clearAssignStr,
|
234
|
+
loadFileRename: loadFileRename,
|
235
|
+
transformFileSize: transformFileSize,
|
236
|
+
isEqualByKey: isEqualByKey,
|
237
|
+
SHOWFRAME_KEY: SHOWFRAME_KEY,
|
238
|
+
showFrame: showFrame
|
239
|
+
});
|
240
|
+
|
241
|
+
export { SHOWFRAME_KEY as S, timeTransfrom as a, toThousand as b, clearAssignStr as c, divide as d, exactRound as e, transformFileSize as f, isEqualByKey as i, loadFileRename as l, showFrame as s, tools as t };
|
package/dist/tools-8f036dd3.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
import { _ as __assign, a as __spreadArray } from './tslib.es6-f9459658.js';
|
2
|
-
import dayjs from 'dayjs';
|
3
|
-
import { divide as divide$1, round, plus, minus, times } from 'number-precision';
|
4
|
-
|
1
|
+
import { _ as __assign, a as __spreadArray } from './tslib.es6-f9459658.js';
|
2
|
+
import dayjs from 'dayjs';
|
3
|
+
import { divide as divide$1, round, plus, minus, times } from 'number-precision';
|
4
|
+
|
5
5
|
/**
|
6
6
|
* @description 时间格式转换
|
7
7
|
*/
|
@@ -197,21 +197,21 @@ function isEqualByKey(keys, record, preRecord) {
|
|
197
197
|
}
|
198
198
|
}
|
199
199
|
return isEqual;
|
200
|
-
}
|
201
|
-
|
202
|
-
var tools = /*#__PURE__*/Object.freeze({
|
203
|
-
__proto__: null,
|
204
|
-
timeTransfrom: timeTransfrom,
|
205
|
-
plus: plus,
|
206
|
-
minus: minus,
|
207
|
-
times: times,
|
208
|
-
divide: divide,
|
209
|
-
exactRound: exactRound,
|
210
|
-
toThousand: toThousand,
|
211
|
-
clearAssignStr: clearAssignStr,
|
212
|
-
loadFileRename: loadFileRename,
|
213
|
-
transformFileSize: transformFileSize,
|
214
|
-
isEqualByKey: isEqualByKey
|
215
|
-
});
|
216
|
-
|
217
|
-
export { timeTransfrom as a, toThousand as b, clearAssignStr as c, divide as d, exactRound as e, transformFileSize as f, isEqualByKey as i, loadFileRename as l, tools as t };
|
200
|
+
}
|
201
|
+
|
202
|
+
var tools = /*#__PURE__*/Object.freeze({
|
203
|
+
__proto__: null,
|
204
|
+
timeTransfrom: timeTransfrom,
|
205
|
+
plus: plus,
|
206
|
+
minus: minus,
|
207
|
+
times: times,
|
208
|
+
divide: divide,
|
209
|
+
exactRound: exactRound,
|
210
|
+
toThousand: toThousand,
|
211
|
+
clearAssignStr: clearAssignStr,
|
212
|
+
loadFileRename: loadFileRename,
|
213
|
+
transformFileSize: transformFileSize,
|
214
|
+
isEqualByKey: isEqualByKey
|
215
|
+
});
|
216
|
+
|
217
|
+
export { timeTransfrom as a, toThousand as b, clearAssignStr as c, divide as d, exactRound as e, transformFileSize as f, isEqualByKey as i, loadFileRename as l, tools as t };
|
@@ -66,6 +66,6 @@ function __spreadArray(to, from) {
|
|
66
66
|
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
67
67
|
to[j] = from[i];
|
68
68
|
return to;
|
69
|
-
}
|
70
|
-
|
71
|
-
export { __assign as _, __spreadArray as a, __awaiter as b, __generator as c };
|
69
|
+
}
|
70
|
+
|
71
|
+
export { __assign as _, __spreadArray as a, __awaiter as b, __generator as c };
|
@@ -55,12 +55,12 @@ var commonMessage = {
|
|
55
55
|
emailMessage: '请输入正确的邮箱',
|
56
56
|
passwordMessage: '密码由8-16位的字母+数字,字母+特殊字符,数字+特殊字符组成',
|
57
57
|
spaceMessage: '请勿输入空格',
|
58
|
-
};
|
59
|
-
|
60
|
-
var validate$1 = /*#__PURE__*/Object.freeze({
|
61
|
-
__proto__: null,
|
62
|
-
validate: validate,
|
63
|
-
commonMessage: commonMessage
|
64
|
-
});
|
65
|
-
|
66
|
-
export { validate as a, commonMessage as c, validate$1 as v };
|
58
|
+
};
|
59
|
+
|
60
|
+
var validate$1 = /*#__PURE__*/Object.freeze({
|
61
|
+
__proto__: null,
|
62
|
+
validate: validate,
|
63
|
+
commonMessage: commonMessage
|
64
|
+
});
|
65
|
+
|
66
|
+
export { validate as a, commonMessage as c, validate$1 as v };
|
@@ -0,0 +1,20 @@
|
|
1
|
+
export interface ISettings {
|
2
|
+
/** 水印内容 */
|
3
|
+
watermark_txt?: string;
|
4
|
+
/** 水印字体颜色 */
|
5
|
+
watermark_color?: string;
|
6
|
+
/** 水印字体大小 */
|
7
|
+
watermark_fontsize?: string;
|
8
|
+
/** 水印透明度,要求设置在大于等于0.005 */
|
9
|
+
watermark_alpha?: number;
|
10
|
+
/** 水印倾斜度数 */
|
11
|
+
watermark_angle?: number;
|
12
|
+
/** 水印宽度 */
|
13
|
+
watermark_width?: number;
|
14
|
+
/** 水印长度 */
|
15
|
+
watermark_height?: number;
|
16
|
+
/** 水印挂载元素 */
|
17
|
+
watermark_parent_node?: string;
|
18
|
+
[propName: string]: any;
|
19
|
+
}
|
20
|
+
export declare function initWatermark(settings?: ISettings): void;
|
@@ -0,0 +1,433 @@
|
|
1
|
+
import { _ as __assign } from './tslib.es6-f9459658.js';
|
2
|
+
import { c as commonjsGlobal } from './_commonjsHelpers-bdec4bbd.js';
|
3
|
+
|
4
|
+
var watermarkDom = {exports: {}};
|
5
|
+
|
6
|
+
(function (module) {
|
7
|
+
(function (root, factory) {
|
8
|
+
if (module.exports) {
|
9
|
+
/*Node. Does not work with strict CommonJS, but
|
10
|
+
// only CommonJS-like environments that support module.exports,
|
11
|
+
// like Node.*/
|
12
|
+
module.exports = factory();
|
13
|
+
} else {
|
14
|
+
/*Browser globals (root is window)*/
|
15
|
+
root['watermark'] = factory();
|
16
|
+
}
|
17
|
+
})(commonjsGlobal, function () {
|
18
|
+
/*Just return a value to define the module export.*/
|
19
|
+
var watermark = {};
|
20
|
+
|
21
|
+
var forceRemove = false;
|
22
|
+
|
23
|
+
var defaultSettings = {
|
24
|
+
watermark_id: 'wm_div_id', //水印总体的id
|
25
|
+
watermark_prefix: 'mask_div_id', //小水印的id前缀
|
26
|
+
watermark_txt: '测试水印', //水印的内容
|
27
|
+
watermark_x: 20, //水印起始位置x轴坐标
|
28
|
+
watermark_y: 20, //水印起始位置Y轴坐标
|
29
|
+
watermark_rows: 0, //水印行数
|
30
|
+
watermark_cols: 0, //水印列数
|
31
|
+
watermark_x_space: 50, //水印x轴间隔
|
32
|
+
watermark_y_space: 50, //水印y轴间隔
|
33
|
+
watermark_font: '微软雅黑', //水印字体
|
34
|
+
watermark_color: 'black', //水印字体颜色
|
35
|
+
watermark_fontsize: '18px', //水印字体大小
|
36
|
+
watermark_alpha: 0.15, //水印透明度,要求设置在大于等于0.005
|
37
|
+
watermark_width: 100, //水印宽度
|
38
|
+
watermark_height: 100, //水印长度
|
39
|
+
watermark_angle: 15, //水印倾斜度数
|
40
|
+
watermark_parent_width: 0, //水印的总体宽度(默认值:body的scrollWidth和clientWidth的较大值)
|
41
|
+
watermark_parent_height: 0, //水印的总体高度(默认值:body的scrollHeight和clientHeight的较大值)
|
42
|
+
watermark_parent_node: null, //水印插件挂载的父元素element,不输入则默认挂在body上
|
43
|
+
monitor: true, //monitor 是否监控, true: 不可删除水印; false: 可删水印。
|
44
|
+
};
|
45
|
+
|
46
|
+
const MutationObserver =
|
47
|
+
window.MutationObserver ||
|
48
|
+
window.WebKitMutationObserver ||
|
49
|
+
window.MozMutationObserver;
|
50
|
+
|
51
|
+
//监听dom是否被移除或者改变属性的回调函数
|
52
|
+
var domChangeCallback = function (records) {
|
53
|
+
if (forceRemove) {
|
54
|
+
forceRemove = false;
|
55
|
+
return;
|
56
|
+
}
|
57
|
+
if (
|
58
|
+
(globalSetting && records.length === 1) ||
|
59
|
+
(records.length === 1 && records[0].removedNodes.length >= 1)
|
60
|
+
) {
|
61
|
+
loadMark(globalSetting);
|
62
|
+
}
|
63
|
+
};
|
64
|
+
|
65
|
+
var hasObserver = MutationObserver !== undefined;
|
66
|
+
var watermarkDom = hasObserver
|
67
|
+
? new MutationObserver(domChangeCallback)
|
68
|
+
: null;
|
69
|
+
var option = {
|
70
|
+
childList: true,
|
71
|
+
attributes: true,
|
72
|
+
subtree: true,
|
73
|
+
};
|
74
|
+
|
75
|
+
/*加载水印*/
|
76
|
+
var loadMark = function (settings) {
|
77
|
+
/*采用配置项替换默认值,作用类似jquery.extend*/
|
78
|
+
if (arguments.length === 1 && typeof arguments[0] === 'object') {
|
79
|
+
var src = arguments[0] || {};
|
80
|
+
for (var key in src) {
|
81
|
+
if (
|
82
|
+
src[key] &&
|
83
|
+
defaultSettings[key] &&
|
84
|
+
src[key] === defaultSettings[key]
|
85
|
+
)
|
86
|
+
continue;
|
87
|
+
/*veronic: resolution of watermark_angle=0 not in force*/ else if (
|
88
|
+
src[key] ||
|
89
|
+
src[key] === 0
|
90
|
+
)
|
91
|
+
defaultSettings[key] = src[key];
|
92
|
+
}
|
93
|
+
}
|
94
|
+
|
95
|
+
/*如果元素存在则移除*/
|
96
|
+
var watermark_element = document.getElementById(
|
97
|
+
defaultSettings.watermark_id
|
98
|
+
);
|
99
|
+
watermark_element &&
|
100
|
+
watermark_element.parentNode &&
|
101
|
+
watermark_element.parentNode.removeChild(watermark_element);
|
102
|
+
|
103
|
+
/*如果设置水印挂载的父元素的id*/
|
104
|
+
var watermark_parent_element = document.getElementById(
|
105
|
+
defaultSettings.watermark_parent_node
|
106
|
+
);
|
107
|
+
var watermark_hook_element = watermark_parent_element
|
108
|
+
? watermark_parent_element
|
109
|
+
: document.body;
|
110
|
+
|
111
|
+
/*获取页面宽度*/
|
112
|
+
// var page_width = Math.max(watermark_hook_element.scrollWidth,watermark_hook_element.clientWidth) - defaultSettings.watermark_width/2;
|
113
|
+
var page_width = Math.max(
|
114
|
+
watermark_hook_element.scrollWidth,
|
115
|
+
watermark_hook_element.clientWidth
|
116
|
+
);
|
117
|
+
/*获取页面最大长度*/
|
118
|
+
// var page_height = Math.max(watermark_hook_element.scrollHeight,watermark_hook_element.clientHeight,document.documentElement.clientHeight)-defaultSettings.watermark_height/2;
|
119
|
+
var page_height = Math.max(
|
120
|
+
watermark_hook_element.scrollHeight,
|
121
|
+
watermark_hook_element.clientHeight
|
122
|
+
);
|
123
|
+
|
124
|
+
var setting = arguments[0] || {};
|
125
|
+
var parentEle = watermark_hook_element;
|
126
|
+
|
127
|
+
var page_offsetTop = 0;
|
128
|
+
var page_offsetLeft = 0;
|
129
|
+
if (setting.watermark_parent_width || setting.watermark_parent_height) {
|
130
|
+
/*指定父元素同时指定了宽或高*/
|
131
|
+
if (parentEle) {
|
132
|
+
page_offsetTop = parentEle.offsetTop || 0;
|
133
|
+
page_offsetLeft = parentEle.offsetLeft || 0;
|
134
|
+
defaultSettings.watermark_x =
|
135
|
+
defaultSettings.watermark_x + page_offsetLeft;
|
136
|
+
defaultSettings.watermark_y =
|
137
|
+
defaultSettings.watermark_y + page_offsetTop;
|
138
|
+
}
|
139
|
+
} else {
|
140
|
+
if (parentEle) {
|
141
|
+
page_offsetTop = parentEle.offsetTop || 0;
|
142
|
+
page_offsetLeft = parentEle.offsetLeft || 0;
|
143
|
+
}
|
144
|
+
}
|
145
|
+
|
146
|
+
/*创建水印外壳div*/
|
147
|
+
var otdiv = document.getElementById(defaultSettings.watermark_id);
|
148
|
+
var shadowRoot = null;
|
149
|
+
|
150
|
+
if (!otdiv) {
|
151
|
+
otdiv = document.createElement('div');
|
152
|
+
/*创建shadow dom*/
|
153
|
+
otdiv.id = defaultSettings.watermark_id;
|
154
|
+
otdiv.setAttribute(
|
155
|
+
'style',
|
156
|
+
'pointer-events: none !important; display: block !important'
|
157
|
+
);
|
158
|
+
/*判断浏览器是否支持attachShadow方法*/
|
159
|
+
if (typeof otdiv.attachShadow === 'function') {
|
160
|
+
/* createShadowRoot Deprecated. Not for use in new websites. Use attachShadow*/
|
161
|
+
shadowRoot = otdiv.attachShadow({ mode: 'open' });
|
162
|
+
} else {
|
163
|
+
shadowRoot = otdiv;
|
164
|
+
}
|
165
|
+
/*将shadow dom随机插入body内的任意位置*/
|
166
|
+
var nodeList = watermark_hook_element.children;
|
167
|
+
var index = Math.floor(Math.random() * (nodeList.length - 1));
|
168
|
+
if (nodeList[index]) {
|
169
|
+
watermark_hook_element.insertBefore(otdiv, nodeList[index]);
|
170
|
+
} else {
|
171
|
+
watermark_hook_element.appendChild(otdiv);
|
172
|
+
}
|
173
|
+
} else if (otdiv.shadowRoot) {
|
174
|
+
shadowRoot = otdiv.shadowRoot;
|
175
|
+
}
|
176
|
+
/*三种情况下会重新计算水印列数和x方向水印间隔:1、水印列数设置为0,2、水印宽度大于页面宽度,3、水印宽度小于于页面宽度*/
|
177
|
+
defaultSettings.watermark_cols = parseInt(
|
178
|
+
(page_width - defaultSettings.watermark_x) /
|
179
|
+
(defaultSettings.watermark_width + defaultSettings.watermark_x_space)
|
180
|
+
);
|
181
|
+
var temp_watermark_x_space = parseInt(
|
182
|
+
(page_width -
|
183
|
+
defaultSettings.watermark_x -
|
184
|
+
defaultSettings.watermark_width * defaultSettings.watermark_cols) /
|
185
|
+
defaultSettings.watermark_cols
|
186
|
+
);
|
187
|
+
defaultSettings.watermark_x_space = temp_watermark_x_space
|
188
|
+
? defaultSettings.watermark_x_space
|
189
|
+
: temp_watermark_x_space;
|
190
|
+
var allWatermarkWidth;
|
191
|
+
|
192
|
+
/*三种情况下会重新计算水印行数和y方向水印间隔:1、水印行数设置为0,2、水印长度大于页面长度,3、水印长度小于于页面长度*/
|
193
|
+
defaultSettings.watermark_rows = parseInt(
|
194
|
+
(page_height - defaultSettings.watermark_y) /
|
195
|
+
(defaultSettings.watermark_height + defaultSettings.watermark_y_space)
|
196
|
+
);
|
197
|
+
var temp_watermark_y_space = parseInt(
|
198
|
+
(page_height -
|
199
|
+
defaultSettings.watermark_y -
|
200
|
+
defaultSettings.watermark_height * defaultSettings.watermark_rows) /
|
201
|
+
defaultSettings.watermark_rows
|
202
|
+
);
|
203
|
+
defaultSettings.watermark_y_space = temp_watermark_y_space
|
204
|
+
? defaultSettings.watermark_y_space
|
205
|
+
: temp_watermark_y_space;
|
206
|
+
var allWatermarkHeight;
|
207
|
+
|
208
|
+
if (watermark_parent_element) {
|
209
|
+
allWatermarkWidth =
|
210
|
+
defaultSettings.watermark_x +
|
211
|
+
defaultSettings.watermark_width * defaultSettings.watermark_cols +
|
212
|
+
defaultSettings.watermark_x_space *
|
213
|
+
(defaultSettings.watermark_cols - 1);
|
214
|
+
allWatermarkHeight =
|
215
|
+
defaultSettings.watermark_y +
|
216
|
+
defaultSettings.watermark_height * defaultSettings.watermark_rows +
|
217
|
+
defaultSettings.watermark_y_space *
|
218
|
+
(defaultSettings.watermark_rows - 1);
|
219
|
+
} else {
|
220
|
+
allWatermarkWidth =
|
221
|
+
page_offsetLeft +
|
222
|
+
defaultSettings.watermark_x +
|
223
|
+
defaultSettings.watermark_width * defaultSettings.watermark_cols +
|
224
|
+
defaultSettings.watermark_x_space *
|
225
|
+
(defaultSettings.watermark_cols - 1);
|
226
|
+
allWatermarkHeight =
|
227
|
+
page_offsetTop +
|
228
|
+
defaultSettings.watermark_y +
|
229
|
+
defaultSettings.watermark_height * defaultSettings.watermark_rows +
|
230
|
+
defaultSettings.watermark_y_space *
|
231
|
+
(defaultSettings.watermark_rows - 1);
|
232
|
+
}
|
233
|
+
|
234
|
+
var x;
|
235
|
+
var y;
|
236
|
+
for (var i = 0; i < defaultSettings.watermark_rows; i++) {
|
237
|
+
if (watermark_parent_element) {
|
238
|
+
y =
|
239
|
+
page_offsetTop +
|
240
|
+
defaultSettings.watermark_y +
|
241
|
+
(page_height - allWatermarkHeight) / 2 +
|
242
|
+
(defaultSettings.watermark_y_space +
|
243
|
+
defaultSettings.watermark_height) *
|
244
|
+
i;
|
245
|
+
} else {
|
246
|
+
y =
|
247
|
+
defaultSettings.watermark_y +
|
248
|
+
(page_height - allWatermarkHeight) / 2 +
|
249
|
+
(defaultSettings.watermark_y_space +
|
250
|
+
defaultSettings.watermark_height) *
|
251
|
+
i;
|
252
|
+
}
|
253
|
+
for (var j = 0; j < defaultSettings.watermark_cols; j++) {
|
254
|
+
if (watermark_parent_element) {
|
255
|
+
x =
|
256
|
+
page_offsetLeft +
|
257
|
+
defaultSettings.watermark_x +
|
258
|
+
(page_width - allWatermarkWidth) / 2 +
|
259
|
+
(defaultSettings.watermark_width +
|
260
|
+
defaultSettings.watermark_x_space) *
|
261
|
+
j;
|
262
|
+
} else {
|
263
|
+
x =
|
264
|
+
defaultSettings.watermark_x +
|
265
|
+
(page_width - allWatermarkWidth) / 2 +
|
266
|
+
(defaultSettings.watermark_width +
|
267
|
+
defaultSettings.watermark_x_space) *
|
268
|
+
j;
|
269
|
+
}
|
270
|
+
var mask_div = document.createElement('div');
|
271
|
+
var oText = document.createTextNode(defaultSettings.watermark_txt);
|
272
|
+
mask_div.appendChild(oText);
|
273
|
+
/*设置水印相关属性start*/
|
274
|
+
mask_div.id = defaultSettings.watermark_prefix + i + j;
|
275
|
+
/*设置水印div倾斜显示*/
|
276
|
+
mask_div.style.webkitTransform =
|
277
|
+
'rotate(-' + defaultSettings.watermark_angle + 'deg)';
|
278
|
+
mask_div.style.MozTransform =
|
279
|
+
'rotate(-' + defaultSettings.watermark_angle + 'deg)';
|
280
|
+
mask_div.style.msTransform =
|
281
|
+
'rotate(-' + defaultSettings.watermark_angle + 'deg)';
|
282
|
+
mask_div.style.OTransform =
|
283
|
+
'rotate(-' + defaultSettings.watermark_angle + 'deg)';
|
284
|
+
mask_div.style.transform =
|
285
|
+
'rotate(-' + defaultSettings.watermark_angle + 'deg)';
|
286
|
+
mask_div.style.visibility = '';
|
287
|
+
mask_div.style.position = 'absolute';
|
288
|
+
/*选不中*/
|
289
|
+
mask_div.style.left = x + 'px';
|
290
|
+
mask_div.style.top = y + 'px';
|
291
|
+
mask_div.style.overflow = 'hidden';
|
292
|
+
mask_div.style.zIndex = '9999999';
|
293
|
+
mask_div.style.opacity = defaultSettings.watermark_alpha;
|
294
|
+
mask_div.style.fontSize = defaultSettings.watermark_fontsize;
|
295
|
+
mask_div.style.fontFamily = defaultSettings.watermark_font;
|
296
|
+
mask_div.style.color = defaultSettings.watermark_color;
|
297
|
+
mask_div.style.textAlign = 'center';
|
298
|
+
mask_div.style.width = defaultSettings.watermark_width + 'px';
|
299
|
+
mask_div.style.height = defaultSettings.watermark_height + 'px';
|
300
|
+
mask_div.style.display = 'block';
|
301
|
+
mask_div.style['-ms-user-select'] = 'none';
|
302
|
+
/*设置水印相关属性end*/
|
303
|
+
shadowRoot.appendChild(mask_div);
|
304
|
+
}
|
305
|
+
}
|
306
|
+
|
307
|
+
// monitor 是否监控, true: 不可删除水印; false: 可删水印。
|
308
|
+
const minotor =
|
309
|
+
settings.monitor === undefined
|
310
|
+
? defaultSettings.monitor
|
311
|
+
: settings.monitor;
|
312
|
+
if (minotor && hasObserver) {
|
313
|
+
watermarkDom.observe(watermark_hook_element, option);
|
314
|
+
watermarkDom.observe(
|
315
|
+
document.getElementById(defaultSettings.watermark_id).shadowRoot,
|
316
|
+
option
|
317
|
+
);
|
318
|
+
}
|
319
|
+
};
|
320
|
+
|
321
|
+
/*移除水印*/
|
322
|
+
var removeMark = function () {
|
323
|
+
/*采用配置项替换默认值,作用类似jquery.extend*/
|
324
|
+
if (arguments.length === 1 && typeof arguments[0] === 'object') {
|
325
|
+
var src = arguments[0] || {};
|
326
|
+
for (key in src) {
|
327
|
+
if (
|
328
|
+
src[key] &&
|
329
|
+
defaultSettings[key] &&
|
330
|
+
src[key] === defaultSettings[key]
|
331
|
+
)
|
332
|
+
continue;
|
333
|
+
/*veronic: resolution of watermark_angle=0 not in force*/ else if (
|
334
|
+
src[key] ||
|
335
|
+
src[key] === 0
|
336
|
+
)
|
337
|
+
defaultSettings[key] = src[key];
|
338
|
+
}
|
339
|
+
}
|
340
|
+
|
341
|
+
/*移除水印*/
|
342
|
+
var watermark_element = document.getElementById(
|
343
|
+
defaultSettings.watermark_id
|
344
|
+
);
|
345
|
+
var _parentElement = watermark_element.parentNode;
|
346
|
+
_parentElement.removeChild(watermark_element);
|
347
|
+
// :ambulance: remove()
|
348
|
+
// minotor 这个配置有些冗余
|
349
|
+
// 如果用 MutationObserver 来监听dom变化防止删除水印
|
350
|
+
// remove() 方法里用 MutationObserver 的 disconnect() 解除监听即可
|
351
|
+
watermarkDom.disconnect();
|
352
|
+
};
|
353
|
+
|
354
|
+
var globalSetting;
|
355
|
+
/*初始化水印,添加load和resize事件*/
|
356
|
+
watermark.init = function (settings) {
|
357
|
+
globalSetting = settings;
|
358
|
+
loadMark(settings);
|
359
|
+
window.addEventListener('onload', function () {
|
360
|
+
loadMark(settings);
|
361
|
+
});
|
362
|
+
window.addEventListener('resize', function () {
|
363
|
+
loadMark(settings);
|
364
|
+
});
|
365
|
+
};
|
366
|
+
|
367
|
+
/*手动加载水印*/
|
368
|
+
watermark.load = function (settings) {
|
369
|
+
globalSetting = settings;
|
370
|
+
loadMark(settings);
|
371
|
+
};
|
372
|
+
|
373
|
+
/*手动移除水印*/
|
374
|
+
watermark.remove = function () {
|
375
|
+
forceRemove = true;
|
376
|
+
removeMark();
|
377
|
+
};
|
378
|
+
|
379
|
+
//监听dom是否被移除或者改变属性的回调函数
|
380
|
+
var callback = function (records) {
|
381
|
+
if (
|
382
|
+
(globalSetting && records.length === 1) ||
|
383
|
+
(records.length === 1 && records[0].removedNodes.length >= 1)
|
384
|
+
) {
|
385
|
+
loadMark(globalSetting);
|
386
|
+
return;
|
387
|
+
}
|
388
|
+
|
389
|
+
// 监听父节点的尺寸是否发生了变化, 如果发生改变, 则进行重新绘制
|
390
|
+
var watermark_parent_element = document.getElementById(
|
391
|
+
defaultSettings.watermark_parent_node
|
392
|
+
);
|
393
|
+
if (watermark_parent_element) {
|
394
|
+
var newWidth = getComputedStyle(
|
395
|
+
watermark_parent_element
|
396
|
+
).getPropertyValue('width');
|
397
|
+
var newHeight = getComputedStyle(
|
398
|
+
watermark_parent_element
|
399
|
+
).getPropertyValue('height');
|
400
|
+
if (
|
401
|
+
newWidth !== recordOldValue.width ||
|
402
|
+
newHeight !== recordOldValue.height
|
403
|
+
) {
|
404
|
+
recordOldValue.width = newWidth;
|
405
|
+
recordOldValue.height = newHeight;
|
406
|
+
loadMark(globalSetting);
|
407
|
+
}
|
408
|
+
}
|
409
|
+
};
|
410
|
+
var watermarkDom = new MutationObserver(callback);
|
411
|
+
var option = {
|
412
|
+
childList: true,
|
413
|
+
attributes: true,
|
414
|
+
subtree: true,
|
415
|
+
attributeFilter: ['style'],
|
416
|
+
attributeOldValue: true,
|
417
|
+
};
|
418
|
+
var recordOldValue = {
|
419
|
+
width: 0,
|
420
|
+
height: 0,
|
421
|
+
};
|
422
|
+
|
423
|
+
return watermark;
|
424
|
+
});
|
425
|
+
}(watermarkDom));
|
426
|
+
|
427
|
+
var watermark = watermarkDom.exports;
|
428
|
+
|
429
|
+
function initWatermark(settings) {
|
430
|
+
watermark.init(__assign({ watermark_id: 'wm_div_id', watermark_prefix: 'mask_div_id', watermark_txt: '内部文件,严禁外泄', watermark_x: 20, watermark_y: 20, watermark_rows: 0, watermark_cols: 0, watermark_x_space: 100, watermark_y_space: 50, watermark_font: '微软雅黑', watermark_color: 'black', watermark_fontsize: '18px', watermark_alpha: 0.15, watermark_width: 100, watermark_height: 100, watermark_angle: 15, watermark_parent_width: 0, watermark_parent_height: 0, watermark_parent_node: null }, settings));
|
431
|
+
}
|
432
|
+
|
433
|
+
export { initWatermark };
|