@ivujs/i-utils 1.1.16 → 1.1.17
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/README.md +21 -19
- package/dist/cjs/index.cjs +5 -400
- package/dist/es/index.d.ts +1 -26
- package/dist/es/index.mjs +2 -55
- package/dist/index.d.ts +11 -2851
- package/dist/lib/index.full.umd.js +33 -14240
- package/dist/lib/index.full.umd.min.js +2 -64
- package/dist/lib/index.full.umd.min.js.map +1 -1
- package/dist/resolver/auto-imports.cjs +1 -337
- package/dist/resolver/auto-imports.mjs +1 -337
- package/dist/resolver/index.cjs +1 -1
- package/dist/resolver/index.d.ts +1 -1
- package/dist/resolver/index.mjs +1 -1
- package/package.json +5 -13
- package/dist/cjs/ID-card/index.cjs +0 -87
- package/dist/cjs/array/index.cjs +0 -470
- package/dist/cjs/clipboard/index.cjs +0 -128
- package/dist/cjs/color/index.cjs +0 -193
- package/dist/cjs/constants/date.cjs +0 -178
- package/dist/cjs/constants/id-card.cjs +0 -52
- package/dist/cjs/constants/keycode.cjs +0 -117
- package/dist/cjs/constants/lang.cjs +0 -13
- package/dist/cjs/constants/math.cjs +0 -13
- package/dist/cjs/constants/regexp.cjs +0 -53
- package/dist/cjs/constants/sort.cjs +0 -15
- package/dist/cjs/cookie/index.cjs +0 -70
- package/dist/cjs/crypto/aes/aes.cjs +0 -480
- package/dist/cjs/crypto/aes/index.cjs +0 -27
- package/dist/cjs/crypto/base32/base32.cjs +0 -357
- package/dist/cjs/crypto/base32/index.cjs +0 -41
- package/dist/cjs/crypto/base64/base64.cjs +0 -348
- package/dist/cjs/crypto/base64/index.cjs +0 -59
- package/dist/cjs/crypto/des/des.cjs +0 -257
- package/dist/cjs/crypto/des/index.cjs +0 -28
- package/dist/cjs/crypto/md5/index.cjs +0 -24
- package/dist/cjs/crypto/md5/md5.cjs +0 -897
- package/dist/cjs/crypto/sha/sha1/index.cjs +0 -24
- package/dist/cjs/crypto/sha/sha1/sha1.cjs +0 -529
- package/dist/cjs/crypto/sha/sha256/index.cjs +0 -43
- package/dist/cjs/crypto/sha/sha256/sha256.cjs +0 -595
- package/dist/cjs/crypto/sha/sha3/index.cjs +0 -41
- package/dist/cjs/crypto/sha/sha3/sha3.cjs +0 -624
- package/dist/cjs/crypto/sha/sha512/index.cjs +0 -81
- package/dist/cjs/crypto/sha/sha512/sha512.cjs +0 -950
- package/dist/cjs/crypto/sm/lib/asn1.cjs +0 -149
- package/dist/cjs/crypto/sm/lib/ec.cjs +0 -315
- package/dist/cjs/crypto/sm/lib/jsbn.cjs +0 -1608
- package/dist/cjs/crypto/sm/lib/sm3.cjs +0 -158
- package/dist/cjs/crypto/sm/lib/utils.cjs +0 -170
- package/dist/cjs/crypto/sm/sm2/index.cjs +0 -112
- package/dist/cjs/crypto/sm/sm2/sm2.cjs +0 -231
- package/dist/cjs/crypto/sm/sm3/index.cjs +0 -15
- package/dist/cjs/crypto/sm/sm3/sm3.cjs +0 -93
- package/dist/cjs/crypto/sm/sm4/index.cjs +0 -27
- package/dist/cjs/crypto/sm/sm4/sm4.cjs +0 -327
- package/dist/cjs/crypto/tea/index.cjs +0 -25
- package/dist/cjs/crypto/tea/tea.cjs +0 -187
- package/dist/cjs/date/index.cjs +0 -1266
- package/dist/cjs/desensitized/index.cjs +0 -75
- package/dist/cjs/device/index.cjs +0 -151
- package/dist/cjs/dom/index.cjs +0 -129
- package/dist/cjs/file/index.cjs +0 -333
- package/dist/cjs/function/index.cjs +0 -69
- package/dist/cjs/keycode/index.cjs +0 -33
- package/dist/cjs/math/index.cjs +0 -278
- package/dist/cjs/number/index.cjs +0 -31
- package/dist/cjs/object/index.cjs +0 -272
- package/dist/cjs/pagination/index.cjs +0 -131
- package/dist/cjs/random/index.cjs +0 -24
- package/dist/cjs/regexp/index.cjs +0 -100
- package/dist/cjs/storage/index.cjs +0 -11
- package/dist/cjs/storage/localStorage.cjs +0 -37
- package/dist/cjs/storage/sessionStorage.cjs +0 -37
- package/dist/cjs/string/index.cjs +0 -358
- package/dist/cjs/url/index.cjs +0 -258
- package/dist/cjs/validate/index.cjs +0 -468
- package/dist/cjs/weapp/index.cjs +0 -142
- package/dist/es/ID-card/index.d.ts +0 -31
- package/dist/es/ID-card/index.mjs +0 -81
- package/dist/es/array/index.d.ts +0 -203
- package/dist/es/array/index.mjs +0 -441
- package/dist/es/clipboard/index.d.ts +0 -29
- package/dist/es/clipboard/index.mjs +0 -122
- package/dist/es/color/index.d.ts +0 -52
- package/dist/es/color/index.mjs +0 -183
- package/dist/es/constants/date.d.ts +0 -174
- package/dist/es/constants/date.mjs +0 -176
- package/dist/es/constants/id-card.d.ts +0 -43
- package/dist/es/constants/id-card.mjs +0 -50
- package/dist/es/constants/index.d.ts +0 -7
- package/dist/es/constants/keycode.d.ts +0 -103
- package/dist/es/constants/keycode.mjs +0 -115
- package/dist/es/constants/lang.d.ts +0 -4
- package/dist/es/constants/lang.mjs +0 -11
- package/dist/es/constants/math.d.ts +0 -4
- package/dist/es/constants/math.mjs +0 -11
- package/dist/es/constants/regexp.d.ts +0 -24
- package/dist/es/constants/regexp.mjs +0 -51
- package/dist/es/constants/sort.d.ts +0 -5
- package/dist/es/constants/sort.mjs +0 -13
- package/dist/es/cookie/index.d.ts +0 -29
- package/dist/es/cookie/index.mjs +0 -64
- package/dist/es/crypto/aes/aes.d.ts +0 -156
- package/dist/es/crypto/aes/aes.mjs +0 -478
- package/dist/es/crypto/aes/index.d.ts +0 -16
- package/dist/es/crypto/aes/index.mjs +0 -24
- package/dist/es/crypto/base32/base32.d.ts +0 -3
- package/dist/es/crypto/base32/base32.mjs +0 -353
- package/dist/es/crypto/base32/index.d.ts +0 -24
- package/dist/es/crypto/base32/index.mjs +0 -36
- package/dist/es/crypto/base64/base64.d.ts +0 -5
- package/dist/es/crypto/base64/base64.mjs +0 -342
- package/dist/es/crypto/base64/index.d.ts +0 -36
- package/dist/es/crypto/base64/index.mjs +0 -52
- package/dist/es/crypto/des/des.d.ts +0 -52
- package/dist/es/crypto/des/des.mjs +0 -255
- package/dist/es/crypto/des/index.d.ts +0 -14
- package/dist/es/crypto/des/index.mjs +0 -25
- package/dist/es/crypto/index.d.ts +0 -8
- package/dist/es/crypto/md5/index.d.ts +0 -13
- package/dist/es/crypto/md5/index.mjs +0 -21
- package/dist/es/crypto/md5/md5.d.ts +0 -144
- package/dist/es/crypto/md5/md5.mjs +0 -894
- package/dist/es/crypto/sha/index.d.ts +0 -4
- package/dist/es/crypto/sha/sha1/index.d.ts +0 -13
- package/dist/es/crypto/sha/sha1/index.mjs +0 -21
- package/dist/es/crypto/sha/sha1/sha1.d.ts +0 -2
- package/dist/es/crypto/sha/sha1/sha1.mjs +0 -526
- package/dist/es/crypto/sha/sha256/index.d.ts +0 -26
- package/dist/es/crypto/sha/sha256/index.mjs +0 -38
- package/dist/es/crypto/sha/sha256/sha256.d.ts +0 -4
- package/dist/es/crypto/sha/sha256/sha256.mjs +0 -590
- package/dist/es/crypto/sha/sha3/index.d.ts +0 -24
- package/dist/es/crypto/sha/sha3/index.mjs +0 -36
- package/dist/es/crypto/sha/sha3/sha3.d.ts +0 -4
- package/dist/es/crypto/sha/sha3/sha3.mjs +0 -619
- package/dist/es/crypto/sha/sha512/index.d.ts +0 -52
- package/dist/es/crypto/sha/sha512/index.mjs +0 -72
- package/dist/es/crypto/sha/sha512/sha512.d.ts +0 -8
- package/dist/es/crypto/sha/sha512/sha512.mjs +0 -941
- package/dist/es/crypto/sm/index.d.ts +0 -3
- package/dist/es/crypto/sm/lib/asn1.d.ts +0 -12
- package/dist/es/crypto/sm/lib/asn1.mjs +0 -146
- package/dist/es/crypto/sm/lib/ec.d.ts +0 -126
- package/dist/es/crypto/sm/lib/ec.mjs +0 -312
- package/dist/es/crypto/sm/lib/jsbn.d.ts +0 -198
- package/dist/es/crypto/sm/lib/jsbn.mjs +0 -1605
- package/dist/es/crypto/sm/lib/sm3.d.ts +0 -5
- package/dist/es/crypto/sm/lib/sm3.mjs +0 -155
- package/dist/es/crypto/sm/lib/utils.d.ts +0 -53
- package/dist/es/crypto/sm/lib/utils.mjs +0 -158
- package/dist/es/crypto/sm/sm2/index.d.ts +0 -71
- package/dist/es/crypto/sm/sm2/index.mjs +0 -101
- package/dist/es/crypto/sm/sm2/sm2.d.ts +0 -34
- package/dist/es/crypto/sm/sm2/sm2.mjs +0 -220
- package/dist/es/crypto/sm/sm3/index.d.ts +0 -7
- package/dist/es/crypto/sm/sm3/index.mjs +0 -13
- package/dist/es/crypto/sm/sm3/sm3.d.ts +0 -1
- package/dist/es/crypto/sm/sm3/sm3.mjs +0 -91
- package/dist/es/crypto/sm/sm4/index.d.ts +0 -16
- package/dist/es/crypto/sm/sm4/index.mjs +0 -24
- package/dist/es/crypto/sm/sm4/sm4.d.ts +0 -2
- package/dist/es/crypto/sm/sm4/sm4.mjs +0 -324
- package/dist/es/crypto/tea/index.d.ts +0 -14
- package/dist/es/crypto/tea/index.mjs +0 -22
- package/dist/es/crypto/tea/tea.d.ts +0 -69
- package/dist/es/crypto/tea/tea.mjs +0 -185
- package/dist/es/date/index.d.ts +0 -547
- package/dist/es/date/index.mjs +0 -1179
- package/dist/es/desensitized/index.d.ts +0 -38
- package/dist/es/desensitized/index.mjs +0 -69
- package/dist/es/device/index.d.ts +0 -67
- package/dist/es/device/index.mjs +0 -137
- package/dist/es/dom/index.d.ts +0 -57
- package/dist/es/dom/index.mjs +0 -119
- package/dist/es/file/index.d.ts +0 -93
- package/dist/es/file/index.mjs +0 -317
- package/dist/es/function/index.d.ts +0 -23
- package/dist/es/function/index.mjs +0 -65
- package/dist/es/keycode/index.d.ts +0 -12
- package/dist/es/keycode/index.mjs +0 -30
- package/dist/es/math/index.d.ts +0 -66
- package/dist/es/math/index.mjs +0 -268
- package/dist/es/number/index.d.ts +0 -14
- package/dist/es/number/index.mjs +0 -28
- package/dist/es/object/index.d.ts +0 -83
- package/dist/es/object/index.mjs +0 -259
- package/dist/es/pagination/index.d.ts +0 -34
- package/dist/es/pagination/index.mjs +0 -125
- package/dist/es/random/index.d.ts +0 -15
- package/dist/es/random/index.mjs +0 -21
- package/dist/es/regexp/index.d.ts +0 -63
- package/dist/es/regexp/index.mjs +0 -89
- package/dist/es/storage/index.d.ts +0 -7
- package/dist/es/storage/index.mjs +0 -9
- package/dist/es/storage/localStorage.d.ts +0 -21
- package/dist/es/storage/localStorage.mjs +0 -32
- package/dist/es/storage/sessionStorage.d.ts +0 -21
- package/dist/es/storage/sessionStorage.mjs +0 -32
- package/dist/es/string/index.d.ts +0 -121
- package/dist/es/string/index.mjs +0 -339
- package/dist/es/url/index.d.ts +0 -118
- package/dist/es/url/index.mjs +0 -240
- package/dist/es/validate/index.d.ts +0 -228
- package/dist/es/validate/index.mjs +0 -431
- package/dist/es/weapp/index.d.ts +0 -57
- package/dist/es/weapp/index.mjs +0 -131
- package/dist/lib/index.full.cjs.js +0 -14264
- package/dist/lib/index.full.cjs.min.js +0 -69
- package/dist/lib/index.full.cjs.min.js.map +0 -1
- package/dist/lib/index.full.esm.js +0 -13910
- package/dist/lib/index.full.esm.min.js +0 -64
- package/dist/lib/index.full.esm.min.js.map +0 -1
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var index = require('../file/index.cjs');
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* 获得剪切板数据
|
|
7
|
-
* @description 获得的剪切板的数据是会返回多个可用的MIME类型,比如是纯文本就返回一个['text/plain'],是复制的html则会返回两个可用的['text/plain','text/html'],是复制的图片则是['image/png']
|
|
8
|
-
* @returns {Promise} 返回剪切板的数据,是数组形式,如果是文本则是字符串,否则是blob数据
|
|
9
|
-
*/
|
|
10
|
-
function getClipboard() {
|
|
11
|
-
return new Promise((resolve, reject) => {
|
|
12
|
-
if (window.navigator.clipboard) {
|
|
13
|
-
window.navigator.clipboard.read().then((clipboardItems) => {
|
|
14
|
-
let list = [];
|
|
15
|
-
for (let item of clipboardItems) {
|
|
16
|
-
for (let type of item.types) {
|
|
17
|
-
item.getType(type).then(async (blob) => {
|
|
18
|
-
// 文本类型,可以直接输出为字符串
|
|
19
|
-
if (blob.type.includes("text")) {
|
|
20
|
-
let text = await index.blobToText(blob);
|
|
21
|
-
list.push({ type: blob.type, data: text });
|
|
22
|
-
}
|
|
23
|
-
// 图片和其他文件类型,返回blob对象
|
|
24
|
-
else {
|
|
25
|
-
list.push({ type: blob.type, data: blob });
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
resolve(list);
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
console.warn("not support navigator clipboard!");
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* 获得剪切板文本
|
|
40
|
-
* @returns {Promise} 返回剪切板文本
|
|
41
|
-
*/
|
|
42
|
-
function getClipboardText() {
|
|
43
|
-
return new Promise((resolve, reject) => {
|
|
44
|
-
if (window.navigator.clipboard) {
|
|
45
|
-
window.navigator.clipboard
|
|
46
|
-
.readText()
|
|
47
|
-
.then((text) => {
|
|
48
|
-
resolve(text);
|
|
49
|
-
})
|
|
50
|
-
.catch((error) => {
|
|
51
|
-
reject(error);
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
console.warn("not support navigator clipboard!");
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* 设置剪切板数据
|
|
61
|
-
* @description 可以设置文本或者blob类型的数据
|
|
62
|
-
* @param {String,Blob} data 写入的数据,可以是文本或blob数据
|
|
63
|
-
* @returns {Promise} 返回结果
|
|
64
|
-
*/
|
|
65
|
-
function setClipboard(data) {
|
|
66
|
-
return new Promise((resolve, reject) => {
|
|
67
|
-
// 现代浏览器
|
|
68
|
-
if (window.navigator.clipboard) {
|
|
69
|
-
let clipboardItem = null;
|
|
70
|
-
// 是文本类型
|
|
71
|
-
if (typeof data === "string") {
|
|
72
|
-
let blob = new Blob([data], { type: "text/plain" });
|
|
73
|
-
clipboardItem = new window.ClipboardItem({
|
|
74
|
-
["text/plain"]: blob,
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
// 其他文件类型
|
|
78
|
-
else {
|
|
79
|
-
clipboardItem = new window.ClipboardItem({ [data.type]: data });
|
|
80
|
-
}
|
|
81
|
-
// 写入到剪切板中
|
|
82
|
-
window.navigator.clipboard.write([clipboardItem]).then((success) => {
|
|
83
|
-
resolve(true);
|
|
84
|
-
}, (failed) => {
|
|
85
|
-
reject(false);
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
console.warn("not support navigator clipboard!");
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* 设置剪切板文本
|
|
95
|
-
* @param {String} text 写入的文本
|
|
96
|
-
* @returns {Promise} 返回结果
|
|
97
|
-
*/
|
|
98
|
-
function setClipboardText(text) {
|
|
99
|
-
return new Promise((resolve, reject) => {
|
|
100
|
-
// 现代浏览器
|
|
101
|
-
if (window.navigator.clipboard) {
|
|
102
|
-
window.navigator.clipboard.writeText(text).then((success) => {
|
|
103
|
-
resolve(true);
|
|
104
|
-
}, (failed) => {
|
|
105
|
-
reject(false);
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
console.warn("not support navigator clipboard!");
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* 清空剪切板
|
|
115
|
-
* @returns {Promise} 返回结果
|
|
116
|
-
*/
|
|
117
|
-
function clearClipboard() {
|
|
118
|
-
return new Promise(async (resolve, reject) => {
|
|
119
|
-
await setClipboardText("");
|
|
120
|
-
resolve(true);
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
exports.clearClipboard = clearClipboard;
|
|
125
|
-
exports.getClipboard = getClipboard;
|
|
126
|
-
exports.getClipboardText = getClipboardText;
|
|
127
|
-
exports.setClipboard = setClipboard;
|
|
128
|
-
exports.setClipboardText = setClipboardText;
|
package/dist/cjs/color/index.cjs
DELETED
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* rgb颜色转hex
|
|
5
|
-
* @param {String} rgb rgb颜色字符串
|
|
6
|
-
* @returns {String} 返回生成的hex颜色
|
|
7
|
-
*/
|
|
8
|
-
function rgbToHex(rgb) {
|
|
9
|
-
let arr = rgb.split(",");
|
|
10
|
-
let r = parseInt(arr[0].split("(")[1]);
|
|
11
|
-
let g = parseInt(arr[1]);
|
|
12
|
-
let b = parseInt(arr[2].split(")")[0]);
|
|
13
|
-
return "#" + _hex(r) + _hex(g) + _hex(b);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* rgba颜色转hex
|
|
17
|
-
* @param {String} rgba rgba颜色字符串
|
|
18
|
-
* @returns {String} 返回生成的hex颜色
|
|
19
|
-
*/
|
|
20
|
-
function rgbaToHex(rgba) {
|
|
21
|
-
let arr = rgba.split(",");
|
|
22
|
-
let r = parseInt(arr[0].split("(")[1]);
|
|
23
|
-
let g = parseInt(arr[1]);
|
|
24
|
-
let b = parseInt(arr[2]);
|
|
25
|
-
let a = parseFloat(arr[3].split(")")[0]);
|
|
26
|
-
return `#${_hex(Math.round(a * 256 - 1))}${_hex(r)}${_hex(g)}${_hex(b)}`;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* rgba颜色转hsl
|
|
30
|
-
* @param {String} rgba rgb颜色字符串
|
|
31
|
-
* @returns {String} 返回生成的hsl颜色
|
|
32
|
-
*/
|
|
33
|
-
function rgbaToHsl(rgba) {
|
|
34
|
-
let arr = rgba.split(",");
|
|
35
|
-
let r = parseInt(arr[0].split("(")[1]) / 255;
|
|
36
|
-
let g = parseInt(arr[1]) / 255;
|
|
37
|
-
let b = parseInt(arr[2]) / 255;
|
|
38
|
-
let a = parseFloat(arr[3] && arr[3].split(")")[0]);
|
|
39
|
-
let max = Math.max(r, g, b), min = Math.min(r, g, b);
|
|
40
|
-
let h, s, l = (max + min) / 2;
|
|
41
|
-
if (max === min) {
|
|
42
|
-
h = s = 0;
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
let d = max - min;
|
|
46
|
-
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
|
47
|
-
switch (max) {
|
|
48
|
-
case r:
|
|
49
|
-
h = (g - b) / d + (g < b ? 6 : 0);
|
|
50
|
-
break;
|
|
51
|
-
case g:
|
|
52
|
-
h = (b - r) / d + 2;
|
|
53
|
-
break;
|
|
54
|
-
case b:
|
|
55
|
-
h = (r - g) / d + 4;
|
|
56
|
-
break;
|
|
57
|
-
}
|
|
58
|
-
h /= 6;
|
|
59
|
-
}
|
|
60
|
-
if (a) {
|
|
61
|
-
return `hsla(${Math.round(h * 360)},${Math.round(s * 100)}%,${Math.round(l * 100)}%,${a})`;
|
|
62
|
-
}
|
|
63
|
-
return `hsl(${Math.round(h * 360)},${Math.round(s * 100)}%,${Math.round(l * 100)}%)`;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* hex颜色转rgb
|
|
67
|
-
* @param {String} hex hex颜色字符串
|
|
68
|
-
* @returns {String} 返回生成的rgb颜色
|
|
69
|
-
*/
|
|
70
|
-
function hexToRgb(hex) {
|
|
71
|
-
let color = {};
|
|
72
|
-
let rgx = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
|
|
73
|
-
let hexStr = hex.replace(rgx, function (m, r, g, b) {
|
|
74
|
-
return r + r + g + g + b + b;
|
|
75
|
-
});
|
|
76
|
-
let rgb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hexStr);
|
|
77
|
-
color.r = parseInt(rgb[1], 16);
|
|
78
|
-
color.g = parseInt(rgb[2], 16);
|
|
79
|
-
color.b = parseInt(rgb[3], 16);
|
|
80
|
-
return `rgb(${color.r},${color.g},${color.b})`;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* hex颜色转rgba
|
|
84
|
-
* @param {String} hex hex颜色字符串
|
|
85
|
-
* @param {Number} opacity 透明度
|
|
86
|
-
* @returns {String} 返回生成的rgba颜色
|
|
87
|
-
*/
|
|
88
|
-
function hexToRgba(hex, opacity = 1) {
|
|
89
|
-
let color = {};
|
|
90
|
-
let rgx = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
|
|
91
|
-
let hexStr = hex.replace(rgx, function (m, r, g, b) {
|
|
92
|
-
return r + r + g + g + b + b;
|
|
93
|
-
});
|
|
94
|
-
let rgb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hexStr);
|
|
95
|
-
color.r = parseInt(rgb[1], 16);
|
|
96
|
-
color.g = parseInt(rgb[2], 16);
|
|
97
|
-
color.b = parseInt(rgb[3], 16);
|
|
98
|
-
color.o = opacity;
|
|
99
|
-
return `rgba(${color.r},${color.g},${color.b},${color.o})`;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* hex颜色转hsl
|
|
103
|
-
* @param {String} hex hex颜色字符串
|
|
104
|
-
* @returns {String} 返回生成的hsl颜色
|
|
105
|
-
*/
|
|
106
|
-
function hexToHsl(hex) {
|
|
107
|
-
// 先解析为rgb
|
|
108
|
-
let rgx = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
|
|
109
|
-
let hexStr = hex.replace(rgx, function (m, r, g, b) {
|
|
110
|
-
return r + r + g + g + b + b;
|
|
111
|
-
});
|
|
112
|
-
let rgb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hexStr);
|
|
113
|
-
// 再组装为hsl格式
|
|
114
|
-
let r = parseInt(rgb[1], 16) / 255;
|
|
115
|
-
let g = parseInt(rgb[2], 16) / 255;
|
|
116
|
-
let b = parseInt(rgb[3], 16) / 255;
|
|
117
|
-
let max = Math.max(r, g, b), min = Math.min(r, g, b);
|
|
118
|
-
let h, s, l = (max + min) / 2;
|
|
119
|
-
if (max === min) {
|
|
120
|
-
h = s = 0;
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
let d = max - min;
|
|
124
|
-
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
|
125
|
-
switch (max) {
|
|
126
|
-
case r:
|
|
127
|
-
h = (g - b) / d + (g < b ? 6 : 0);
|
|
128
|
-
break;
|
|
129
|
-
case g:
|
|
130
|
-
h = (b - r) / d + 2;
|
|
131
|
-
break;
|
|
132
|
-
case b:
|
|
133
|
-
h = (r - g) / d + 4;
|
|
134
|
-
break;
|
|
135
|
-
}
|
|
136
|
-
h /= 6;
|
|
137
|
-
}
|
|
138
|
-
return `hsl(${Math.round(h * 360)},${Math.round(s * 100)}%,${Math.round(l * 100)}%)`;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* 随机生成hex颜色
|
|
142
|
-
* @returns {String} 返回生成的十六进制颜色
|
|
143
|
-
*/
|
|
144
|
-
function getDrawHex() {
|
|
145
|
-
return ("#" +
|
|
146
|
-
(function (h) {
|
|
147
|
-
return new Array(7 - h.length).join("0") + h;
|
|
148
|
-
})(((Math.random() * 0x1000000) << 0).toString(16)));
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* 随机生成rgb颜色
|
|
152
|
-
* @returns {String} 返回生成的 rgb 颜色
|
|
153
|
-
*/
|
|
154
|
-
function getDrawRgb() {
|
|
155
|
-
let r = Math.floor(Math.random() * 256);
|
|
156
|
-
let g = Math.floor(Math.random() * 256);
|
|
157
|
-
let b = Math.floor(Math.random() * 256);
|
|
158
|
-
return `rgb(${r},${g},${b})`;
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* 随机生成rgba颜色
|
|
162
|
-
* @returns {String} 返回生成的 rgba 颜色
|
|
163
|
-
*/
|
|
164
|
-
function getDrawRgba() {
|
|
165
|
-
let r = Math.floor(Math.random() * 256);
|
|
166
|
-
let g = Math.floor(Math.random() * 256);
|
|
167
|
-
let b = Math.floor(Math.random() * 256);
|
|
168
|
-
let a = Number(Math.random()).toFixed(2);
|
|
169
|
-
return `rgba(${r},${g},${b},${a})`;
|
|
170
|
-
}
|
|
171
|
-
// 内部函数
|
|
172
|
-
/**
|
|
173
|
-
* 颜色值转换
|
|
174
|
-
* @param {Number} num 转换的值
|
|
175
|
-
* @returns
|
|
176
|
-
*/
|
|
177
|
-
function _hex(num) {
|
|
178
|
-
if (num > 255) {
|
|
179
|
-
throw "'" + num + "'' is greater than 255(0xff);";
|
|
180
|
-
}
|
|
181
|
-
let str = Number(num).toString(16);
|
|
182
|
-
return ("0" + str).slice(-2);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
exports.getDrawHex = getDrawHex;
|
|
186
|
-
exports.getDrawRgb = getDrawRgb;
|
|
187
|
-
exports.getDrawRgba = getDrawRgba;
|
|
188
|
-
exports.hexToHsl = hexToHsl;
|
|
189
|
-
exports.hexToRgb = hexToRgb;
|
|
190
|
-
exports.hexToRgba = hexToRgba;
|
|
191
|
-
exports.rgbToHex = rgbToHex;
|
|
192
|
-
exports.rgbaToHex = rgbaToHex;
|
|
193
|
-
exports.rgbaToHsl = rgbaToHsl;
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* 日期
|
|
5
|
-
*/
|
|
6
|
-
const DATE = {
|
|
7
|
-
// 上午和下午
|
|
8
|
-
AM_PM: {
|
|
9
|
-
zh: {
|
|
10
|
-
AM: "上午",
|
|
11
|
-
PM: "下午",
|
|
12
|
-
},
|
|
13
|
-
en: {
|
|
14
|
-
AM: "AM",
|
|
15
|
-
PM: "PM",
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
// 周
|
|
19
|
-
WEEK: {
|
|
20
|
-
zh: {
|
|
21
|
-
FULL: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
|
|
22
|
-
SHORT: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
|
|
23
|
-
MINI: ["日", "一", "二", "三", "四", "五", "六"],
|
|
24
|
-
},
|
|
25
|
-
en: {
|
|
26
|
-
FULL: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
|
27
|
-
SHORT: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
|
|
28
|
-
MINI: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
// 月
|
|
32
|
-
MONTH: {
|
|
33
|
-
zh: {
|
|
34
|
-
FULL: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
|
35
|
-
SHORT: ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二"],
|
|
36
|
-
},
|
|
37
|
-
en: {
|
|
38
|
-
FULL: [
|
|
39
|
-
"January",
|
|
40
|
-
"February",
|
|
41
|
-
"March",
|
|
42
|
-
"April",
|
|
43
|
-
"May",
|
|
44
|
-
"June",
|
|
45
|
-
"July",
|
|
46
|
-
"August",
|
|
47
|
-
"September",
|
|
48
|
-
"October",
|
|
49
|
-
"November",
|
|
50
|
-
"December",
|
|
51
|
-
],
|
|
52
|
-
SHORT: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
// 季度
|
|
56
|
-
QUARTER: {
|
|
57
|
-
zh: {
|
|
58
|
-
FULL: ["第一季度", "第二季度", "第三季度", "第四季度"],
|
|
59
|
-
SHORT: ["一季度", "二季度", "三季度", "四季度"],
|
|
60
|
-
MINI: ["一", "二", "三", "四"],
|
|
61
|
-
},
|
|
62
|
-
en: {
|
|
63
|
-
FULL: ["quarter 1st", "quarter 2nd", "quarter 3rd", "quarter 4th"],
|
|
64
|
-
SHORT: ["Q1th", "Q2nd", "Q3rd", "Q4th"],
|
|
65
|
-
MINI: ["Q1", "Q2", "Q3", "Q4"],
|
|
66
|
-
},
|
|
67
|
-
},
|
|
68
|
-
// 已过日期类型
|
|
69
|
-
OVER_TIME: {
|
|
70
|
-
zh: {
|
|
71
|
-
YEAR: "年",
|
|
72
|
-
MONTH: "月",
|
|
73
|
-
DATE: "日",
|
|
74
|
-
HOUR: "时",
|
|
75
|
-
MINUTE: "分",
|
|
76
|
-
SECOND: "秒",
|
|
77
|
-
MILLISECOND: "毫秒",
|
|
78
|
-
DAY: "天",
|
|
79
|
-
QUARTER: "季度",
|
|
80
|
-
},
|
|
81
|
-
en: {
|
|
82
|
-
YEAR: "year",
|
|
83
|
-
MONTH: "month",
|
|
84
|
-
DATE: "date",
|
|
85
|
-
HOUR: "hour",
|
|
86
|
-
MINUTE: "minute",
|
|
87
|
-
SECOND: "second",
|
|
88
|
-
MILLISECOND: "millisecond",
|
|
89
|
-
DAY: "day",
|
|
90
|
-
QUARTER: "quarter",
|
|
91
|
-
},
|
|
92
|
-
},
|
|
93
|
-
// 时间节点
|
|
94
|
-
PASS_TIME: {
|
|
95
|
-
zh: {
|
|
96
|
-
YEAR: "年前",
|
|
97
|
-
MONTH: "个月前",
|
|
98
|
-
DAY: "天前",
|
|
99
|
-
BEFORE_YESTERDAY: "前天",
|
|
100
|
-
YESTERDAY: "昨天",
|
|
101
|
-
TODAY: "今天",
|
|
102
|
-
HOUR: "小时前",
|
|
103
|
-
MINUTE: "分钟前",
|
|
104
|
-
JUST: "刚刚",
|
|
105
|
-
},
|
|
106
|
-
en: {
|
|
107
|
-
YEAR: " year ago",
|
|
108
|
-
MONTH: " month ago",
|
|
109
|
-
DAY: " day ago",
|
|
110
|
-
BEFORE_YESTERDAY: "before yesterday",
|
|
111
|
-
YESTERDAY: " yesterday",
|
|
112
|
-
TODAY: " today",
|
|
113
|
-
HOUR: " hour ago",
|
|
114
|
-
MINUTE: " minute ago",
|
|
115
|
-
JUST: " just",
|
|
116
|
-
},
|
|
117
|
-
},
|
|
118
|
-
// 节假日
|
|
119
|
-
HOLIDAY: {
|
|
120
|
-
zh: ["元旦", "春节", "清明节", "劳动节", "端午节", "中秋节", "国庆节"],
|
|
121
|
-
en: [
|
|
122
|
-
"New Year‘s Day",
|
|
123
|
-
"Spring Festival",
|
|
124
|
-
"Tomb Sweeping Day",
|
|
125
|
-
"Labor Day",
|
|
126
|
-
"Dragon Boat Festival",
|
|
127
|
-
"Mid-Autumn Day",
|
|
128
|
-
"National Day",
|
|
129
|
-
],
|
|
130
|
-
},
|
|
131
|
-
// 星座
|
|
132
|
-
ZODIAC: {
|
|
133
|
-
zh: [
|
|
134
|
-
"摩羯座",
|
|
135
|
-
"水瓶座",
|
|
136
|
-
"双鱼座",
|
|
137
|
-
"白羊座",
|
|
138
|
-
"金牛座",
|
|
139
|
-
"双子座",
|
|
140
|
-
"巨蟹座",
|
|
141
|
-
"狮子座",
|
|
142
|
-
"处女座",
|
|
143
|
-
"天秤座",
|
|
144
|
-
"天蝎座",
|
|
145
|
-
"射手座",
|
|
146
|
-
],
|
|
147
|
-
en: [
|
|
148
|
-
"Capricorn",
|
|
149
|
-
"Aquarius",
|
|
150
|
-
"Pisces",
|
|
151
|
-
"Aries",
|
|
152
|
-
"Taurus",
|
|
153
|
-
"Gemini",
|
|
154
|
-
"Cancer",
|
|
155
|
-
"Leo",
|
|
156
|
-
"Virgo",
|
|
157
|
-
"Libra",
|
|
158
|
-
"Scorpio",
|
|
159
|
-
"Sagittarius",
|
|
160
|
-
],
|
|
161
|
-
},
|
|
162
|
-
// 生肖
|
|
163
|
-
CHINESE_ZODIAC: {
|
|
164
|
-
zh: ["鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪"],
|
|
165
|
-
en: ["Rat", "Ox", "Tiger", "Rabbit", "Dragon", "Snake", "Horse", "Goat", "Monkey", "Rooster", "Dog", "Pig"],
|
|
166
|
-
},
|
|
167
|
-
// 天干地支
|
|
168
|
-
HEAVENLY_STEMS: {
|
|
169
|
-
zh: ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"],
|
|
170
|
-
en: ["Jia", "Yi", "Bing", "Ding", "Wu", "Ji", "Geng", "Xin", "Ren", "Gui"],
|
|
171
|
-
},
|
|
172
|
-
EARTHLY_BRANCHES: {
|
|
173
|
-
zh: ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"],
|
|
174
|
-
en: ["Zi", "Chou", "Yin", "Mao", "Chen", "Si", "Wu", "Wei", "Shen", "You", "Xu", "Hai"],
|
|
175
|
-
},
|
|
176
|
-
};
|
|
177
|
-
|
|
178
|
-
exports.DATE = DATE;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* 身份证号
|
|
5
|
-
*/
|
|
6
|
-
const ID_CARD = {
|
|
7
|
-
// 身份证号对应的省
|
|
8
|
-
PROVINCE: {
|
|
9
|
-
11: "北京",
|
|
10
|
-
12: "天津",
|
|
11
|
-
13: "河北",
|
|
12
|
-
14: "山西",
|
|
13
|
-
15: "内蒙古",
|
|
14
|
-
21: "辽宁",
|
|
15
|
-
22: "吉林",
|
|
16
|
-
23: "黑龙江",
|
|
17
|
-
31: "上海",
|
|
18
|
-
32: "江苏",
|
|
19
|
-
33: "浙江",
|
|
20
|
-
34: "安徽",
|
|
21
|
-
35: "福建",
|
|
22
|
-
36: "江西",
|
|
23
|
-
37: "山东",
|
|
24
|
-
41: "河南",
|
|
25
|
-
42: "湖北",
|
|
26
|
-
43: "湖南",
|
|
27
|
-
44: "广东",
|
|
28
|
-
45: "广西",
|
|
29
|
-
46: "海南",
|
|
30
|
-
50: "重庆",
|
|
31
|
-
51: "四川",
|
|
32
|
-
52: "贵州",
|
|
33
|
-
53: "云南",
|
|
34
|
-
54: "西藏",
|
|
35
|
-
61: "陕西",
|
|
36
|
-
62: "甘肃",
|
|
37
|
-
63: "青海",
|
|
38
|
-
64: "宁夏",
|
|
39
|
-
65: "新疆",
|
|
40
|
-
71: "台湾",
|
|
41
|
-
81: "香港",
|
|
42
|
-
82: "澳门",
|
|
43
|
-
91: "国外",
|
|
44
|
-
},
|
|
45
|
-
// 性别
|
|
46
|
-
SEX: {
|
|
47
|
-
MAN: "男",
|
|
48
|
-
WOMAN: "女",
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
exports.ID_CARD = ID_CARD;
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
* 键盘码
|
|
5
|
-
*/
|
|
6
|
-
const KEYCODE = {
|
|
7
|
-
// 字符键
|
|
8
|
-
8: "Backspace",
|
|
9
|
-
9: "Tab",
|
|
10
|
-
13: "Enter",
|
|
11
|
-
16: "Shift",
|
|
12
|
-
17: "Ctrl",
|
|
13
|
-
18: "Alt",
|
|
14
|
-
19: "Pause",
|
|
15
|
-
20: "Caps Lock",
|
|
16
|
-
27: "Escape",
|
|
17
|
-
32: "Space",
|
|
18
|
-
33: "Page Up",
|
|
19
|
-
34: "Page Down",
|
|
20
|
-
35: "End",
|
|
21
|
-
36: "Home",
|
|
22
|
-
37: "Left",
|
|
23
|
-
38: "Up",
|
|
24
|
-
39: "Right",
|
|
25
|
-
40: "Down",
|
|
26
|
-
42: "Print Screen",
|
|
27
|
-
45: "Insert",
|
|
28
|
-
46: "Delete",
|
|
29
|
-
// 数字键
|
|
30
|
-
48: "0",
|
|
31
|
-
49: "1",
|
|
32
|
-
50: "2",
|
|
33
|
-
51: "3",
|
|
34
|
-
52: "4",
|
|
35
|
-
53: "5",
|
|
36
|
-
54: "6",
|
|
37
|
-
55: "7",
|
|
38
|
-
56: "8",
|
|
39
|
-
57: "9",
|
|
40
|
-
// 字母键
|
|
41
|
-
65: "A",
|
|
42
|
-
66: "B",
|
|
43
|
-
67: "C",
|
|
44
|
-
68: "D",
|
|
45
|
-
69: "E",
|
|
46
|
-
70: "F",
|
|
47
|
-
71: "G",
|
|
48
|
-
72: "H",
|
|
49
|
-
73: "I",
|
|
50
|
-
74: "J",
|
|
51
|
-
75: "K",
|
|
52
|
-
76: "L",
|
|
53
|
-
77: "M",
|
|
54
|
-
78: "N",
|
|
55
|
-
79: "O",
|
|
56
|
-
80: "P",
|
|
57
|
-
81: "Q",
|
|
58
|
-
82: "R",
|
|
59
|
-
83: "S",
|
|
60
|
-
84: "T",
|
|
61
|
-
85: "U",
|
|
62
|
-
86: "V",
|
|
63
|
-
87: "W",
|
|
64
|
-
88: "X",
|
|
65
|
-
89: "Y",
|
|
66
|
-
90: "Z",
|
|
67
|
-
// window
|
|
68
|
-
91: "Windows",
|
|
69
|
-
93: "Right Click",
|
|
70
|
-
// Numpad
|
|
71
|
-
96: "Numpad 0",
|
|
72
|
-
97: "Numpad 1",
|
|
73
|
-
98: "Numpad 2",
|
|
74
|
-
99: "Numpad 3",
|
|
75
|
-
100: "Numpad 4",
|
|
76
|
-
101: "Numpad 5",
|
|
77
|
-
102: "Numpad 6",
|
|
78
|
-
103: "Numpad 7",
|
|
79
|
-
104: "Numpad 8",
|
|
80
|
-
105: "Numpad 9",
|
|
81
|
-
106: "Numpad *",
|
|
82
|
-
107: "Numpad +",
|
|
83
|
-
109: "Numpad -",
|
|
84
|
-
110: "Numpad .",
|
|
85
|
-
111: "Numpad /",
|
|
86
|
-
// F功能键
|
|
87
|
-
112: "F1",
|
|
88
|
-
113: "F2",
|
|
89
|
-
114: "F3",
|
|
90
|
-
115: "F4",
|
|
91
|
-
116: "F5",
|
|
92
|
-
117: "F6",
|
|
93
|
-
118: "F7",
|
|
94
|
-
119: "F8",
|
|
95
|
-
120: "F9",
|
|
96
|
-
121: "F10",
|
|
97
|
-
122: "F11",
|
|
98
|
-
123: "F12",
|
|
99
|
-
// 特殊符号
|
|
100
|
-
144: "Num Lock",
|
|
101
|
-
145: "Scroll Lock",
|
|
102
|
-
182: "My Computer",
|
|
103
|
-
183: "My Calculator",
|
|
104
|
-
186: ";",
|
|
105
|
-
187: "=",
|
|
106
|
-
188: ",",
|
|
107
|
-
189: "-",
|
|
108
|
-
190: ".",
|
|
109
|
-
191: "/",
|
|
110
|
-
192: "`",
|
|
111
|
-
219: "[",
|
|
112
|
-
220: "\\",
|
|
113
|
-
221: "]",
|
|
114
|
-
222: "'",
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
exports.KEYCODE = KEYCODE;
|