@haluo/util 2.0.27 → 2.0.29

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.
Files changed (59) hide show
  1. package/README.md +350 -350
  2. package/dist/index.d.ts +39 -39
  3. package/dist/index.js +43 -43
  4. package/dist/modules/cookie/index.d.ts +27 -27
  5. package/dist/modules/cookie/index.js +49 -49
  6. package/dist/modules/date/index.d.ts +52 -52
  7. package/dist/modules/date/index.js +185 -185
  8. package/dist/modules/dom/index.d.ts +28 -28
  9. package/dist/modules/dom/index.js +55 -55
  10. package/dist/modules/filter/index.d.ts +24 -24
  11. package/dist/modules/filter/index.js +38 -38
  12. package/dist/modules/format/index.d.ts +15 -15
  13. package/dist/modules/format/index.js +16 -16
  14. package/dist/modules/match/index.d.ts +12 -12
  15. package/dist/modules/match/index.js +27 -27
  16. package/dist/modules/monitor/index.d.ts +3 -3
  17. package/dist/modules/monitor/index.js +10 -10
  18. package/dist/modules/monitor/lib/jsError.d.ts +1 -1
  19. package/dist/modules/monitor/lib/jsError.js +57 -57
  20. package/dist/modules/monitor/lib/timing.d.ts +1 -1
  21. package/dist/modules/monitor/lib/timing.js +65 -65
  22. package/dist/modules/monitor/lib/xhr.d.ts +1 -1
  23. package/dist/modules/monitor/lib/xhr.js +41 -41
  24. package/dist/modules/monitor/utils/onload.d.ts +1 -1
  25. package/dist/modules/monitor/utils/onload.js +8 -8
  26. package/dist/modules/monitor/utils/tracker.d.ts +7 -7
  27. package/dist/modules/monitor/utils/tracker.js +49 -49
  28. package/dist/modules/number/index.d.ts +47 -47
  29. package/dist/modules/number/index.js +114 -114
  30. package/dist/modules/open-app/index.d.ts +84 -84
  31. package/dist/modules/open-app/index.js +244 -244
  32. package/dist/modules/sentry/index.d.ts +15 -15
  33. package/dist/modules/sentry/index.js +73 -73
  34. package/dist/modules/tools/index.d.ts +166 -166
  35. package/dist/modules/tools/index.js +382 -382
  36. package/dist/modules/upload/aliOss.d.ts +291 -291
  37. package/dist/modules/upload/aliOss.js +629 -626
  38. package/dist/modules/upload/index.d.ts +38 -39
  39. package/dist/modules/upload/index.js +44 -45
  40. package/dist/tsconfig.tsbuildinfo +1 -1
  41. package/dist/types/index.d.ts +3 -3
  42. package/dist/types/index.js +1 -1
  43. package/dist/types/modules/cookie/index.d.ts +27 -0
  44. package/dist/types/modules/date/index.d.ts +52 -0
  45. package/dist/types/modules/dom/index.d.ts +28 -0
  46. package/dist/types/modules/filter/index.d.ts +24 -0
  47. package/dist/types/modules/format/index.d.ts +15 -0
  48. package/dist/types/modules/match/index.d.ts +12 -0
  49. package/dist/types/modules/monitor/index.d.ts +3 -0
  50. package/dist/types/modules/monitor/lib/jsError.d.ts +1 -0
  51. package/dist/types/modules/monitor/lib/timing.d.ts +1 -0
  52. package/dist/types/modules/monitor/lib/xhr.d.ts +1 -0
  53. package/dist/types/modules/monitor/utils/onload.d.ts +1 -0
  54. package/dist/types/modules/monitor/utils/tracker.d.ts +7 -0
  55. package/dist/types/modules/number/index.d.ts +41 -0
  56. package/dist/types/modules/sentry/index.d.ts +15 -0
  57. package/dist/types/modules/tools/index.d.ts +166 -0
  58. package/dist/types/types/index.d.ts +3 -0
  59. package/package.json +88 -88
