axj-ab_ 1.0.8 → 1.0.9

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 (4) hide show
  1. package/dtsmake.sh +6 -1
  2. package/index.d.ts +82 -715
  3. package/index.js +1139 -1322
  4. package/package.json +1 -1
package/index.js CHANGED
@@ -1,1322 +1,1139 @@
1
- let _nextT = 0
2
-
3
- var ab_ = {
4
-
5
- _ver: false,
6
-
7
- local: true,
8
-
9
- https: false,
10
-
11
- fn(fn) {
12
- ab_ = Object.assign(ab_, fn)
13
- },
14
-
15
- header() {
16
- },
17
-
18
- back() {
19
- if (history.length > 1) {
20
- history.back()
21
-
22
- } else {
23
- window.close()
24
- }
25
- },
26
-
27
- push(uri, title) {
28
- location.hash = uri
29
- },
30
-
31
- replace(uri, title) {
32
- location.replace(uri)
33
- },
34
-
35
- open(uri, title, alone) {
36
- window.open(uri)
37
- },
38
-
39
- get(name) {
40
- var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)')
41
- var r = window.location.search.substr(1).match(reg)
42
- return r != null ? unescape(r[2]) : null
43
- },
44
-
45
- empty(o) {
46
- if (o) {
47
- if (typeof (o) === 'object') {
48
- for (var k in o) {
49
- return false
50
- }
51
-
52
- } else {
53
- return o.length > 0
54
- }
55
- }
56
-
57
- return true
58
- },
59
-
60
- urlRm(url, para) {
61
- var i = url.indexOf('&' + para + '=')
62
- var f = 0
63
- if (i < 0) {
64
- i = url.indexOf('?' + para + '=')
65
- f = 1
66
- }
67
-
68
- if (i >= 0) {
69
- var j = url.indexOf('&', i + 1)
70
- if (j > i) {
71
- if (f) {
72
- url = url.substr(0, i + 1) + url.substr(j + 1)
73
-
74
- } else {
75
- url = url.substr(0, i) + url.substr(j)
76
- }
77
-
78
- } else {
79
- url = url.substr(0, i)
80
- }
81
- }
82
-
83
- return url
84
- },
85
-
86
- urlParas(url, paras, force) {
87
- if (typeof (paras) === 'object') {
88
- var s = ''
89
- for (var k in paras) {
90
- var v = paras[k]
91
- if (v || force) {
92
- s += (s ? '&' : '') + k + '=' + encodeURIComponent(v)
93
- }
94
- }
95
-
96
- paras = s
97
- }
98
-
99
- if (url === undefined || url === null) {
100
- return paras
101
- }
102
-
103
- var i = url.indexOf('?')
104
- if (i >= 0) {
105
- return url.substr(0, i + 1) + paras + '&' + url.substr(i + 1)
106
-
107
- } else {
108
- return url + '?' + paras
109
- }
110
- },
111
-
112
- urlPath() {
113
- return location.protocol + '//' + location.host + location.pathname
114
- },
115
-
116
- pathDir(path) {
117
- var i = path && path.lastIndexOf('/')
118
- return i ? path.substr(0, i + 1) : '/'
119
- },
120
-
121
- route(anch, url, set) {
122
- var hash
123
- if (url) {
124
- hash = url.replace(/^[#]*[\/]*/, '')
125
-
126
- } else {
127
- hash = location.hash
128
- hash = hash.replace(/^#[\/]*/, '')
129
- }
130
-
131
- var href = '/' + hash
132
- var $route = ab_.$route
133
- if ($route && $route.hash === href) {
134
- return $route
135
- }
136
-
137
- $route = {
138
- hash: href,
139
- path: [],
140
- search: {}
141
- }
142
-
143
- hash = hash.replace(/([^#])(#.*$)/, '$1')
144
- if (anch) {
145
- hash = hash.split('/') || []
146
- var len = hash.length
147
- for (var i = 0; i < len; i++) {
148
- var path = hash[i]
149
- var id = path.indexOf('=')
150
- if (id >= 0) {
151
- $route.search[path.substr(0, id)] = path.substr(id + 1)
152
-
153
- } else {
154
- $route.path.push(path)
155
- }
156
- }
157
-
158
- $route.href = $route.path.join('/')
159
-
160
- } else {
161
- var id = hash.indexOf('?')
162
- var path = id >= 0 ? hash.substr(0, id) : hash
163
- $route.href = path
164
- var paths = path.split('/') || []
165
- var len = paths.length
166
- for (var i = 0; i < len; i++) {
167
- $route.path.push(paths[i])
168
- }
169
-
170
- paths = id >= 0 ? hash.substr(id) : ''
171
- if (paths && paths[0] === '?') {
172
- paths = paths.substr(1)
173
- }
174
-
175
- var search = location.search
176
- if (search && search[0] === '?') {
177
- search = search.substr(1)
178
- }
179
-
180
- if (search) {
181
- paths = paths ? (paths + '&' + search) : search
182
- }
183
-
184
- $route.searchS = paths
185
- if (paths && paths.length > 1) {
186
- paths = paths.split('&') || []
187
- len = paths.length
188
- for (var i = 0; i < len; i++) {
189
- path = paths[i]
190
- id = path.indexOf('=')
191
- if (id >= 0) {
192
- $route.search[decodeURIComponent(path.substr(0, id))] = decodeURIComponent(path.substr(id + 1))
193
-
194
- } else {
195
- $route.search[decodeURIComponent(path)] = ''
196
- }
197
- }
198
- }
199
- }
200
-
201
- if (url === undefined || set) {
202
- ab_.$route = $route
203
- }
204
-
205
- return $route
206
- },
207
-
208
- el(el) {
209
- return el || ab_.$el || (ab_.$el = document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[
210
- 0] || document)
211
- },
212
-
213
- ver(url) {
214
- if (ab_._ver && url) {
215
- url = url + (url.indexOf('?') >= 0 ? '&' : '?') + 'v=' + ab_._ver
216
- }
217
-
218
- return url
219
- },
220
-
221
- reqCss(href, el, media) {
222
- var link = document.createElement('link')
223
- link.href = ab_.ver(href)
224
- link.rel = 'stylesheet'
225
- link.type = 'text/css'
226
- link.media = media || 'all'
227
- ab_.el(el).appendChild(link)
228
- },
229
-
230
- call() {
231
- var call = ab_.$call
232
- if (call) {
233
- delete ab_.$call
234
- call.apply(this, arguments)
235
- }
236
- },
237
-
238
- requires(requires, fun) {
239
- if (!requires) {
240
- return
241
- }
242
-
243
- if (requires && requires.webpack) {
244
- requires.keys().forEach(key => {
245
- fun(key, requires(key))
246
- })
247
-
248
- } else {
249
- for (let key in requires) {
250
- fun(key, requires[key])
251
- }
252
- }
253
- },
254
-
255
- nextT() {
256
- var t = ab_.time()
257
- if (t < _nextT) {
258
- t = ++_nextT
259
-
260
- } else {
261
- _nextT = t
262
- }
263
-
264
- return t
265
- },
266
-
267
- reqJs(js, el, onload, onerror) {
268
- var script = document.createElement('script')
269
- script.type = 'text/javascript'
270
- if (call) {
271
- if (script.readyState !== undefined) {
272
- //IE
273
- if (onload || onerror) {
274
- script.onreadystatechange = function () {
275
- let state = script.readyState
276
- if (state && typeof (state) === 'string') {
277
- if (state === 'loaded') {
278
- onload && onload()
279
-
280
- } else if (state.indexOf('err') >= 0 || state.indexOf('fail') >= 0) {
281
- onerror && onerror()
282
- }
283
-
284
- } else {
285
- onload && onload()
286
- }
287
- }
288
- }
289
-
290
- } else { //Other
291
- onload && (script.onload = call)
292
- onerror && (script.onerror = onerror)
293
- }
294
- }
295
-
296
- script.src = ab_.ver(js)
297
- ab_.el(el).appendChild(script)
298
- },
299
-
300
- reqModule(name, jses, csses) {
301
- return function (call) {
302
- if (!call) {
303
- return
304
- }
305
-
306
- if (ab_['_' + name + '_']) {
307
- call()
308
- return
309
- }
310
-
311
- var calls = ab_['_' + name + '_s']
312
- if (calls) {
313
- calls.push(call)
314
- return
315
- }
316
-
317
- ab_['_' + name + '_s'] = [call]
318
- if (csses) {
319
- var len = csses.length
320
- for (var i = 0; i < len; i++) {
321
- ab_.reqCss(csses[i])
322
- }
323
- }
324
-
325
- var $i = 0
326
- var $len = jses ? jses.length : 0
327
-
328
- function next() {
329
- if ($i < $len) {
330
- var js = jses[$i++]
331
- if (typeof (js) === 'function') {
332
- try {
333
- js = js()
334
-
335
- } finally {
336
- if (js && typeof (js) == 'string') {
337
- ab_.reqJs(js, 0, next)
338
-
339
- } else {
340
- next()
341
- }
342
- }
343
-
344
- } else {
345
- ab_.reqJs(js, 0, next)
346
- }
347
-
348
- } else {
349
- ab_['_' + name + '_'] = 1
350
- var calls = ab_['_' + name + '_s']
351
- if (calls) {
352
- delete ab_['_' + name + '_s']
353
- var len = calls.length
354
- for (var i = 0; i < len; i++) {
355
- try {
356
- calls[i]()
357
-
358
- } catch (e) {
359
- console.error(e)
360
- }
361
- }
362
- }
363
- }
364
- }
365
-
366
- next()
367
- }
368
- },
369
-
370
- eval(exp, $page, $this, res) {
371
- var fn = eval(exp)
372
- if (fn && typeof (fn) === 'function') {
373
- fn()
374
- }
375
- },
376
-
377
- $center: {},
378
-
379
- args(args, off, len) {
380
- if (off == undefined) {
381
- return Array.prototype.slice.call(args)
382
- }
383
-
384
- if (len === undefined) {
385
- len = args.length
386
- }
387
-
388
- var ary = []
389
- for (; off < len; off++) {
390
- ary.push(args[off])
391
- }
392
-
393
- return ary
394
- },
395
-
396
- swap(ary, from, to) {
397
- if (ary[from] && ary[to]) {
398
- ary[from] = ary.splice(to, 1, ary[from])[0]
399
- }
400
- return ary
401
- },
402
-
403
- reSort(ary, from, to) {
404
- if (from === to) {
405
- return
406
- }
407
-
408
- if (from === to + 1 || from == to - 1) {
409
- ab_.swap(ary, from, to)
410
- return
411
- }
412
-
413
- var fromE = ary[from]
414
- ary.splice(from, 1)
415
- ary.splice(to, 0, fromE)
416
- return ary
417
- },
418
-
419
- resetEl(children, fromI, toI) {
420
- if (toI == fromI) {
421
- return
422
- }
423
-
424
- var to = children[toI]
425
- var from = children[fromI]
426
- if (to && from) {
427
- if (toI < fromI) {
428
- from.after(to)
429
-
430
- } else {
431
- from.before(to)
432
- }
433
- }
434
- },
435
-
436
- swapEl(from, to) {
437
- var next = from.nextSibling
438
- if (next === to) {
439
- to.after(from)
440
- return
441
- }
442
-
443
- var parent = from.parentElement
444
- to.after(from)
445
- if (next) {
446
- next.before(to)
447
-
448
- } else if (parent) {
449
- parent.appendChild(to)
450
- }
451
- },
452
-
453
- post(name) {
454
- var args = false
455
- var from = undefined
456
- if (arguments.length >= 3 && arguments[0] === undefined) {
457
- name = arguments[1]
458
- args = true
459
- from = arguments[3]
460
- }
461
-
462
- var target = ab_.$center
463
- var fn = target[name]
464
- if (fn) {
465
- if (from) {
466
- target['$from'] = from
467
- }
468
-
469
- fn.apply(target, args ? arguments[2] : ab_.args(arguments, 1))
470
- return
471
- }
472
-
473
- while (true) {
474
- var i = name.indexOf('/')
475
- if (i <= 0) {
476
- return
477
- }
478
-
479
- target = target[name.substr(0, i)]
480
- if (typeof (target) !== 'object') {
481
- return
482
- }
483
-
484
- name = name.substr(i + 1)
485
- fn = target[name]
486
- if (fn) {
487
- if (from) {
488
- target['$from'] = from
489
- }
490
-
491
- fn.apply(target, args ? arguments[2] : ab_.args(arguments, 1))
492
- return
493
- }
494
- }
495
- },
496
-
497
- posts(data, i, from) {
498
- var last = data.length - 1
499
- for (i = i || 0; i < last; i += 2) {
500
- try {
501
- ab_.post(undefined, data[i], data[i + 1], from)
502
-
503
- } catch (e) {
504
- console.error(e)
505
- }
506
- }
507
- },
508
-
509
- langs: {},
510
-
511
- langChange(lang, call) {
512
- if (!lang) {
513
- lang = navigator.language || navigator.userLanguage
514
- if (!lang) {
515
- call(false)
516
- return
517
- }
518
- }
519
-
520
- ab_.require('./i18n/lang_' + lang + '.json', true, function (data) {
521
- if (data) {
522
- ab_.langs = Object.assign(ab_.langs, data)
523
- call(true)
524
- return
525
- }
526
-
527
- var i = lang.indexOf('-')
528
- if (i > 0) {
529
- ab_.langChange(lang.substr(0, i), call)
530
- return
531
- }
532
-
533
- call(false)
534
- })
535
- },
536
-
537
- lang(key, lang) {
538
- if (lang) {
539
- if (!ab_.langs[key]) {
540
- ab_.langs[key] = lang
541
- }
542
- }
543
- },
544
-
545
- i18n(key, par) {
546
- var s = ab_.$i18n ? ab_.langs[key] || key : key
547
- if (s && (Array.isArray(par) || typeof (par) === 'object')) {
548
- s = s.replace(/(\\)?\{([^\{\}\\]+)(\\)?\}/g, function (word, slash1, token, slash2) {
549
- // 如果有转义的\{或\}替换转义字符
550
- if (slash1 || slash2) {
551
- return word.replace('\\', '')
552
- }
553
-
554
- return par[token] || ''
555
- })
556
- }
557
-
558
- return s
559
- },
560
-
561
- time() {
562
- return parseInt(new Date().getTime() / 1000)
563
- },
564
-
565
- humTime(time, max) {
566
- if (time < (max || 1000)) {
567
- return time + 's'
568
- }
569
-
570
- if (time < 600) {
571
- return Math.floor(time / 60) + 'm' + (time % 60) + 's'
572
- }
573
-
574
- if (time < (max ? max * 60 : 60000)) {
575
- return Math.ceil(time / 60) + 'm'
576
- }
577
-
578
- if (time < 36000) {
579
- return Math.floor(time / 3600) + 'h' + Math.ceil((time % 3600) / 60) + 'm'
580
- }
581
-
582
- return Math.ceil(time / 3600) + 'h'
583
- },
584
-
585
- humSize(size) {
586
- var kb = size / 1024
587
- if (kb < 10000) {
588
- return kb.toFixed(2) + 'kb'
589
- }
590
-
591
- var mb = kb / 1024
592
- if (mb < 10000) {
593
- return mb.toFixed(2) + 'mb'
594
- }
595
-
596
- var gb = mb / 1024
597
- if (gb < 10000) {
598
- return gb.toFixed(2) + 'gb'
599
- }
600
-
601
- return (gb / 1024).toFixed(2) + 'tb'
602
- },
603
-
604
- parseJson(json) {
605
- return typeof (json) === 'string' ? JSON.parse(json) : json
606
- },
607
-
608
- toJson(obj) {
609
- return JSON.stringify(obj)
610
- },
611
-
612
- tplRender(tpl, render) {
613
- // 被转义的的分隔符 { 和 } 不应该被渲染,分隔符与变量之间允许有空白字符
614
- /*
615
- "{greeting}! My name is { author.name }.".render({
616
- greeting: "Hi",
617
- author: {
618
- name: "hsfzxjy"
619
- }});
620
- */
621
- return tpl.replace(/(\\)?\{([^\{\}\\]+)(\\)?\}/g, function (word, slash1, token, slash2) {
622
- // 如果有转义的\{或\}替换转义字符
623
- if (slash1 || slash2) {
624
- return word.replace('\\', '')
625
- }
626
-
627
- if (!render) {
628
- return ''
629
- }
630
- // 切割 token ,实现级联的变量也可以展开
631
- var tokens = token.replace(/\s/g, '').split('.')
632
- var len = tokens.length
633
- var curr = render
634
- for (var i = 0; i < len; ++i) {
635
- token = tokens[i]
636
- curr = curr[token]
637
- // 如果当前索引的对象不存在,则直接返回空字符串。
638
- if (curr === undefined || curr === null) return ''
639
- }
640
-
641
- return curr
642
- })
643
- },
644
-
645
- // xhrOntimeout() {
646
- // // console.log('请求超时。。')
647
- // },
648
-
649
- // 支持formData file var form = new FormData();form.append("file", fileObj);
650
- xhrReq(loading, headers, url, posts, callback, init) {
651
- var xhr = new XMLHttpRequest()
652
- var done = XMLHttpRequest.DONE || 4
653
- xhr.onreadystatechange = function () {
654
- if (xhr.readyState === done) {
655
- loading && loading()
656
- if (callback) {
657
- if (xhr.status === 200) {
658
- callback(null, xhr.responseText)
659
- } else {
660
- callback(xhr.text || 'fail', null)
661
- }
662
- }
663
- }
664
- }
665
- // 设置30s超时时间
666
- // xhr.timeout = 30000
667
- // xhr.ontimeout = ab_.xhrOntimeout()
668
- if (posts) {
669
- xhr.open('POST', url, true)
670
-
671
- } else {
672
- xhr.open('GET', url, true)
673
- posts = undefined
674
- }
675
-
676
- if (headers) {
677
- for (var name in headers) {
678
- xhr.setRequestHeader(name, headers[name])
679
- }
680
- }
681
-
682
- if (posts && posts._progress) {
683
- // onprogress 事件在浏览器下载指定的视频/音频(audio/video)时触发
684
- // xhr.onprogress = posts._progress
685
- if (xhr.upload) {
686
- xhr.upload.addEventListener('progress', posts._progress, false)
687
- }
688
-
689
- delete posts._progress
690
- posts._abort = function () {
691
- xhr.abort()
692
- }
693
- }
694
-
695
- if (posts && posts._init) {
696
- posts._init(xhr)
697
- delete posts._init
698
- }
699
-
700
- init && init(xhr)
701
- loading && loading(1)
702
- xhr.send(posts)
703
- },
704
-
705
- uniReq(loading, headers, url, posts, files, callback, init) {
706
- var req = {
707
- url: url
708
- }
709
-
710
- if (headers) {
711
- req.header = headers
712
- }
713
-
714
- req.success = function (rep) {
715
- loading && loading()
716
- if (callback) {
717
- callback(undefined, rep.data)
718
- }
719
- }
720
-
721
- req.fail = function (err) {
722
- loading && loading()
723
- if (callback) {
724
- callback(err || 'fail', undefined)
725
- }
726
- }
727
-
728
- init && init(req)
729
- if (files) {
730
- var len = files.length
731
- if (!len) {
732
- // 表单提交
733
- var header = {
734
- ...req.header
735
- }
736
-
737
- header['content-type'] = 'application/x-www-form-urlencoded'
738
- req.header = header
739
- req.method = 'post'
740
- req.dataType = 'x-www-form-urlencoded'
741
- req.data = posts
742
- uni.request(req)
743
- return
744
- }
745
-
746
- if (len === 1) {
747
- // 单文件上传
748
- var file = files[0]
749
- req.name = file.name
750
- req.filePath = file.filePath
751
-
752
- } else {
753
- // 多文件上传
754
- req.files = files
755
- }
756
-
757
- if (posts) {
758
- req.formData = posts
759
- }
760
-
761
- var header = {
762
- ...req.header
763
- }
764
-
765
- header['Content-Type'] = 'multipart/form-data'
766
- req.header = header
767
- uni.uploadFile(req)
768
-
769
- } else {
770
- if (posts !== undefined && posts !== 0) {
771
- // post请求
772
- req.method = 'post'
773
- if (posts !== '') {
774
- req.data = posts
775
- }
776
- }
777
-
778
- uni.request(req)
779
- }
780
- },
781
-
782
- newReady(last) {
783
- var backs = []
784
-
785
- function ready(back) {
786
- if (backs) {
787
- backs.push(back)
788
-
789
- } else {
790
- back()
791
- }
792
- }
793
-
794
- ready.start = function () {
795
- if (backs) {
796
- var calls = backs
797
- backs = undefined
798
- for (var i = 0; i < calls.length; i++) {
799
- try {
800
- calls[i]()
801
-
802
- } catch (e) {
803
- console.error(e)
804
- }
805
- }
806
-
807
- if (last) {
808
- var call = last
809
- last = undefined
810
- try {
811
- call()
812
-
813
- } catch (e) {
814
- console.error(e)
815
- }
816
- }
817
- }
818
- }
819
-
820
- return ready
821
- },
822
-
823
- newStart(run) {
824
- var i = 0
825
-
826
- function start(inited) {
827
- if (++i > 0 || inited) {
828
- if (run != null) {
829
- var call = run
830
- run = undefined
831
- try {
832
- call()
833
-
834
- } catch (e) {
835
- console.error(e)
836
- }
837
- }
838
- }
839
- }
840
-
841
- start.waite = function () {
842
- i--
843
- }
844
-
845
- return start
846
- },
847
-
848
- vConsole() {
849
- if (!ab_.vconsoled) {
850
- ab_.vconsoled = true
851
- ab_.reqJs('https://cdn.bootcss.com/vConsole/3.3.4/vconsole.min.js', 0, function () {
852
- var script = document.createElement('script')
853
- script.type = 'text/javascript'
854
- script.appendChild(document.createTextNode('new VConsole()'))
855
- document.body.appendChild(script)
856
- })
857
- }
858
- },
859
-
860
- getStyle($el, name) {
861
- var style = $el.getAttribute ? $el.getAttribute('style') : $el.attr('style')
862
- if (style) {
863
- var match = style.match(new RegExp(name + '[\\s\\t\\r\\n]*:([^;]*)', 'i'))
864
- if (match) {
865
- return match[1]
866
- }
867
- }
868
- },
869
-
870
- cssSetRest($el, names) {
871
- var len = names.length
872
- var css = []
873
- for (var i = 0; i < len; i++) {
874
- css.push(ab_.getStyle($el, names[i]) || '')
875
- }
876
-
877
- return $el.style ? {
878
- set(vals) {
879
- for (var i = 0; i < len; i++) {
880
- $el.style[names[i]] = vals[i] || ''
881
- }
882
- },
883
- reset() {
884
- for (var i = 0; i < len; i++) {
885
- $el.style[names[i]] = css[i]
886
- }
887
- }
888
- } : {
889
- set(vals) {
890
- for (var i = 0; i < len; i++) {
891
- $el.css(names[i], vals[i] || '')
892
- }
893
- },
894
- reset() {
895
- for (var i = 0; i < len; i++) {
896
- $el.css(names[i], css[i])
897
- }
898
- }
899
- }
900
- },
901
-
902
- cloneElement(el, tag) {
903
- if (el) {
904
- var clone = document.createElement(tag || el.tagName)
905
- var attrs = el.attributes
906
- for (var i = 0; i < attrs.length; i++) {
907
- var attr = attrs[i]
908
- clone.setAttribute(attr.name, attr.value)
909
- }
910
-
911
- while (el.firstChild) {
912
- clone.appendChild(el.firstChild)
913
- }
914
-
915
- return clone
916
- }
917
- },
918
-
919
- objectMerge(to, from, depth) {
920
- to = typeof (to) === 'object' ? to : {}
921
- for (var k in from) {
922
- var f = from[k]
923
- if (depth > 0) {
924
- if (f && typeof (f) === 'object') {
925
- var t = to[k]
926
- if (typeof (t) === 'object') {
927
- ab_.objectMerge(t, f, depth - 1)
928
- continue
929
- }
930
- }
931
- }
932
-
933
- to[k] = f
934
- }
935
-
936
- return to
937
- },
938
-
939
- keepAlive(inst) {
940
- if (!inst) {
941
- inst = $root.$route.matched
942
- if (inst.length) {
943
- inst = inst[inst.length - 1].instances.default
944
- }
945
-
946
- if (!inst) {
947
- return
948
- }
949
- }
950
-
951
- inst = inst.$vnode || inst
952
- inst = inst.parent
953
- return inst && inst.componentInstance
954
- },
955
-
956
- keepAliveClose(key) {
957
- var matched = $root.$route.matched
958
- if (matched.length > 1) {
959
- ab_.keepAliveDel(ab_.keepAlive(matched[matched.length - 1].instances.default), key)
960
- }
961
- },
962
-
963
- keepAliveDel($keepAlive, key, cKey) {
964
- if ($keepAlive && (key || cKey)) {
965
- $keepAlive = $keepAlive.componentInstance || $keepAlive
966
- var cache = $keepAlive.cache
967
- var keys = $keepAlive.keys
968
- if (cache) {
969
- if (!cKey && key) {
970
- for (var k in cache) {
971
- if (cache[k].data.key === key) {
972
- cKey = k
973
- break
974
- }
975
- }
976
- }
977
-
978
- if (cKey) {
979
- if (keys.length) {
980
- var index = keys.indexOf(cKey)
981
- if (index >= 0) {
982
- keys.splice(index, 1)
983
- }
984
- }
985
-
986
- var c = cache[cKey]
987
- if (c) {
988
- try {
989
- c.componentInstance.$destroy()
990
-
991
- } catch (e) {
992
- console.error(e)
993
- }
994
- }
995
-
996
- delete cache[cKey]
997
- }
998
- }
999
- }
1000
- },
1001
-
1002
- getPaths(model, paths, fromI) {
1003
- if (typeof (model) === 'object' && typeof (paths) === 'string') {
1004
- var i = fromI = fromI > 0 ? fromI : 0
1005
- while ((i = paths.indexOf('.', i)) > 0) {
1006
- var j = paths[i - 1] === ']' ? paths.lastIndexOf('[', i - 1) : -1
1007
- j = j <= fromI ? -1 : j
1008
- var path = paths.substr(fromI, (j > 0 ? j : i) - fromI)
1009
- var m = model[path]
1010
- if (m) {
1011
- if (j > 0) {
1012
- m = m[paths.substr(j + 1, i - j - 2)]
1013
- }
1014
-
1015
- return ab_.getPaths(m, paths, ++i)
1016
- }
1017
-
1018
- i++
1019
- }
1020
-
1021
- return model[fromI > 0 ? paths.substr(fromI) : paths]
1022
- }
1023
- },
1024
-
1025
- setPaths(model, val, paths, fromI) {
1026
- if (typeof (model) === 'object' && typeof (paths) === 'string') {
1027
- var i = fromI = fromI > 0 ? fromI : 0
1028
- while ((i = paths.indexOf('.', i)) > 0) {
1029
- var j = paths[i - 1] === ']' ? paths.lastIndexOf('[', i - 1) : -1
1030
- j = j <= fromI ? -1 : j
1031
- var path = paths.substr(fromI, (j > 0 ? j : i) - fromI)
1032
- var m = model[path]
1033
- if (m) {
1034
- if (j > 0) {
1035
- m = m[paths.substr(j + 1, i - j - 2)]
1036
- }
1037
-
1038
- return ab_.setPaths(m, val, paths, ++i)
1039
- }
1040
-
1041
- i++
1042
- }
1043
-
1044
- model[fromI > 0 ? paths.substr(fromI) : paths] = val
1045
- }
1046
- },
1047
-
1048
- date(time) {
1049
- return time > 0 ? new Date(time > 2147483647 ? time : (time * 1000)) : null
1050
- },
1051
-
1052
- formatTime(time, fmt) {
1053
- return ab_.formatDate(ab_.date(time), fmt)
1054
- },
1055
-
1056
- formatDate(date, fmt) {
1057
- if (!date || !date.getFullYear) {
1058
- return ''
1059
- }
1060
-
1061
- fmt = fmt || 'yyyy-MM-dd hh:mm:ss'
1062
- if (/(y+)/.test(fmt)) {
1063
- fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
1064
- }
1065
-
1066
- var o = {
1067
- 'M+': date.getMonth() + 1,
1068
- 'd+': date.getDate(),
1069
- 'h+': date.getHours(),
1070
- 'm+': date.getMinutes(),
1071
- 's+': date.getSeconds()
1072
- }
1073
-
1074
- for (var k in o) {
1075
- if (new RegExp(`(${k})`).test(fmt)) {
1076
- var str = o[k] + ''
1077
- fmt = fmt.replace(RegExp.$1, str.length > 1 ? str : ('0' + str))
1078
- }
1079
- }
1080
-
1081
- return fmt
1082
- },
1083
-
1084
- aName(name) {
1085
- if (typeof (name) !== 'string') {
1086
- return ''
1087
- }
1088
-
1089
- var len = name && name.length
1090
- var i = 0
1091
- var c
1092
- for (; i < len; i++) {
1093
- c = name[i]
1094
- if (c < 'a' || c > 'z') {
1095
- break
1096
- }
1097
- }
1098
-
1099
- return i >= len ? '' : name.substr(0, i)
1100
- },
1101
-
1102
- aNameC(a, name, underline) {
1103
- if (!a || !name) {
1104
- return name
1105
- }
1106
-
1107
- if (underline) {
1108
- return a + '_' + name
1109
- }
1110
-
1111
- return (a === '@' ? '' : a) + name[0].toUpperCase() + name.substr(1)
1112
- },
1113
-
1114
- fullScreen($this, $el, fun) {
1115
- var $parent = $this.parentNode
1116
- var parentSetRest
1117
- var thisSetRest
1118
- var $fixeds
1119
- return function () {
1120
- if (!parentSetRest) {
1121
- parentSetRest = ab_.cssSetRest($parent, ['position', 'z-index', 'top', 'right', 'bottom', 'left', 'background', 'width', 'height'])
1122
- thisSetRest = ab_.cssSetRest($this, ['position', 'top', 'right', 'bottom', 'left', 'width', 'height'])
1123
- }
1124
-
1125
- if ($fixeds) {
1126
- parentSetRest.reset()
1127
- thisSetRest.reset()
1128
- for (var i = 0; i < $fixeds.length; i++) {
1129
- var $fixed = $fixeds[i]
1130
- if ($fixed[1]) {
1131
- $fixed[0].attr('style', $fixed[1])
1132
-
1133
- } else {
1134
- $fixed[0].removeAttr('style')
1135
- }
1136
- }
1137
-
1138
- $fixeds = null
1139
- if ($el && $el.classList) {
1140
- $el.classList.remove('.abFullScreenReset')
1141
- $el.classList.add('.abFullScreenTo')
1142
- }
1143
-
1144
- fun && fun()
1145
-
1146
- } else {
1147
- parentSetRest.set(['fixed', '19891024', '0', '0', '0', '0', '#FFF'])
1148
- thisSetRest.set(['absolute', '0', '0', '0', '0'])
1149
- $fixeds = []
1150
- $fixed = $parent
1151
- if ($fixed.style) {
1152
- while (true) {
1153
- $fixed = $fixed.parentNode
1154
- if (!$fixed || !$fixed.length || $fixed[0] === document) {
1155
- break
1156
- }
1157
-
1158
- if ($fixed.style.position === 'fixed') {
1159
- $fixeds.push([$fixed, $fixed.getAttribute('style')])
1160
- $fixed.style.position === 'static'
1161
- }
1162
- }
1163
-
1164
- } else {
1165
- while (true) {
1166
- $fixed = $fixed.parent()
1167
- if (!$fixed || !$fixed.length || $fixed[0] === document) {
1168
- break
1169
- }
1170
-
1171
- if ($fixed.css('position') === 'fixed') {
1172
- $fixeds.push([$fixed, $fixed.attr('style')])
1173
- $fixed.css('position', 'static')
1174
- }
1175
- }
1176
- }
1177
-
1178
- if ($el && $el.classList) {
1179
- $el.classList.remove('.abFullScreenTo')
1180
- $el.classList.add('.abFullScreenReset')
1181
- }
1182
-
1183
- fun && fun(true)
1184
- }
1185
- }
1186
- },
1187
-
1188
- cvsVal(val, cHead, cEnd) {
1189
- if (cHead || cEnd) {
1190
- var head = 0
1191
- var last = val.length - 1
1192
- var cLast = last
1193
- for (; head <= last; head++) {
1194
- let c = val[head]
1195
- if (c !== '\r' && c !== '\n') {
1196
- break
1197
- }
1198
- }
1199
-
1200
- for (; cLast > head; cLast--) {
1201
- let c = val[cLast]
1202
- if (c !== '\r' && c !== '\n') {
1203
- break
1204
- }
1205
- }
1206
-
1207
- if (head > 0 || cLast < last) {
1208
- val = val.substr(head, cLast + 1 - cHead)
1209
- }
1210
- }
1211
-
1212
- if (typeof (val) === 'string') {
1213
- if (val.indexOf(',') >= 0 || val.indexOf('"') >= 0 || val.indexOf('\r') >= 0 || val.indexOf('\n') >= 0) {
1214
- val = '"' + val.replace('"', '""') + '"'
1215
- }
1216
- }
1217
-
1218
- return val === undefined || val === null ? '' : val
1219
- },
1220
-
1221
- downloadTxt(txt, name, bom) {
1222
- if (bom) {
1223
- txt = '\uFEFF' + txt
1224
- }
1225
-
1226
- var element = document.createElement('a')
1227
- element.setAttribute('href', 'data:text/plain;charset=' + document.characterSet + ',' + encodeURIComponent(txt))
1228
- element.setAttribute('download', name)
1229
- element.style.display = 'none'
1230
- element.click()
1231
- setTimeout(function () {
1232
- if (element) {
1233
- element.remove()
1234
- }
1235
-
1236
- }, 100)
1237
- },
1238
-
1239
- funTimer(fun) {
1240
- var timer
1241
- var timerI
1242
- var self = {
1243
- start(interval) {
1244
- if (timer && timerI != interval) {
1245
- self.stop()
1246
- }
1247
-
1248
- if (!timer) {
1249
- timerI = interval
1250
- timer = setInterval(fun, interval)
1251
- }
1252
- },
1253
- stop() {
1254
- if (timer) {
1255
- try {
1256
- clearInterval(timer)
1257
-
1258
- } catch (e) {
1259
- console.error(e)
1260
- }
1261
-
1262
- timer = null
1263
- }
1264
- }
1265
- }
1266
-
1267
- return self
1268
- },
1269
-
1270
- loadState(bind, path, target, props) {
1271
- var state = bind && bind['_$$state$$' + path]
1272
- if (state && target) {
1273
- var len = props && props.length
1274
- for (var i = 0; i < len; i++) {
1275
- var prop = props[i]
1276
- target[prop] = state[prop]
1277
- }
1278
-
1279
- return true
1280
- }
1281
- },
1282
-
1283
- saveState(bind, path, target, props) {
1284
- if (bind && target) {
1285
- var state = {}
1286
- var len = props && props.length
1287
- for (var i = 0; i < len; i++) {
1288
- var prop = props[i]
1289
- state[prop] = target[prop]
1290
- }
1291
-
1292
- bind['_$$state$$' + path] = state
1293
- }
1294
- },
1295
- }
1296
-
1297
- try {
1298
- if (typeof location !== undefined) {
1299
- ab_.local = location.hostname == '127.0.0.1' || location.hostname == 'localhost'
1300
- ab_.https = location.href.startsWith('https')
1301
- }
1302
-
1303
- } catch (e) {
1304
- console.error(e)
1305
- }
1306
-
1307
- try {
1308
- if (globalThis) {
1309
- if (globalThis.ab_) {
1310
- ab_ = globalThis.ab_
1311
-
1312
- } else {
1313
- globalThis.ab_ = ab_
1314
- }
1315
- }
1316
-
1317
- } catch (e) {
1318
- console.error(e)
1319
- }
1320
-
1321
- module.exports = ab_
1322
- module.exports.ab_ = ab_
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var _nextT = 0;
13
+ var ab_ = {
14
+ _ver: false,
15
+ local: true,
16
+ https: false,
17
+ fn: function (fn) {
18
+ ab_ = Object.assign(ab_, fn);
19
+ },
20
+ header: function () {
21
+ },
22
+ back: function () {
23
+ if (history.length > 1) {
24
+ history.back();
25
+ }
26
+ else {
27
+ window.close();
28
+ }
29
+ },
30
+ push: function (uri, title) {
31
+ location.hash = uri;
32
+ },
33
+ replace: function (uri, title) {
34
+ location.replace(uri);
35
+ },
36
+ open: function (uri, title, alone) {
37
+ window.open(uri);
38
+ },
39
+ get: function (name) {
40
+ var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
41
+ var r = window.location.search.substr(1).match(reg);
42
+ return r != null ? unescape(r[2]) : null;
43
+ },
44
+ empty: function (o) {
45
+ if (o) {
46
+ if (typeof (o) === 'object') {
47
+ for (var k in o) {
48
+ return false;
49
+ }
50
+ }
51
+ else {
52
+ return o.length > 0;
53
+ }
54
+ }
55
+ return true;
56
+ },
57
+ urlRm: function (url, para) {
58
+ var i = url.indexOf('&' + para + '=');
59
+ var f = 0;
60
+ if (i < 0) {
61
+ i = url.indexOf('?' + para + '=');
62
+ f = 1;
63
+ }
64
+ if (i >= 0) {
65
+ var j = url.indexOf('&', i + 1);
66
+ if (j > i) {
67
+ if (f) {
68
+ url = url.substr(0, i + 1) + url.substr(j + 1);
69
+ }
70
+ else {
71
+ url = url.substr(0, i) + url.substr(j);
72
+ }
73
+ }
74
+ else {
75
+ url = url.substr(0, i);
76
+ }
77
+ }
78
+ return url;
79
+ },
80
+ urlParas: function (url, paras, force) {
81
+ if (typeof (paras) === 'object') {
82
+ var s = '';
83
+ for (var k in paras) {
84
+ var v = paras[k];
85
+ if (v || force) {
86
+ s += (s ? '&' : '') + k + '=' + encodeURIComponent(v);
87
+ }
88
+ }
89
+ paras = s;
90
+ }
91
+ if (url === undefined || url === null) {
92
+ return paras;
93
+ }
94
+ var i = url.indexOf('?');
95
+ if (i >= 0) {
96
+ return url.substr(0, i + 1) + paras + '&' + url.substr(i + 1);
97
+ }
98
+ else {
99
+ return url + '?' + paras;
100
+ }
101
+ },
102
+ urlPath: function () {
103
+ return location.protocol + '//' + location.host + location.pathname;
104
+ },
105
+ pathDir: function (path) {
106
+ var i = path && path.lastIndexOf('/');
107
+ return i ? path.substr(0, i + 1) : '/';
108
+ },
109
+ route: function (anch, url, set) {
110
+ var hash;
111
+ if (url) {
112
+ hash = url.replace(/^[#]*[\/]*/, '');
113
+ }
114
+ else {
115
+ hash = location.hash;
116
+ hash = hash.replace(/^#[\/]*/, '');
117
+ }
118
+ var href = '/' + hash;
119
+ var $route = ab_.$route;
120
+ if ($route && $route.hash === href) {
121
+ return $route;
122
+ }
123
+ $route = {
124
+ hash: href,
125
+ path: [],
126
+ search: {}
127
+ };
128
+ hash = hash.replace(/([^#])(#.*$)/, '$1');
129
+ if (anch) {
130
+ hash = hash.split('/') || [];
131
+ var len = hash.length;
132
+ for (var i = 0; i < len; i++) {
133
+ var path = hash[i];
134
+ var id = path.indexOf('=');
135
+ if (id >= 0) {
136
+ $route.search[path.substr(0, id)] = path.substr(id + 1);
137
+ }
138
+ else {
139
+ $route.path.push(path);
140
+ }
141
+ }
142
+ $route.href = $route.path.join('/');
143
+ }
144
+ else {
145
+ var id = hash.indexOf('?');
146
+ var path = id >= 0 ? hash.substr(0, id) : hash;
147
+ $route.href = path;
148
+ var paths = path.split('/') || [];
149
+ var len = paths.length;
150
+ for (var i = 0; i < len; i++) {
151
+ $route.path.push(paths[i]);
152
+ }
153
+ paths = id >= 0 ? hash.substr(id) : '';
154
+ if (paths && paths[0] === '?') {
155
+ paths = paths.substr(1);
156
+ }
157
+ var search = location.search;
158
+ if (search && search[0] === '?') {
159
+ search = search.substr(1);
160
+ }
161
+ if (search) {
162
+ paths = paths ? (paths + '&' + search) : search;
163
+ }
164
+ $route.searchS = paths;
165
+ if (paths && paths.length > 1) {
166
+ paths = paths.split('&') || [];
167
+ len = paths.length;
168
+ for (var i = 0; i < len; i++) {
169
+ path = paths[i];
170
+ id = path.indexOf('=');
171
+ if (id >= 0) {
172
+ $route.search[decodeURIComponent(path.substr(0, id))] = decodeURIComponent(path.substr(id + 1));
173
+ }
174
+ else {
175
+ $route.search[decodeURIComponent(path)] = '';
176
+ }
177
+ }
178
+ }
179
+ }
180
+ if (url === undefined || set) {
181
+ ab_.$route = $route;
182
+ }
183
+ return $route;
184
+ },
185
+ el: function (el) {
186
+ return el || ab_.$el || (ab_.$el = document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] || document);
187
+ },
188
+ ver: function (url) {
189
+ if (ab_._ver && url) {
190
+ url = url + (url.indexOf('?') >= 0 ? '&' : '?') + 'v=' + ab_._ver;
191
+ }
192
+ return url;
193
+ },
194
+ reqCss: function (href, el, media) {
195
+ var link = document.createElement('link');
196
+ link.href = ab_.ver(href);
197
+ link.rel = 'stylesheet';
198
+ link.type = 'text/css';
199
+ link.media = media || 'all';
200
+ ab_.el(el).appendChild(link);
201
+ },
202
+ call: function () {
203
+ var call = ab_.$call;
204
+ if (call) {
205
+ delete ab_.$call;
206
+ call.apply(this, arguments);
207
+ }
208
+ },
209
+ requires: function (requires, fun) {
210
+ if (!requires) {
211
+ return;
212
+ }
213
+ if (requires && requires.webpack) {
214
+ requires.keys().forEach(function (key) {
215
+ fun(key, requires(key));
216
+ });
217
+ }
218
+ else {
219
+ for (var key in requires) {
220
+ fun(key, requires[key]);
221
+ }
222
+ }
223
+ },
224
+ nextT: function () {
225
+ var t = ab_.time();
226
+ if (t < _nextT) {
227
+ t = ++_nextT;
228
+ }
229
+ else {
230
+ _nextT = t;
231
+ }
232
+ return t;
233
+ },
234
+ reqJs: function (js, el, onload, onerror) {
235
+ var script = document.createElement('script');
236
+ script.type = 'text/javascript';
237
+ if (call) {
238
+ if (script.readyState !== undefined) {
239
+ //IE
240
+ if (onload || onerror) {
241
+ script.onreadystatechange = function () {
242
+ var state = script.readyState;
243
+ if (state && typeof (state) === 'string') {
244
+ if (state === 'loaded') {
245
+ onload && onload();
246
+ }
247
+ else if (state.indexOf('err') >= 0 || state.indexOf('fail') >= 0) {
248
+ onerror && onerror();
249
+ }
250
+ }
251
+ else {
252
+ onload && onload();
253
+ }
254
+ };
255
+ }
256
+ }
257
+ else { //Other
258
+ onload && (script.onload = call);
259
+ onerror && (script.onerror = onerror);
260
+ }
261
+ }
262
+ script.src = ab_.ver(js);
263
+ ab_.el(el).appendChild(script);
264
+ },
265
+ reqModule: function (name, jses, csses) {
266
+ return function (call) {
267
+ if (!call) {
268
+ return;
269
+ }
270
+ if (ab_['_' + name + '_']) {
271
+ call();
272
+ return;
273
+ }
274
+ var calls = ab_['_' + name + '_s'];
275
+ if (calls) {
276
+ calls.push(call);
277
+ return;
278
+ }
279
+ ab_['_' + name + '_s'] = [call];
280
+ if (csses) {
281
+ var len = csses.length;
282
+ for (var i = 0; i < len; i++) {
283
+ ab_.reqCss(csses[i]);
284
+ }
285
+ }
286
+ var $i = 0;
287
+ var $len = jses ? jses.length : 0;
288
+ function next() {
289
+ if ($i < $len) {
290
+ var js = jses[$i++];
291
+ if (typeof (js) === 'function') {
292
+ try {
293
+ js = js();
294
+ }
295
+ finally {
296
+ if (js && typeof (js) == 'string') {
297
+ ab_.reqJs(js, 0, next);
298
+ }
299
+ else {
300
+ next();
301
+ }
302
+ }
303
+ }
304
+ else {
305
+ ab_.reqJs(js, 0, next);
306
+ }
307
+ }
308
+ else {
309
+ ab_['_' + name + '_'] = 1;
310
+ var calls = ab_['_' + name + '_s'];
311
+ if (calls) {
312
+ delete ab_['_' + name + '_s'];
313
+ var len = calls.length;
314
+ for (var i = 0; i < len; i++) {
315
+ try {
316
+ calls[i]();
317
+ }
318
+ catch (e) {
319
+ console.error(e);
320
+ }
321
+ }
322
+ }
323
+ }
324
+ }
325
+ next();
326
+ };
327
+ },
328
+ eval: function (exp, $page, $this, res) {
329
+ var fn = eval(exp);
330
+ if (fn && typeof (fn) === 'function') {
331
+ fn();
332
+ }
333
+ },
334
+ $center: {},
335
+ args: function (args, off, len) {
336
+ if (off == undefined) {
337
+ return Array.prototype.slice.call(args);
338
+ }
339
+ if (len === undefined) {
340
+ len = args.length;
341
+ }
342
+ var ary = [];
343
+ for (; off < len; off++) {
344
+ ary.push(args[off]);
345
+ }
346
+ return ary;
347
+ },
348
+ swap: function (ary, from, to) {
349
+ if (ary[from] && ary[to]) {
350
+ ary[from] = ary.splice(to, 1, ary[from])[0];
351
+ }
352
+ return ary;
353
+ },
354
+ reSort: function (ary, from, to) {
355
+ if (from === to) {
356
+ return;
357
+ }
358
+ if (from === to + 1 || from == to - 1) {
359
+ ab_.swap(ary, from, to);
360
+ return;
361
+ }
362
+ var fromE = ary[from];
363
+ ary.splice(from, 1);
364
+ ary.splice(to, 0, fromE);
365
+ return ary;
366
+ },
367
+ resetEl: function (children, fromI, toI) {
368
+ if (toI == fromI) {
369
+ return;
370
+ }
371
+ var to = children[toI];
372
+ var from = children[fromI];
373
+ if (to && from) {
374
+ if (toI < fromI) {
375
+ from.after(to);
376
+ }
377
+ else {
378
+ from.before(to);
379
+ }
380
+ }
381
+ },
382
+ swapEl: function (from, to) {
383
+ var next = from.nextSibling;
384
+ if (next === to) {
385
+ to.after(from);
386
+ return;
387
+ }
388
+ var parent = from.parentElement;
389
+ to.after(from);
390
+ if (next) {
391
+ next.before(to);
392
+ }
393
+ else if (parent) {
394
+ parent.appendChild(to);
395
+ }
396
+ },
397
+ post: function (name) {
398
+ var args = false;
399
+ var from = undefined;
400
+ if (arguments.length >= 3 && arguments[0] === undefined) {
401
+ name = arguments[1];
402
+ args = true;
403
+ from = arguments[3];
404
+ }
405
+ var target = ab_.$center;
406
+ var fn = target[name];
407
+ if (fn) {
408
+ if (from) {
409
+ target['$from'] = from;
410
+ }
411
+ fn.apply(target, args ? arguments[2] : ab_.args(arguments, 1));
412
+ return;
413
+ }
414
+ while (true) {
415
+ var i = name.indexOf('/');
416
+ if (i <= 0) {
417
+ return;
418
+ }
419
+ target = target[name.substr(0, i)];
420
+ if (typeof (target) !== 'object') {
421
+ return;
422
+ }
423
+ name = name.substr(i + 1);
424
+ fn = target[name];
425
+ if (fn) {
426
+ if (from) {
427
+ target['$from'] = from;
428
+ }
429
+ fn.apply(target, args ? arguments[2] : ab_.args(arguments, 1));
430
+ return;
431
+ }
432
+ }
433
+ },
434
+ posts: function (data, i, from) {
435
+ var last = data.length - 1;
436
+ for (i = i || 0; i < last; i += 2) {
437
+ try {
438
+ ab_.post(undefined, data[i], data[i + 1], from);
439
+ }
440
+ catch (e) {
441
+ console.error(e);
442
+ }
443
+ }
444
+ },
445
+ langs: {},
446
+ langChange: function (lang, call) {
447
+ if (!lang) {
448
+ lang = navigator.language || navigator.userLanguage;
449
+ if (!lang) {
450
+ call(false);
451
+ return;
452
+ }
453
+ }
454
+ ab_.require('./i18n/lang_' + lang + '.json', true, function (data) {
455
+ if (data) {
456
+ ab_.langs = Object.assign(ab_.langs, data);
457
+ call(true);
458
+ return;
459
+ }
460
+ var i = lang.indexOf('-');
461
+ if (i > 0) {
462
+ ab_.langChange(lang.substr(0, i), call);
463
+ return;
464
+ }
465
+ call(false);
466
+ });
467
+ },
468
+ lang: function (key, lang) {
469
+ if (lang) {
470
+ if (!ab_.langs[key]) {
471
+ ab_.langs[key] = lang;
472
+ }
473
+ }
474
+ },
475
+ i18n: function (key, par) {
476
+ var s = ab_.$i18n ? ab_.langs[key] || key : key;
477
+ if (s && (Array.isArray(par) || typeof (par) === 'object')) {
478
+ s = s.replace(/(\\)?\{([^\{\}\\]+)(\\)?\}/g, function (word, slash1, token, slash2) {
479
+ // 如果有转义的\{或\}替换转义字符
480
+ if (slash1 || slash2) {
481
+ return word.replace('\\', '');
482
+ }
483
+ return par[token] || '';
484
+ });
485
+ }
486
+ return s;
487
+ },
488
+ time: function () {
489
+ return parseInt(new Date().getTime() / 1000);
490
+ },
491
+ humTime: function (time, max) {
492
+ if (time < (max || 1000)) {
493
+ return time + 's';
494
+ }
495
+ if (time < 600) {
496
+ return Math.floor(time / 60) + 'm' + (time % 60) + 's';
497
+ }
498
+ if (time < (max ? max * 60 : 60000)) {
499
+ return Math.ceil(time / 60) + 'm';
500
+ }
501
+ if (time < 36000) {
502
+ return Math.floor(time / 3600) + 'h' + Math.ceil((time % 3600) / 60) + 'm';
503
+ }
504
+ return Math.ceil(time / 3600) + 'h';
505
+ },
506
+ humSize: function (size) {
507
+ var kb = size / 1024;
508
+ if (kb < 10000) {
509
+ return kb.toFixed(2) + 'kb';
510
+ }
511
+ var mb = kb / 1024;
512
+ if (mb < 10000) {
513
+ return mb.toFixed(2) + 'mb';
514
+ }
515
+ var gb = mb / 1024;
516
+ if (gb < 10000) {
517
+ return gb.toFixed(2) + 'gb';
518
+ }
519
+ return (gb / 1024).toFixed(2) + 'tb';
520
+ },
521
+ parseJson: function (json) {
522
+ return typeof (json) === 'string' ? JSON.parse(json) : json;
523
+ },
524
+ toJson: function (obj) {
525
+ return JSON.stringify(obj);
526
+ },
527
+ tplRender: function (tpl, render) {
528
+ // 被转义的的分隔符 { } 不应该被渲染,分隔符与变量之间允许有空白字符
529
+ /*
530
+ "{greeting}! My name is { author.name }.".render({
531
+ greeting: "Hi",
532
+ author: {
533
+ name: "hsfzxjy"
534
+ }});
535
+ */
536
+ return tpl.replace(/(\\)?\{([^\{\}\\]+)(\\)?\}/g, function (word, slash1, token, slash2) {
537
+ // 如果有转义的\{或\}替换转义字符
538
+ if (slash1 || slash2) {
539
+ return word.replace('\\', '');
540
+ }
541
+ if (!render) {
542
+ return '';
543
+ }
544
+ // 切割 token ,实现级联的变量也可以展开
545
+ var tokens = token.replace(/\s/g, '').split('.');
546
+ var len = tokens.length;
547
+ var curr = render;
548
+ for (var i = 0; i < len; ++i) {
549
+ token = tokens[i];
550
+ curr = curr[token];
551
+ // 如果当前索引的对象不存在,则直接返回空字符串。
552
+ if (curr === undefined || curr === null)
553
+ return '';
554
+ }
555
+ return curr;
556
+ });
557
+ },
558
+ // xhrOntimeout() {
559
+ // // console.log('请求超时。。')
560
+ // },
561
+ // 支持formData file var form = new FormData();form.append("file", fileObj);
562
+ xhrReq: function (loading, headers, url, posts, callback, init) {
563
+ var xhr = new XMLHttpRequest();
564
+ var done = XMLHttpRequest.DONE || 4;
565
+ xhr.onreadystatechange = function () {
566
+ if (xhr.readyState === done) {
567
+ loading && loading();
568
+ if (callback) {
569
+ if (xhr.status === 200) {
570
+ callback(null, xhr.responseText);
571
+ }
572
+ else {
573
+ callback(xhr.text || 'fail', null);
574
+ }
575
+ }
576
+ }
577
+ };
578
+ // 设置30s超时时间
579
+ // xhr.timeout = 30000
580
+ // xhr.ontimeout = ab_.xhrOntimeout()
581
+ if (posts) {
582
+ xhr.open('POST', url, true);
583
+ }
584
+ else {
585
+ xhr.open('GET', url, true);
586
+ posts = undefined;
587
+ }
588
+ if (headers) {
589
+ for (var name in headers) {
590
+ xhr.setRequestHeader(name, headers[name]);
591
+ }
592
+ }
593
+ if (posts && posts._progress) {
594
+ // onprogress 事件在浏览器下载指定的视频/音频(audio/video)时触发
595
+ // xhr.onprogress = posts._progress
596
+ if (xhr.upload) {
597
+ xhr.upload.addEventListener('progress', posts._progress, false);
598
+ }
599
+ delete posts._progress;
600
+ posts._abort = function () {
601
+ xhr.abort();
602
+ };
603
+ }
604
+ if (posts && posts._init) {
605
+ posts._init(xhr);
606
+ delete posts._init;
607
+ }
608
+ init && init(xhr);
609
+ loading && loading(1);
610
+ xhr.send(posts);
611
+ },
612
+ uniReq: function (loading, headers, url, posts, files, callback, init) {
613
+ var req = {
614
+ url: url
615
+ };
616
+ if (headers) {
617
+ req.header = headers;
618
+ }
619
+ req.success = function (rep) {
620
+ loading && loading();
621
+ if (callback) {
622
+ callback(undefined, rep.data);
623
+ }
624
+ };
625
+ req.fail = function (err) {
626
+ loading && loading();
627
+ if (callback) {
628
+ callback(err || 'fail', undefined);
629
+ }
630
+ };
631
+ init && init(req);
632
+ if (files) {
633
+ var len = files.length;
634
+ if (!len) {
635
+ // 表单提交
636
+ var header = __assign({}, req.header);
637
+ header['content-type'] = 'application/x-www-form-urlencoded';
638
+ req.header = header;
639
+ req.method = 'post';
640
+ req.dataType = 'x-www-form-urlencoded';
641
+ req.data = posts;
642
+ uni.request(req);
643
+ return;
644
+ }
645
+ if (len === 1) {
646
+ // 单文件上传
647
+ var file = files[0];
648
+ req.name = file.name;
649
+ req.filePath = file.filePath;
650
+ }
651
+ else {
652
+ // 多文件上传
653
+ req.files = files;
654
+ }
655
+ if (posts) {
656
+ req.formData = posts;
657
+ }
658
+ var header = __assign({}, req.header);
659
+ header['Content-Type'] = 'multipart/form-data';
660
+ req.header = header;
661
+ uni.uploadFile(req);
662
+ }
663
+ else {
664
+ if (posts !== undefined && posts !== 0) {
665
+ // post请求
666
+ req.method = 'post';
667
+ if (posts !== '') {
668
+ req.data = posts;
669
+ }
670
+ }
671
+ uni.request(req);
672
+ }
673
+ },
674
+ newReady: function (last) {
675
+ var backs = [];
676
+ function ready(back) {
677
+ if (backs) {
678
+ backs.push(back);
679
+ }
680
+ else {
681
+ back();
682
+ }
683
+ }
684
+ ready.start = function () {
685
+ if (backs) {
686
+ var calls = backs;
687
+ backs = undefined;
688
+ for (var i = 0; i < calls.length; i++) {
689
+ try {
690
+ calls[i]();
691
+ }
692
+ catch (e) {
693
+ console.error(e);
694
+ }
695
+ }
696
+ if (last) {
697
+ var call = last;
698
+ last = undefined;
699
+ try {
700
+ call();
701
+ }
702
+ catch (e) {
703
+ console.error(e);
704
+ }
705
+ }
706
+ }
707
+ };
708
+ return ready;
709
+ },
710
+ newStart: function (run) {
711
+ var i = 0;
712
+ function start(inited) {
713
+ if (++i > 0 || inited) {
714
+ if (run != null) {
715
+ var call = run;
716
+ run = undefined;
717
+ try {
718
+ call();
719
+ }
720
+ catch (e) {
721
+ console.error(e);
722
+ }
723
+ }
724
+ }
725
+ }
726
+ start.waite = function () {
727
+ i--;
728
+ };
729
+ return start;
730
+ },
731
+ vConsole: function () {
732
+ if (!ab_.vconsoled) {
733
+ ab_.vconsoled = true;
734
+ ab_.reqJs('https://cdn.bootcss.com/vConsole/3.3.4/vconsole.min.js', 0, function () {
735
+ var script = document.createElement('script');
736
+ script.type = 'text/javascript';
737
+ script.appendChild(document.createTextNode('new VConsole()'));
738
+ document.body.appendChild(script);
739
+ });
740
+ }
741
+ },
742
+ getStyle: function ($el, name) {
743
+ var style = $el.getAttribute ? $el.getAttribute('style') : $el.attr('style');
744
+ if (style) {
745
+ var match = style.match(new RegExp(name + '[\\s\\t\\r\\n]*:([^;]*)', 'i'));
746
+ if (match) {
747
+ return match[1];
748
+ }
749
+ }
750
+ },
751
+ cssSetRest: function ($el, names) {
752
+ var len = names.length;
753
+ var css = [];
754
+ for (var i = 0; i < len; i++) {
755
+ css.push(ab_.getStyle($el, names[i]) || '');
756
+ }
757
+ return $el.style ? {
758
+ set: function (vals) {
759
+ for (var i = 0; i < len; i++) {
760
+ $el.style[names[i]] = vals[i] || '';
761
+ }
762
+ },
763
+ reset: function () {
764
+ for (var i = 0; i < len; i++) {
765
+ $el.style[names[i]] = css[i];
766
+ }
767
+ }
768
+ } : {
769
+ set: function (vals) {
770
+ for (var i = 0; i < len; i++) {
771
+ $el.css(names[i], vals[i] || '');
772
+ }
773
+ },
774
+ reset: function () {
775
+ for (var i = 0; i < len; i++) {
776
+ $el.css(names[i], css[i]);
777
+ }
778
+ }
779
+ };
780
+ },
781
+ cloneElement: function (el, tag) {
782
+ if (el) {
783
+ var clone = document.createElement(tag || el.tagName);
784
+ var attrs = el.attributes;
785
+ for (var i = 0; i < attrs.length; i++) {
786
+ var attr = attrs[i];
787
+ clone.setAttribute(attr.name, attr.value);
788
+ }
789
+ while (el.firstChild) {
790
+ clone.appendChild(el.firstChild);
791
+ }
792
+ return clone;
793
+ }
794
+ },
795
+ objectMerge: function (to, from, depth) {
796
+ to = typeof (to) === 'object' ? to : {};
797
+ for (var k in from) {
798
+ var f = from[k];
799
+ if (depth > 0) {
800
+ if (f && typeof (f) === 'object') {
801
+ var t = to[k];
802
+ if (typeof (t) === 'object') {
803
+ ab_.objectMerge(t, f, depth - 1);
804
+ continue;
805
+ }
806
+ }
807
+ }
808
+ to[k] = f;
809
+ }
810
+ return to;
811
+ },
812
+ keepAlive: function (inst) {
813
+ if (!inst) {
814
+ inst = $root.$route.matched;
815
+ if (inst.length) {
816
+ inst = inst[inst.length - 1].instances["default"];
817
+ }
818
+ if (!inst) {
819
+ return;
820
+ }
821
+ }
822
+ inst = inst.$vnode || inst;
823
+ inst = inst.parent;
824
+ return inst && inst.componentInstance;
825
+ },
826
+ keepAliveClose: function (key) {
827
+ var matched = $root.$route.matched;
828
+ if (matched.length > 1) {
829
+ ab_.keepAliveDel(ab_.keepAlive(matched[matched.length - 1].instances["default"]), key);
830
+ }
831
+ },
832
+ keepAliveDel: function ($keepAlive, key, cKey) {
833
+ if ($keepAlive && (key || cKey)) {
834
+ $keepAlive = $keepAlive.componentInstance || $keepAlive;
835
+ var cache = $keepAlive.cache;
836
+ var keys = $keepAlive.keys;
837
+ if (cache) {
838
+ if (!cKey && key) {
839
+ for (var k in cache) {
840
+ if (cache[k].data.key === key) {
841
+ cKey = k;
842
+ break;
843
+ }
844
+ }
845
+ }
846
+ if (cKey) {
847
+ if (keys.length) {
848
+ var index = keys.indexOf(cKey);
849
+ if (index >= 0) {
850
+ keys.splice(index, 1);
851
+ }
852
+ }
853
+ var c = cache[cKey];
854
+ if (c) {
855
+ try {
856
+ c.componentInstance.$destroy();
857
+ }
858
+ catch (e) {
859
+ console.error(e);
860
+ }
861
+ }
862
+ delete cache[cKey];
863
+ }
864
+ }
865
+ }
866
+ },
867
+ getPaths: function (model, paths, fromI) {
868
+ if (typeof (model) === 'object' && typeof (paths) === 'string') {
869
+ var i = fromI = fromI > 0 ? fromI : 0;
870
+ while ((i = paths.indexOf('.', i)) > 0) {
871
+ var j = paths[i - 1] === ']' ? paths.lastIndexOf('[', i - 1) : -1;
872
+ j = j <= fromI ? -1 : j;
873
+ var path = paths.substr(fromI, (j > 0 ? j : i) - fromI);
874
+ var m = model[path];
875
+ if (m) {
876
+ if (j > 0) {
877
+ m = m[paths.substr(j + 1, i - j - 2)];
878
+ }
879
+ return ab_.getPaths(m, paths, ++i);
880
+ }
881
+ i++;
882
+ }
883
+ return model[fromI > 0 ? paths.substr(fromI) : paths];
884
+ }
885
+ },
886
+ setPaths: function (model, val, paths, fromI) {
887
+ if (typeof (model) === 'object' && typeof (paths) === 'string') {
888
+ var i = fromI = fromI > 0 ? fromI : 0;
889
+ while ((i = paths.indexOf('.', i)) > 0) {
890
+ var j = paths[i - 1] === ']' ? paths.lastIndexOf('[', i - 1) : -1;
891
+ j = j <= fromI ? -1 : j;
892
+ var path = paths.substr(fromI, (j > 0 ? j : i) - fromI);
893
+ var m = model[path];
894
+ if (m) {
895
+ if (j > 0) {
896
+ m = m[paths.substr(j + 1, i - j - 2)];
897
+ }
898
+ return ab_.setPaths(m, val, paths, ++i);
899
+ }
900
+ i++;
901
+ }
902
+ model[fromI > 0 ? paths.substr(fromI) : paths] = val;
903
+ }
904
+ },
905
+ date: function (time) {
906
+ return time > 0 ? new Date(time > 2147483647 ? time : (time * 1000)) : null;
907
+ },
908
+ formatTime: function (time, fmt) {
909
+ return ab_.formatDate(ab_.date(time), fmt);
910
+ },
911
+ formatDate: function (date, fmt) {
912
+ if (!date || !date.getFullYear) {
913
+ return '';
914
+ }
915
+ fmt = fmt || 'yyyy-MM-dd hh:mm:ss';
916
+ if (/(y+)/.test(fmt)) {
917
+ fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
918
+ }
919
+ var o = {
920
+ 'M+': date.getMonth() + 1,
921
+ 'd+': date.getDate(),
922
+ 'h+': date.getHours(),
923
+ 'm+': date.getMinutes(),
924
+ 's+': date.getSeconds()
925
+ };
926
+ for (var k in o) {
927
+ if (new RegExp("(".concat(k, ")")).test(fmt)) {
928
+ var str = o[k] + '';
929
+ fmt = fmt.replace(RegExp.$1, str.length > 1 ? str : ('0' + str));
930
+ }
931
+ }
932
+ return fmt;
933
+ },
934
+ aName: function (name) {
935
+ if (typeof (name) !== 'string') {
936
+ return '';
937
+ }
938
+ var len = name && name.length;
939
+ var i = 0;
940
+ var c;
941
+ for (; i < len; i++) {
942
+ c = name[i];
943
+ if (c < 'a' || c > 'z') {
944
+ break;
945
+ }
946
+ }
947
+ return i >= len ? '' : name.substr(0, i);
948
+ },
949
+ aNameC: function (a, name, underline) {
950
+ if (!a || !name) {
951
+ return name;
952
+ }
953
+ if (underline) {
954
+ return a + '_' + name;
955
+ }
956
+ return (a === '@' ? '' : a) + name[0].toUpperCase() + name.substr(1);
957
+ },
958
+ fullScreen: function ($this, $el, fun) {
959
+ var $parent = $this.parentNode;
960
+ var parentSetRest;
961
+ var thisSetRest;
962
+ var $fixeds;
963
+ return function () {
964
+ if (!parentSetRest) {
965
+ parentSetRest = ab_.cssSetRest($parent, ['position', 'z-index', 'top', 'right', 'bottom', 'left', 'background', 'width', 'height']);
966
+ thisSetRest = ab_.cssSetRest($this, ['position', 'top', 'right', 'bottom', 'left', 'width', 'height']);
967
+ }
968
+ if ($fixeds) {
969
+ parentSetRest.reset();
970
+ thisSetRest.reset();
971
+ for (var i = 0; i < $fixeds.length; i++) {
972
+ var $fixed = $fixeds[i];
973
+ if ($fixed[1]) {
974
+ $fixed[0].attr('style', $fixed[1]);
975
+ }
976
+ else {
977
+ $fixed[0].removeAttr('style');
978
+ }
979
+ }
980
+ $fixeds = null;
981
+ if ($el && $el.classList) {
982
+ $el.classList.remove('.abFullScreenReset');
983
+ $el.classList.add('.abFullScreenTo');
984
+ }
985
+ fun && fun();
986
+ }
987
+ else {
988
+ parentSetRest.set(['fixed', '19891024', '0', '0', '0', '0', '#FFF']);
989
+ thisSetRest.set(['absolute', '0', '0', '0', '0']);
990
+ $fixeds = [];
991
+ $fixed = $parent;
992
+ if ($fixed.style) {
993
+ while (true) {
994
+ $fixed = $fixed.parentNode;
995
+ if (!$fixed || !$fixed.length || $fixed[0] === document) {
996
+ break;
997
+ }
998
+ if ($fixed.style.position === 'fixed') {
999
+ $fixeds.push([$fixed, $fixed.getAttribute('style')]);
1000
+ $fixed.style.position === 'static';
1001
+ }
1002
+ }
1003
+ }
1004
+ else {
1005
+ while (true) {
1006
+ $fixed = $fixed.parent();
1007
+ if (!$fixed || !$fixed.length || $fixed[0] === document) {
1008
+ break;
1009
+ }
1010
+ if ($fixed.css('position') === 'fixed') {
1011
+ $fixeds.push([$fixed, $fixed.attr('style')]);
1012
+ $fixed.css('position', 'static');
1013
+ }
1014
+ }
1015
+ }
1016
+ if ($el && $el.classList) {
1017
+ $el.classList.remove('.abFullScreenTo');
1018
+ $el.classList.add('.abFullScreenReset');
1019
+ }
1020
+ fun && fun(true);
1021
+ }
1022
+ };
1023
+ },
1024
+ cvsVal: function (val, cHead, cEnd) {
1025
+ if (cHead || cEnd) {
1026
+ var head = 0;
1027
+ var last = val.length - 1;
1028
+ var cLast = last;
1029
+ for (; head <= last; head++) {
1030
+ var c = val[head];
1031
+ if (c !== '\r' && c !== '\n') {
1032
+ break;
1033
+ }
1034
+ }
1035
+ for (; cLast > head; cLast--) {
1036
+ var c = val[cLast];
1037
+ if (c !== '\r' && c !== '\n') {
1038
+ break;
1039
+ }
1040
+ }
1041
+ if (head > 0 || cLast < last) {
1042
+ val = val.substr(head, cLast + 1 - cHead);
1043
+ }
1044
+ }
1045
+ if (typeof (val) === 'string') {
1046
+ if (val.indexOf(',') >= 0 || val.indexOf('"') >= 0 || val.indexOf('\r') >= 0 || val.indexOf('\n') >= 0) {
1047
+ val = '"' + val.replace('"', '""') + '"';
1048
+ }
1049
+ }
1050
+ return val === undefined || val === null ? '' : val;
1051
+ },
1052
+ downloadTxt: function (txt, name, bom) {
1053
+ if (bom) {
1054
+ txt = '\uFEFF' + txt;
1055
+ }
1056
+ var element = document.createElement('a');
1057
+ element.setAttribute('href', 'data:text/plain;charset=' + document.characterSet + ',' + encodeURIComponent(txt));
1058
+ element.setAttribute('download', name);
1059
+ element.style.display = 'none';
1060
+ element.click();
1061
+ setTimeout(function () {
1062
+ if (element) {
1063
+ element.remove();
1064
+ }
1065
+ }, 100);
1066
+ },
1067
+ funTimer: function (fun) {
1068
+ var timer;
1069
+ var timerI;
1070
+ var self = {
1071
+ start: function (interval) {
1072
+ if (timer && timerI != interval) {
1073
+ self.stop();
1074
+ }
1075
+ if (!timer) {
1076
+ timerI = interval;
1077
+ timer = setInterval(fun, interval);
1078
+ }
1079
+ },
1080
+ stop: function () {
1081
+ if (timer) {
1082
+ try {
1083
+ clearInterval(timer);
1084
+ }
1085
+ catch (e) {
1086
+ console.error(e);
1087
+ }
1088
+ timer = null;
1089
+ }
1090
+ }
1091
+ };
1092
+ return self;
1093
+ },
1094
+ loadState: function (bind, path, target, props) {
1095
+ var state = bind && bind['_$$state$$' + path];
1096
+ if (state && target) {
1097
+ var len = props && props.length;
1098
+ for (var i = 0; i < len; i++) {
1099
+ var prop = props[i];
1100
+ target[prop] = state[prop];
1101
+ }
1102
+ return true;
1103
+ }
1104
+ },
1105
+ saveState: function (bind, path, target, props) {
1106
+ if (bind && target) {
1107
+ var state = {};
1108
+ var len = props && props.length;
1109
+ for (var i = 0; i < len; i++) {
1110
+ var prop = props[i];
1111
+ state[prop] = target[prop];
1112
+ }
1113
+ bind['_$$state$$' + path] = state;
1114
+ }
1115
+ }
1116
+ };
1117
+ try {
1118
+ if (typeof location !== undefined) {
1119
+ ab_.local = location.hostname == '127.0.0.1' || location.hostname == 'localhost';
1120
+ ab_.https = location.href.startsWith('https');
1121
+ }
1122
+ }
1123
+ catch (e) {
1124
+ console.error(e);
1125
+ }
1126
+ try {
1127
+ if (globalThis) {
1128
+ if (globalThis.ab_) {
1129
+ ab_ = globalThis.ab_;
1130
+ }
1131
+ else {
1132
+ globalThis.ab_ = ab_;
1133
+ }
1134
+ }
1135
+ }
1136
+ catch (e) {
1137
+ console.error(e);
1138
+ }
1139
+ module.exports = ab_;