axj-ab_ 1.0.13 → 1.0.15

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