package/README.md CHANGED
@@ -1,350 +1,350 @@
1
- ### @haluo/util
2
-
3
- > 摩托范工具库
4
-
5
-
6
-
7
- #### 部署说明
8
-
9
- ```js
10
- npm publish // 发布包
11
- npm unpublish --force // 强制删除
12
- npm unpublish @haluo/util@0.0.0 // 删除指定版本的包
13
- ```
14
-
15
- #### 安装说明
16
-
17
- ```js
18
- npm install -D @haluo/util
19
- yarn add -D @haluo/util
20
- // npm install -D @types/@haluo/util # 使用ts构建时
21
- ```
22
-
23
- #### 使用说明
24
-
25
- ```js
26
- // 方式一
27
- import { cookie, date, dom, match, number, tools } from '@haluo/util' // 全量引用
28
-
29
- // 方式二
30
- import tools from '@haluo/util/dist/modules/match' // 局部引用
31
-
32
- // 方式三
33
- const date = require('@haluo/util').date // 全量引用
34
-
35
- // 方式四
36
- import haluoUtil from '@haluo/util' // 全量引用
37
-
38
- // 方式五
39
- import util from '@haluo/util'
40
- util.install(Vue)
41
- this.$cookie、this.$date、this.$dom、this.$match、this.$number、this.$tools
42
- ```
43
-
44
-
45
-
46
- ## 🚀 API 文档
47
-
48
- ### date
49
-
50
- > import { date } from '@haluo/util';
51
-
52
- - format:格式化时间戳
53
-
54
- ```js
55
- date.format(new Date()) // 默认格式 'YYYY-MM-DD HH:mm:ss'
56
- date.format(1586840260500) // 默认格式,传参为linux时间
57
- date.format(new Date(), 'YYYY:MM:DD') // 自定义格式 'YYYY:MM:DD'
58
- ```
59
-
60
- - addDaysToDate 天数加减
61
-
62
- ```js
63
- addDaysToDate('2020-10-15', 10) // '2020-10-25'
64
- addDaysToDate('2020-10-15', -10) // '2020-10-05'
65
- ```
66
-
67
- - remainTime 获取倒计时剩余时间
68
-
69
- ```js
70
- date.remainTime(new Date()) // 入参为 endTime,出参为:{dd: '天', hh: '时', mm: '分', ss: '秒'}
71
- date.remainTime(new Date(), 1586840260500) // 入参为 endTime、startTime,出参为:{dd: '天', hh: '时', mm: '分', ss: '秒'}
72
- date.remainTime(1586840260500) // {dd: '天', hh: '时', mm: '分', ss: '秒'}
73
- ```
74
-
75
- - formatPassTime 格式化现在的已过时间
76
-
77
- ```js
78
- date.formatPassTime(new Date()) // *年前 *个月前 *天前 *小时前 *分钟前 刚刚
79
- ```
80
-
81
- - formatPassTimeForDetail 格式化时间 详情内容里的时间格式
82
-
83
- ```js
84
- formatPassTimeForDetail(1494141000*1000, 'YYYY-MM-DD', false) // *年*月*日 *月*日 刚刚(1-60秒) 1-60分钟前 1-24小时前 1-3天前
85
- ```
86
-
87
-
88
-
89
- ### dom(仅限H5使用)
90
-
91
- > import { dom } from '@haluo/util';
92
-
93
- - createElement 创建一个子元素,并添加至父节点(可选)(仅限H5使用)
94
-
95
- ```js
96
- dom.createElement('div', '', 'body')
97
- ```
98
- - wrapperA 给url包一个a标签(仅限H5使用)
99
-
100
- ```js
101
- // "1234<a href=\"https://m.jddmoto.com/home-garage\">https://m.jddmoto.com/home-garage</a>你好"
102
- dom.wrapperA('1234https://m.jddmoto.com/home-garage你好')
103
- ```
104
- - 对象转化为formdata(仅限H5使用)
105
-
106
- ```js
107
- getFormData({a: 1, b: 2}) // 返回 FormData
108
- ```
109
-
110
-
111
-
112
- ### format
113
-
114
- > import { format } from '@haluo/util';
115
-
116
- - transformObjectNullVal 对于对象非数字与布尔值的value,当其为falsy时,转换成separator
117
-
118
- ```js
119
- format.transformObjectNullVal({ a: null, b: 0}, '23') // {a: "23", b: 0}
120
- ```
121
-
122
-
123
-
124
- ### match
125
-
126
- > import { match } from '@haluo/util';
127
-
128
- - checkType 检测是否 ip、port、phone(手机号码)、email(邮箱)、IDCard(身份证)、url(网址)、number(数字)
129
-
130
- ```js
131
- match.checkType('10.120.33.11', 'ip') // true
132
- match.checkType('13111111111', 'phone') // true
133
- match.checkType('wanghui@jddmoto.com', 'email') // true
134
- ```
135
-
136
-
137
-
138
- ### number
139
-
140
- > import { number } from '@haluo/util';
141
-
142
- - formatNumber 个位数前面补0
143
-
144
- ```js
145
- number.formatNumber(1) // 01
146
- ```
147
-
148
- - formatPhone 将手机号中间部分替换为星号
149
-
150
- ```js
151
- number.formatPhone(13111111111) // 131****1111
152
- ```
153
-
154
- - convertToWan 格式化数字 万
155
-
156
- ```js
157
- number.convertToWan(123000) // 12.3万
158
- ```
159
-
160
- - convertToThousand 格式化数字 k
161
-
162
- ```js
163
- number.convertToThousand(1200) // 1.2k
164
- ```
165
-
166
- - random 随机数,指定范围
167
-
168
- ```js
169
- number.random(1, 100) // 4
170
- ```
171
-
172
- - formatMoney 格式化金额
173
-
174
- ```js
175
- number.formatMoney(123456) // 123,456
176
- ```
177
-
178
- - formatPhoneNumber 格式化手机号码
179
-
180
- ```js
181
- number.formatPhoneNumber(13111111111) // 131 1111 1111
182
- ```
183
-
184
- ### openApp
185
-
186
- > import { openApp } from '@haluo/util';
187
-
188
- - export default new openApp(env, postJddTrack, trackId, openAppState)
189
-
190
-
191
- ### tools
192
-
193
- > 常用函数工具库(防抖、节流、正则类型检测、深浅拷贝等)
194
- > import { tools } from '@haluo/util';
195
-
196
- - deepCopy 深拷贝,支持 普通对象、数组,但是未解决Function、Date、RegExp,且1M以上数据性能不好
197
-
198
- ```js
199
- tools.deepCopy({a: {b: 2}, c: {d: 3}}) // {a: {b: 2}, c: {d: 3}}
200
- ```
201
-
202
- - deepCopy2 支持 普通对象、数组和函数的深复制,但是未解决循环引用、Date、RegExp
203
-
204
- ```js
205
- tools.deepCopy2({a: {b: 2}, c: {d: 3}}) // {a: {b: 2}, c: {d: 3}}
206
- ```
207
-
208
- - debounce 防抖
209
-
210
- ```js
211
- tools.debounce(func, 300)(args)
212
- ```
213
-
214
- - throttle 节流
215
-
216
- ```js
217
- tools.throttle(func, 300)(args)
218
- ```
219
-
220
- - loadJs 动态加载脚本(仅限H5使用)
221
-
222
- ```js
223
- tools.loadJs('https://cdn.jsdelivr.net/npm/vant@2.10.1/lib/index.js').then()
224
- ```
225
-
226
- - loadCss 动态加载样式(仅限H5使用)
227
-
228
- ```js
229
- tools.loadCss('https://cdn.jsdelivr.net/npm/vant@2.10.1/lib/index.css').then()
230
- ```
231
-
232
- - startScroll 蒙层隐藏后,html开启滚动操作(仅限H5使用)
233
-
234
- ```js
235
- tools.startScroll()
236
- ```
237
-
238
- - stopScroll 蒙层显示后,html禁止滚动操作(仅限H5使用)
239
-
240
- ```js
241
- tools.stopScroll()
242
- ```
243
-
244
- - clipboard 字符串复制到剪贴板(仅限H5使用)
245
-
246
- ```js
247
- tools.clipboard('test')
248
- ```
249
-
250
- - firstUpperCase 首字母大写
251
-
252
- ```js
253
- tools.firstUpperCase('abcde') // Abcde
254
- ```
255
-
256
- - guid 生成guid
257
-
258
- ```js
259
- tools.guid() // a5a35c73-f516-9f9d-ec66-78163d092cd2
260
- ```
261
-
262
- - getBytesOfText 获取文本字节数(含中文)
263
-
264
- ```js
265
- tools.getBytesOfText('张三a1') // 6
266
- ```
267
-
268
- - objectToArray object 对象转 array 数组
269
-
270
- ```js
271
- tools.objectToArray({a: 1, b: 2}) // ["a=1", "b=2"]
272
- ```
273
-
274
- - convertKeyValueEnum 枚举键值互换
275
-
276
- ```js
277
- tools.convertKeyValueEnum({a: 1, b: 2}) // {1: "a", 2: "b"}
278
- ```
279
-
280
- - uniqueArr 数组去重
281
-
282
- ```js
283
- tools.uniqueArr[1, 2, 2, 3]) // [1, 2, 3]
284
- ```
285
-
286
- - swapArray 数组元素交换位置
287
-
288
- ```js
289
- tools.swapArray([1, 2, 3, 4], 2, 3) // [1, 2, 4, 3]
290
- ```
291
-
292
- - filterEmoji 过滤表情符号
293
-
294
- ```js
295
- tools.filterEmoji() // string
296
- ```
297
-
298
- - containsEmoji 是否包含表情
299
-
300
- ```js
301
- tools.containsEmoji() // true or false
302
- ```
303
-
304
- - containsHanZi 是否包含表汉字
305
-
306
- ```js
307
- tools.containsHanZi('123哈哈456') // true
308
- ```
309
-
310
- - isEmpty 任意类型是否为空
311
-
312
- ```js
313
- tools.isEmpty() // true or false
314
- ```
315
-
316
- - isDefined 变量是否 undefined 或 null
317
-
318
- ```js
319
- tools.isDefined() // true or false
320
- ```
321
-
322
- - sensitiveField 字段脱敏处理
323
-
324
- ```js
325
- tools.sensitiveField(13111111111, 3, 4) // 131****1111
326
- ```
327
-
328
-
329
-
330
- ### sentry
331
-
332
- > import { sentry } from '@haluo/util';
333
-
334
- - 初始化
335
-
336
- ``` js
337
- import { sentry } from '@haluo/util';
338
- const option = {
339
- dsn: http://753ce3bf82e94ab0aa7b5e62fae16d3c@sentry.***.com:9000/2
340
- }
341
- const Sentry = sentry.getInstance(Vue, option);
342
- Vue.prototype.$sentry = sentry;
343
- ```
344
-
345
- - 主动上报
346
-
347
- ```js
348
- this.$sentry.log('test');
349
- ```
350
-
1
+ ### @haluo/util
2
+
3
+ > 摩托范工具库
4
+
5
+
6
+
7
+ #### 部署说明
8
+
9
+ ```js
10
+ npm publish // 发布包
11
+ npm unpublish --force // 强制删除
12
+ npm unpublish @haluo/util@0.0.0 // 删除指定版本的包
13
+ ```
14
+
15
+ #### 安装说明
16
+
17
+ ```js
18
+ npm install -D @haluo/util
19
+ yarn add -D @haluo/util
20
+ // npm install -D @types/@haluo/util # 使用ts构建时
21
+ ```
22
+
23
+ #### 使用说明
24
+
25
+ ```js
26
+ // 方式一
27
+ import { cookie, date, dom, match, number, tools } from '@haluo/util' // 全量引用
28
+
29
+ // 方式二
30
+ import tools from '@haluo/util/dist/modules/match' // 局部引用
31
+
32
+ // 方式三
33
+ const date = require('@haluo/util').date // 全量引用
34
+
35
+ // 方式四
36
+ import haluoUtil from '@haluo/util' // 全量引用
37
+
38
+ // 方式五
39
+ import util from '@haluo/util'
40
+ util.install(Vue)
41
+ this.$cookie、this.$date、this.$dom、this.$match、this.$number、this.$tools
42
+ ```
43
+
44
+
45
+
46
+ ## 🚀 API 文档
47
+
48
+ ### date
49
+
50
+ > import { date } from '@haluo/util';
51
+
52
+ - format:格式化时间戳
53
+
54
+ ```js
55
+ date.format(new Date()) // 默认格式 'YYYY-MM-DD HH:mm:ss'
56
+ date.format(1586840260500) // 默认格式,传参为linux时间
57
+ date.format(new Date(), 'YYYY:MM:DD') // 自定义格式 'YYYY:MM:DD'
58
+ ```
59
+
60
+ - addDaysToDate 天数加减
61
+
62
+ ```js
63
+ addDaysToDate('2020-10-15', 10) // '2020-10-25'
64
+ addDaysToDate('2020-10-15', -10) // '2020-10-05'
65
+ ```
66
+
67
+ - remainTime 获取倒计时剩余时间
68
+
69
+ ```js
70
+ date.remainTime(new Date()) // 入参为 endTime,出参为:{dd: '天', hh: '时', mm: '分', ss: '秒'}
71
+ date.remainTime(new Date(), 1586840260500) // 入参为 endTime、startTime,出参为:{dd: '天', hh: '时', mm: '分', ss: '秒'}
72
+ date.remainTime(1586840260500) // {dd: '天', hh: '时', mm: '分', ss: '秒'}
73
+ ```
74
+
75
+ - formatPassTime 格式化现在的已过时间
76
+
77
+ ```js
78
+ date.formatPassTime(new Date()) // *年前 *个月前 *天前 *小时前 *分钟前 刚刚
79
+ ```
80
+
81
+ - formatPassTimeForDetail 格式化时间 详情内容里的时间格式
82
+
83
+ ```js
84
+ formatPassTimeForDetail(1494141000*1000, 'YYYY-MM-DD', false) // *年*月*日 *月*日 刚刚(1-60秒) 1-60分钟前 1-24小时前 1-3天前
85
+ ```
86
+
87
+
88
+
89
+ ### dom(仅限H5使用)
90
+
91
+ > import { dom } from '@haluo/util';
92
+
93
+ - createElement 创建一个子元素,并添加至父节点(可选)(仅限H5使用)
94
+
95
+ ```js
96
+ dom.createElement('div', '', 'body')
97
+ ```
98
+ - wrapperA 给url包一个a标签(仅限H5使用)
99
+
100
+ ```js
101
+ // "1234<a href=\"https://m.jddmoto.com/home-garage\">https://m.jddmoto.com/home-garage</a>你好"
102
+ dom.wrapperA('1234https://m.jddmoto.com/home-garage你好')
103
+ ```
104
+ - 对象转化为formdata(仅限H5使用)
105
+
106
+ ```js
107
+ getFormData({a: 1, b: 2}) // 返回 FormData
108
+ ```
109
+
110
+
111
+
112
+ ### format
113
+
114
+ > import { format } from '@haluo/util';
115
+
116
+ - transformObjectNullVal 对于对象非数字与布尔值的value,当其为falsy时,转换成separator
117
+
118
+ ```js
119
+ format.transformObjectNullVal({ a: null, b: 0}, '23') // {a: "23", b: 0}
120
+ ```
121
+
122
+
123
+
124
+ ### match
125
+
126
+ > import { match } from '@haluo/util';
127
+
128
+ - checkType 检测是否 ip、port、phone(手机号码)、email(邮箱)、IDCard(身份证)、url(网址)、number(数字)
129
+
130
+ ```js
131
+ match.checkType('10.120.33.11', 'ip') // true
132
+ match.checkType('13111111111', 'phone') // true
133
+ match.checkType('wanghui@jddmoto.com', 'email') // true
134
+ ```
135
+
136
+
137
+
138
+ ### number
139
+
140
+ > import { number } from '@haluo/util';
141
+
142
+ - formatNumber 个位数前面补0
143
+
144
+ ```js
145
+ number.formatNumber(1) // 01
146
+ ```
147
+
148
+ - formatPhone 将手机号中间部分替换为星号
149
+
150
+ ```js
151
+ number.formatPhone(13111111111) // 131****1111
152
+ ```
153
+
154
+ - convertToWan 格式化数字 万
155
+
156
+ ```js
157
+ number.convertToWan(123000) // 12.3万
158
+ ```
159
+
160
+ - convertToThousand 格式化数字 k
161
+
162
+ ```js
163
+ number.convertToThousand(1200) // 1.2k
164
+ ```
165
+
166
+ - random 随机数,指定范围
167
+
168
+ ```js
169
+ number.random(1, 100) // 4
170
+ ```
171
+
172
+ - formatMoney 格式化金额
173
+
174
+ ```js
175
+ number.formatMoney(123456) // 123,456
176
+ ```
177
+
178
+ - formatPhoneNumber 格式化手机号码
179
+
180
+ ```js
181
+ number.formatPhoneNumber(13111111111) // 131 1111 1111
182
+ ```
183
+
184
+ ### openApp
185
+
186
+ > import { openApp } from '@haluo/util';
187
+
188
+ - export default new openApp(env, postJddTrack, trackId, openAppState)
189
+
190
+
191
+ ### tools
192
+
193
+ > 常用函数工具库(防抖、节流、正则类型检测、深浅拷贝等)
194
+ > import { tools } from '@haluo/util';
195
+
196
+ - deepCopy 深拷贝,支持 普通对象、数组,但是未解决Function、Date、RegExp,且1M以上数据性能不好
197
+
198
+ ```js
199
+ tools.deepCopy({a: {b: 2}, c: {d: 3}}) // {a: {b: 2}, c: {d: 3}}
200
+ ```
201
+
202
+ - deepCopy2 支持 普通对象、数组和函数的深复制,但是未解决循环引用、Date、RegExp
203
+
204
+ ```js
205
+ tools.deepCopy2({a: {b: 2}, c: {d: 3}}) // {a: {b: 2}, c: {d: 3}}
206
+ ```
207
+
208
+ - debounce 防抖
209
+
210
+ ```js
211
+ tools.debounce(func, 300)(args)
212
+ ```
213
+
214
+ - throttle 节流
215
+
216
+ ```js
217
+ tools.throttle(func, 300)(args)
218
+ ```
219
+
220
+ - loadJs 动态加载脚本(仅限H5使用)
221
+
222
+ ```js
223
+ tools.loadJs('https://cdn.jsdelivr.net/npm/vant@2.10.1/lib/index.js').then()
224
+ ```
225
+
226
+ - loadCss 动态加载样式(仅限H5使用)
227
+
228
+ ```js
229
+ tools.loadCss('https://cdn.jsdelivr.net/npm/vant@2.10.1/lib/index.css').then()
230
+ ```
231
+
232
+ - startScroll 蒙层隐藏后,html开启滚动操作(仅限H5使用)
233
+
234
+ ```js
235
+ tools.startScroll()
236
+ ```
237
+
238
+ - stopScroll 蒙层显示后,html禁止滚动操作(仅限H5使用)
239
+
240
+ ```js
241
+ tools.stopScroll()
242
+ ```
243
+
244
+ - clipboard 字符串复制到剪贴板(仅限H5使用)
245
+
246
+ ```js
247
+ tools.clipboard('test')
248
+ ```
249
+
250
+ - firstUpperCase 首字母大写
251
+
252
+ ```js
253
+ tools.firstUpperCase('abcde') // Abcde
254
+ ```
255
+
256
+ - guid 生成guid
257
+
258
+ ```js
259
+ tools.guid() // a5a35c73-f516-9f9d-ec66-78163d092cd2
260
+ ```
261
+
262
+ - getBytesOfText 获取文本字节数(含中文)
263
+
264
+ ```js
265
+ tools.getBytesOfText('张三a1') // 6
266
+ ```
267
+
268
+ - objectToArray object 对象转 array 数组
269
+
270
+ ```js
271
+ tools.objectToArray({a: 1, b: 2}) // ["a=1", "b=2"]
272
+ ```
273
+
274
+ - convertKeyValueEnum 枚举键值互换
275
+
276
+ ```js
277
+ tools.convertKeyValueEnum({a: 1, b: 2}) // {1: "a", 2: "b"}
278
+ ```
279
+
280
+ - uniqueArr 数组去重
281
+
282
+ ```js
283
+ tools.uniqueArr[1, 2, 2, 3]) // [1, 2, 3]
284
+ ```
285
+
286
+ - swapArray 数组元素交换位置
287
+
288
+ ```js
289
+ tools.swapArray([1, 2, 3, 4], 2, 3) // [1, 2, 4, 3]
290
+ ```
291
+
292
+ - filterEmoji 过滤表情符号
293
+
294
+ ```js
295
+ tools.filterEmoji() // string
296
+ ```
297
+
298
+ - containsEmoji 是否包含表情
299
+
300
+ ```js
301
+ tools.containsEmoji() // true or false
302
+ ```
303
+
304
+ - containsHanZi 是否包含表汉字
305
+
306
+ ```js
307
+ tools.containsHanZi('123哈哈456') // true
308
+ ```
309
+
310
+ - isEmpty 任意类型是否为空
311
+
312
+ ```js
313
+ tools.isEmpty() // true or false
314
+ ```
315
+
316
+ - isDefined 变量是否 undefined 或 null
317
+
318
+ ```js
319
+ tools.isDefined() // true or false
320
+ ```
321
+
322
+ - sensitiveField 字段脱敏处理
323
+
324
+ ```js
325
+ tools.sensitiveField(13111111111, 3, 4) // 131****1111
326
+ ```
327
+
328
+
329
+
330
+ ### sentry
331
+
332
+ > import { sentry } from '@haluo/util';
333
+
334
+ - 初始化
335
+
336
+ ``` js
337
+ import { sentry } from '@haluo/util';
338
+ const option = {
339
+ dsn: http://753ce3bf82e94ab0aa7b5e62fae16d3c@sentry.***.com:9000/2
340
+ }
341
+ const Sentry = sentry.getInstance(Vue, option);
342
+ Vue.prototype.$sentry = sentry;
343
+ ```
344
+
345
+ - 主动上报
346
+
347
+ ```js
348
+ this.$sentry.log('test');
349
+ ```
350
+