gis-common 2.2.19 → 3.1.2
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/resource.min.js +1 -1
- package/package.json +5 -2
- package/src/assets/images/location.png +0 -0
- package/src/constant/ErrorTypeConstant.js +22 -0
- package/src/constant/EventTypeConstant.js +23 -0
- package/src/constant/GraphicConstant.js +16 -0
- package/src/constant/LayerType.js +9 -0
- package/src/constant/index.js +4 -0
- package/src/core/AudioPlayer.js +30 -0
- package/src/core/CanvasDrawer.js +51 -0
- package/src/core/DevicePixelRatio.js +86 -0
- package/src/core/ElQuery.js +88 -0
- package/src/core/EventDispatcher.js +93 -0
- package/src/core/HashMap.js +26 -0
- package/src/core/MqttClient.js +108 -0
- package/src/core/WebSocketClient.js +104 -0
- package/src/core/WebStorage.js +73 -0
- package/src/index.js +10 -0
- package/src/utils/AnimateUtils.js +78 -0
- package/src/utils/ArrayUtils.js +82 -0
- package/src/utils/AssertUtils.js +112 -0
- package/src/utils/BrowserUtils.js +107 -0
- package/src/utils/CommUtils.js +236 -0
- package/src/utils/Cookie.js +23 -0
- package/src/utils/CoordsUtils.js +145 -0
- package/src/utils/DateUtils.js +144 -0
- package/src/utils/DomUtils.js +94 -0
- package/src/utils/FileUtils.js +104 -0
- package/src/utils/GeoUtils.js +253 -0
- package/src/utils/MathUtils.js +49 -0
- package/src/utils/OptimizeUtils.js +94 -0
- package/src/utils/StringUtils.js +148 -0
- package/src/utils/index.js +14 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import CommUtils from './CommUtils'
|
|
2
|
+
export default {
|
|
3
|
+
/**
|
|
4
|
+
* 常用正则验证
|
|
5
|
+
*
|
|
6
|
+
* @param {*} str
|
|
7
|
+
* @param {*} type
|
|
8
|
+
* @returns {*}
|
|
9
|
+
*/
|
|
10
|
+
checkStr(str, type) {
|
|
11
|
+
switch (type) {
|
|
12
|
+
case 'phone': // 手机号码
|
|
13
|
+
return /^1[3|4|5|6|7|8|9][0-9]{9}$/.test(str)
|
|
14
|
+
case 'tel': // 座机
|
|
15
|
+
return /^(0\d{2,3}-\d{7,8})(-\d{1,4})?$/.test(str)
|
|
16
|
+
case 'card': // 身份证
|
|
17
|
+
return /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(str)
|
|
18
|
+
case 'pwd': // 密码以字母开头,长度在6~18之间,只能包含字母、数字和下划线
|
|
19
|
+
return /^[a-zA-Z]\w{5,17}$/.test(str)
|
|
20
|
+
case 'postal': // 邮政编码
|
|
21
|
+
return /[1-9]\d{5}(?!\d)/.test(str)
|
|
22
|
+
case 'QQ': // QQ号
|
|
23
|
+
return /^[1-9][0-9]{4,9}$/.test(str)
|
|
24
|
+
case 'email': // 邮箱
|
|
25
|
+
return /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(str)
|
|
26
|
+
case 'money': // 金额(小数点2位)
|
|
27
|
+
return /^\d*(?:\.\d{0,2})?$/.test(str)
|
|
28
|
+
case 'URL': // 网址
|
|
29
|
+
return /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/.test(str)
|
|
30
|
+
case 'IP': // IP
|
|
31
|
+
return /((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))/.test(str)
|
|
32
|
+
case 'date': // 日期时间
|
|
33
|
+
return /^(\d{4})\-(\d{2})\-(\d{2}) (\d{2})(?:\:\d{2}|:(\d{2}):(\d{2}))$/.test(str) || /^(\d{4})\-(\d{2})\-(\d{2})$/.test(str)
|
|
34
|
+
case 'number': // 数字
|
|
35
|
+
return /^[0-9]$/.test(str)
|
|
36
|
+
case 'english': // 英文
|
|
37
|
+
return /^[a-zA-Z]+$/.test(str)
|
|
38
|
+
case 'chinese': // 中文
|
|
39
|
+
return /^[\u4E00-\u9FA5]+$/.test(str)
|
|
40
|
+
case 'lower': // 小写
|
|
41
|
+
return /^[a-z]+$/.test(str)
|
|
42
|
+
case 'upper': // 大写
|
|
43
|
+
return /^[A-Z]+$/.test(str)
|
|
44
|
+
case 'HTML': // HTML标记
|
|
45
|
+
return /<("[^"]*"|'[^']*'|[^'">])*>/.test(str)
|
|
46
|
+
default:
|
|
47
|
+
return true
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
/**
|
|
51
|
+
* 字符串大小写转换 type: 1:首字母大写 2:首页母小写 3:大小写转换 4:全部大写 5:全部小写
|
|
52
|
+
*
|
|
53
|
+
* @param {*} str
|
|
54
|
+
* @param {*} type
|
|
55
|
+
* @returns {*}
|
|
56
|
+
*/
|
|
57
|
+
changeCase(str, type) {
|
|
58
|
+
type = type || 4
|
|
59
|
+
switch (type) {
|
|
60
|
+
case 1:
|
|
61
|
+
return str.replace(/\b\w+\b/g, function (word) {
|
|
62
|
+
return word.substring(0, 1).toUpperCase() + word.substring(1).toLowerCase()
|
|
63
|
+
})
|
|
64
|
+
case 2:
|
|
65
|
+
return str.replace(/\b\w+\b/g, function (word) {
|
|
66
|
+
return word.substring(0, 1).toLowerCase() + word.substring(1).toUpperCase()
|
|
67
|
+
})
|
|
68
|
+
case 3:
|
|
69
|
+
return str
|
|
70
|
+
.split('')
|
|
71
|
+
.map(function (word) {
|
|
72
|
+
if (/[a-z]/.test(word)) {
|
|
73
|
+
return word.toUpperCase()
|
|
74
|
+
} else {
|
|
75
|
+
return word.toLowerCase()
|
|
76
|
+
}
|
|
77
|
+
})
|
|
78
|
+
.join('')
|
|
79
|
+
case 4:
|
|
80
|
+
return str.toUpperCase()
|
|
81
|
+
case 5:
|
|
82
|
+
return str.toLowerCase()
|
|
83
|
+
default:
|
|
84
|
+
return str
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
/**
|
|
88
|
+
* 处理字符串模板
|
|
89
|
+
* eg: tag`${abc}`
|
|
90
|
+
* @param {*} strArray
|
|
91
|
+
* @param {*} args
|
|
92
|
+
* @returns {*}
|
|
93
|
+
*/
|
|
94
|
+
tag(strArray, ...args) {
|
|
95
|
+
args = args.map((val) => {
|
|
96
|
+
switch (CommUtils.getDataType(val)) {
|
|
97
|
+
case 'Object':
|
|
98
|
+
return val || '{}'
|
|
99
|
+
case 'Array':
|
|
100
|
+
return val || '[]'
|
|
101
|
+
default:
|
|
102
|
+
return val || ''
|
|
103
|
+
}
|
|
104
|
+
})
|
|
105
|
+
return strArray.reduce((prev, next, index) => `${prev}${args[index - 1]}${next}`)
|
|
106
|
+
},
|
|
107
|
+
/**
|
|
108
|
+
* 获取字符串字节长度
|
|
109
|
+
* @param {*} str
|
|
110
|
+
* @returns {*}
|
|
111
|
+
*/
|
|
112
|
+
getByteLength(str) {
|
|
113
|
+
return str.replace(/[\u0391-\uFFE5]/g, 'aa').length
|
|
114
|
+
},
|
|
115
|
+
/**
|
|
116
|
+
* 根据字节长度截取字符串
|
|
117
|
+
* @param {*} str
|
|
118
|
+
* @param {*} n
|
|
119
|
+
* @returns {*}
|
|
120
|
+
*/
|
|
121
|
+
subStringByte(str, start, n) {
|
|
122
|
+
var r = /[^\x00-\xff]/g
|
|
123
|
+
if (str.replace(r, 'mm').length <= n) {
|
|
124
|
+
return str
|
|
125
|
+
}
|
|
126
|
+
var m = Math.floor(n / 2)
|
|
127
|
+
for (var i = m; i < str.length; i++) {
|
|
128
|
+
let sub = str.substring(start, i)
|
|
129
|
+
if (sub.replace(r, 'mm').length >= n) {
|
|
130
|
+
return sub
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return str
|
|
134
|
+
},
|
|
135
|
+
asString(value) {
|
|
136
|
+
if (CommUtils.isEmpty(value)) {
|
|
137
|
+
return ''
|
|
138
|
+
} else {
|
|
139
|
+
switch (CommUtils.getDataType()) {
|
|
140
|
+
case 'Object':
|
|
141
|
+
case 'Array':
|
|
142
|
+
return JSON.stringify(value)
|
|
143
|
+
default:
|
|
144
|
+
return value
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { default as AnimateUtils } from './AnimateUtils'
|
|
2
|
+
export { default as ArrayUtils } from './ArrayUtils'
|
|
3
|
+
export { default as BrowserUtils } from './BrowserUtils'
|
|
4
|
+
export { default as Cookie } from './Cookie'
|
|
5
|
+
export { default as CoordsUtils } from './CoordsUtils'
|
|
6
|
+
export { default as DateUtils } from './DateUtils'
|
|
7
|
+
export { default as DomUtils } from './DomUtils'
|
|
8
|
+
export { default as GeoUtils } from './GeoUtils'
|
|
9
|
+
export { default as FileUtils } from './FileUtils'
|
|
10
|
+
export { default as MathUtils } from './MathUtils'
|
|
11
|
+
export { default as OptimizeUtils } from './OptimizeUtils'
|
|
12
|
+
export { default as StringUtils } from './StringUtils'
|
|
13
|
+
export { default as AssertUtils } from './AssertUtils'
|
|
14
|
+
export { default as Utils } from './CommUtils'
|