eoss 0.1.0-alpha.4 → 0.1.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/account-login.js +3591 -3410
- package/lib/autocomplete.js +3585 -3380
- package/lib/button-group.js +7675 -7493
- package/lib/button.js +3582 -3377
- package/lib/ca-login.js +3580 -3375
- package/lib/calendar.js +7683 -7501
- package/lib/carousel.js +3 -3
- package/lib/cascader-panel.js +3612 -3407
- package/lib/cascader.js +3612 -3407
- package/lib/checkbox-group.js +3563 -3381
- package/lib/checkbox.js +70 -70
- package/lib/collapse-item.js +3580 -3375
- package/lib/color-picker.js +3581 -3376
- package/lib/data-table.js +19151 -18970
- package/lib/date-picker.js +3579 -3374
- package/lib/dialog.js +3582 -3377
- package/lib/dropdown.js +7832 -7650
- package/lib/email-login.js +3593 -3411
- package/lib/eoss.common.js +521 -326
- package/lib/flow-group.js +3576 -3366
- package/lib/flow.js +4385 -4203
- package/lib/form-item.js +3583 -3377
- package/lib/form.js +10064 -9883
- package/lib/icon.js +3580 -3375
- package/lib/image.js +3580 -3375
- package/lib/index.js +1 -1
- package/lib/index.js.LICENSE.txt +1 -1
- package/lib/input-number.js +2563 -2358
- package/lib/input.js +3582 -3377
- package/lib/loading.js +3582 -3377
- package/lib/login.js +5237 -5053
- package/lib/main.js +3581 -3402
- package/lib/menu-item-group.js +3582 -3377
- package/lib/menu-item.js +3582 -3377
- package/lib/menu.js +3582 -3377
- package/lib/message-box.js +3582 -3377
- package/lib/message.js +3582 -3377
- package/lib/notification.js +3582 -3377
- package/lib/option.js +3601 -3396
- package/lib/pagination.js +9907 -9726
- package/lib/phone-login.js +3593 -3411
- package/lib/popconfirm.js +4794 -4589
- package/lib/popover.js +3585 -3380
- package/lib/qrcode-login.js +3593 -3411
- package/lib/radio-group.js +4389 -4207
- package/lib/radio.js +24 -24
- package/lib/rate.js +3582 -3377
- package/lib/scrollbar.js +3582 -3377
- package/lib/select.js +3596 -3415
- package/lib/selector-panel.js +3629 -3446
- package/lib/selector.js +3597 -3414
- package/lib/slider.js +2566 -2361
- package/lib/step.js +3580 -3375
- package/lib/steps.js +3582 -3377
- package/lib/submenu.js +3582 -3377
- package/lib/switch.js +3582 -3377
- package/lib/table-column.js +3770 -3564
- package/lib/table.js +4844 -4662
- package/lib/tabs.js +3580 -3375
- package/lib/time-picker.js +3581 -3376
- package/lib/time-select.js +3581 -3376
- package/lib/tips.js +4378 -4196
- package/lib/tooltip.js +3582 -3377
- package/lib/transfer.js +3563 -3381
- package/lib/tree-group.js +3568 -3363
- package/lib/tree.js +4652 -4447
- package/lib/upload.js +3595 -3413
- package/lib/utils/ajax.js +25 -51
- package/lib/utils/util.js +330 -132
- package/lib/wujie.js +3571 -3363
- package/package.json +1 -1
- package/packages/autocomplete/src/autocomplete.vue +1 -1
- package/packages/carousel/src/item.vue +1 -1
- package/packages/carousel/src/main.vue +1 -1
- package/packages/checkbox/src/checkbox-group.vue +1 -1
- package/packages/checkbox/src/checkbox.vue +29 -29
- package/packages/flow-group/src/main.vue +2 -2
- package/packages/form/src/form.vue +3 -5
- package/packages/input/src/input.vue +2 -2
- package/packages/input-number/src/input-number.vue +2 -2
- package/packages/login/src/login.vue +4 -4
- package/packages/popover/src/main.vue +1 -1
- package/packages/radio/src/radio-group.vue +1 -1
- package/packages/radio/src/radio.vue +1 -1
- package/packages/select/src/select.vue +1 -1
- package/packages/slider/src/slider.vue +2 -4
- package/packages/table/src/layout-observer.js +5 -5
- package/packages/table/src/table-body.js +11 -11
- package/packages/table/src/table-column.js +1 -1
- package/packages/theme-chalk/package.json +6 -6
- package/packages/theme-chalk/src/button.scss +29 -8
- package/packages/theme-chalk/src/common/color/colorPalette.scss +5 -5
- package/packages/theme-chalk/src/common/var.scss +1 -1
- package/packages/theme-chalk/src/dropdown.scss +7 -2
- package/packages/theme-chalk/src/link.scss +3 -2
- package/packages/theme-chalk/src/mixins/_button.scss +28 -15
- package/packages/theme-chalk/src/mixins/color.scss +21 -18
- package/packages/theme-chalk/src/mixins/function.scss +108 -44
- package/packages/theme-chalk/src/tag.scss +49 -20
- package/packages/upload/src/index.vue +2 -2
- package/src/index.js +2 -2
- package/src/utils/ajax.js +0 -14
- package/src/utils/util.js +274 -94
package/lib/utils/util.js
CHANGED
|
@@ -14,15 +14,10 @@ exports.confirm = exports.concatenate = exports.coerceTruthyValueToArray = void
|
|
|
14
14
|
exports.debounce = debounce;
|
|
15
15
|
exports.generateId = exports.formatFileSize = exports.extend = exports.exportXls = exports.exclAttribute = exports.escapeRegexpString = exports.error = exports.encode = exports.downloadFile = exports.domEval = exports.delUrlParam = exports.decode = void 0;
|
|
16
16
|
exports.get = get;
|
|
17
|
-
exports.getParams = exports.getObjectType = exports.getMyWinTop = exports.getLength = exports.getFileType = void 0;
|
|
18
|
-
exports.getPropByPath = getPropByPath;
|
|
19
|
-
exports.getZoom = exports.getWinTop = exports.getValues = exports.getValueByPath = exports.getTypeName = exports.getStyle = exports.getScript = void 0;
|
|
17
|
+
exports.getZoom = exports.getWinTop = exports.getValues = exports.getValueByPath = exports.getTypeName = exports.getStyle = exports.getScript = exports.getPropByPath = exports.getParams = exports.getObjectType = exports.getMyWinTop = exports.getLength = exports.getFileType = void 0;
|
|
20
18
|
exports.grouping = grouping;
|
|
21
19
|
exports.guid = guid;
|
|
22
|
-
exports.hasChars = void 0;
|
|
23
|
-
exports.hasOwn = hasOwn;
|
|
24
|
-
exports.lowerCase = exports.looseEqual = exports.loading = exports.loadJs = exports.kebabCase = exports.joinUrl = exports.isObjectEqual = exports.isIE = exports.isFunction = exports.isFirefox = exports.isExist = exports.isEqual = exports.isEmpty = exports.isEdge = exports.indexOfObj = exports.identical = void 0;
|
|
25
|
-
exports.noop = noop;
|
|
20
|
+
exports.noop = exports.lowerCase = exports.looseEqual = exports.loading = exports.loadJs = exports.kebabCase = exports.joinUrl = exports.isObjectEqual = exports.isIE = exports.isFunction = exports.isFirefox = exports.isExist = exports.isEqual = exports.isEmpty = exports.isEdge = exports.indexOfObj = exports.identical = exports.hasOwn = exports.hasChars = void 0;
|
|
26
21
|
exports.objToArray = objToArray;
|
|
27
22
|
exports.overbrim = void 0;
|
|
28
23
|
exports.pager = pager;
|
|
@@ -32,9 +27,7 @@ exports.sendMessage = exports.rmbToCapital = exports.requestAnimationFrame = exp
|
|
|
32
27
|
exports.set = set;
|
|
33
28
|
exports.takeRight = exports.takeLeft = exports.sum = exports.success = exports.startWith = exports.setScale = exports.setFavicon = void 0;
|
|
34
29
|
exports.throttle = throttle;
|
|
35
|
-
exports.toFunction = exports.toFixed = exports.timestampUrl = void 0;
|
|
36
|
-
exports.toObject = toObject;
|
|
37
|
-
exports.trimWhitespace = void 0;
|
|
30
|
+
exports.trimWhitespace = exports.toObject = exports.toFunction = exports.toFixed = exports.timestampUrl = void 0;
|
|
38
31
|
exports.uid = uid;
|
|
39
32
|
exports.winTopOpen = exports.watermark = exports.warning = exports.valueEquals = exports.uuid = exports.urlJoinParams = exports.upperType = exports.updateTheme = void 0;
|
|
40
33
|
var _isArray = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/is-array"));
|
|
@@ -47,11 +40,11 @@ var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-j
|
|
|
47
40
|
var _lastIndexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/last-index-of"));
|
|
48
41
|
var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
|
|
49
42
|
var _sort = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/sort"));
|
|
43
|
+
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
50
44
|
var _every = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/every"));
|
|
51
45
|
var _isFinite = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/number/is-finite"));
|
|
52
46
|
var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
|
|
53
47
|
var _parseFloat2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/parse-float"));
|
|
54
|
-
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
55
48
|
var _endsWith = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/ends-with"));
|
|
56
49
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/map"));
|
|
57
50
|
var _url = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/url"));
|
|
@@ -68,9 +61,9 @@ var _types = require("./types");
|
|
|
68
61
|
var _messageBox = _interopRequireDefault(require("../../packages/message-box"));
|
|
69
62
|
var _date = require("./date");
|
|
70
63
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
71
|
-
function _extends() { var
|
|
72
|
-
function _createForOfIteratorHelperLoose(r, e) { var
|
|
73
|
-
function _unsupportedIterableToArray(r, a) { if (r) { var
|
|
64
|
+
function _extends() { var _context0; return _extends = _Object$assign ? _bindInstanceProperty(_context0 = _Object$assign).call(_context0) : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
65
|
+
function _createForOfIteratorHelperLoose(r, e) { var _context9; var t = "undefined" != typeof _Symbol && _getIteratorMethod(r) || r["@@iterator"]; if (t) return _bindInstanceProperty(_context9 = (t = t.call(r)).next).call(_context9, t); if (_Array$isArray2(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
66
|
+
function _unsupportedIterableToArray(r, a) { if (r) { var _context8; if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = _sliceInstanceProperty2(_context8 = {}.toString.call(r)).call(_context8, 8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? _Array$from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
74
67
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
75
68
|
function _readOnlyError(r) { throw new TypeError('"' + r + '" is read-only'); }
|
|
76
69
|
var _get = require('lodash/get');
|
|
@@ -81,22 +74,57 @@ var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
|
81
74
|
// 导入date中的formatDate函数
|
|
82
75
|
|
|
83
76
|
var publicKey = 'abcdefghijklmnopqrstuvwxyz12345678';
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* 空函数
|
|
80
|
+
* @desc 不执行任何操作的空函数
|
|
81
|
+
* @return {undefined}
|
|
82
|
+
**/
|
|
83
|
+
var noop = exports.noop = function noop() {};
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* 检查对象是否拥有指定属性
|
|
87
|
+
* @desc 检查对象自身是否包含指定的属性(不包括原型链上的属性)
|
|
88
|
+
* @param {Object} obj - 要检查的对象
|
|
89
|
+
* @param {string} key - 要检查的属性名
|
|
90
|
+
* @return {boolean} 是否拥有该属性
|
|
91
|
+
**/
|
|
92
|
+
var hasOwn = exports.hasOwn = function hasOwn(obj, key) {
|
|
93
|
+
if (!(0, _types.isObject)(obj) && typeof obj !== 'object') {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
87
96
|
return hasOwnProperty.call(obj, key);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* 将数组转换为对象
|
|
101
|
+
* @desc 将对象数组合并为一个对象
|
|
102
|
+
* @param {Array} [arr=[]] - 对象数组
|
|
103
|
+
* @return {Object} 合并后的对象
|
|
104
|
+
**/
|
|
105
|
+
var toObject = exports.toObject = function toObject(arr) {
|
|
106
|
+
if (arr === void 0) {
|
|
107
|
+
arr = [];
|
|
108
|
+
}
|
|
91
109
|
var res = {};
|
|
110
|
+
if (!(0, _isArray.default)(arr)) {
|
|
111
|
+
return res;
|
|
112
|
+
}
|
|
92
113
|
for (var i = 0; i < arr.length; i++) {
|
|
93
114
|
if (arr[i]) {
|
|
94
115
|
_extend(res, arr[i]);
|
|
95
116
|
}
|
|
96
117
|
}
|
|
97
118
|
return res;
|
|
98
|
-
}
|
|
99
|
-
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* 根据路径获取对象属性值
|
|
123
|
+
* @desc 根据点分隔的路径字符串获取对象中的属性值
|
|
124
|
+
* @param {Object} object - 源对象
|
|
125
|
+
* @param {string} prop - 属性路径(如 'a.b.c')
|
|
126
|
+
* @return {*} 获取到的属性值,如果路径不存在则返回null
|
|
127
|
+
**/
|
|
100
128
|
var getValueByPath = exports.getValueByPath = function getValueByPath(object, prop) {
|
|
101
129
|
if (Object.prototype.toString.call(object).toLowerCase() !== '[object object]') {
|
|
102
130
|
return object;
|
|
@@ -116,7 +144,33 @@ var getValueByPath = exports.getValueByPath = function getValueByPath(object, pr
|
|
|
116
144
|
}
|
|
117
145
|
return result;
|
|
118
146
|
};
|
|
119
|
-
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* 获取属性路径信息
|
|
150
|
+
* @desc 获取对象属性路径的详细信息,包括父对象、属性名和属性值
|
|
151
|
+
* @param {Object} obj - 源对象
|
|
152
|
+
* @param {string} path - 属性路径(如 'a.b.c' 或 'a[0].b')
|
|
153
|
+
* @param {boolean} [strict=false] - 是否严格模式,严格模式下路径不存在会抛出错误
|
|
154
|
+
* @return {Object} 包含父对象(o)、属性名(k)和属性值(v)的对象
|
|
155
|
+
**/
|
|
156
|
+
var getPropByPath = exports.getPropByPath = function getPropByPath(obj, path, strict) {
|
|
157
|
+
if (strict === void 0) {
|
|
158
|
+
strict = false;
|
|
159
|
+
}
|
|
160
|
+
if (!(0, _types.isObject)(obj) && typeof obj !== 'object') {
|
|
161
|
+
return {
|
|
162
|
+
o: null,
|
|
163
|
+
k: '',
|
|
164
|
+
v: null
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
if (!(0, _types.isString)(path)) {
|
|
168
|
+
return {
|
|
169
|
+
o: obj,
|
|
170
|
+
k: '',
|
|
171
|
+
v: null
|
|
172
|
+
};
|
|
173
|
+
}
|
|
120
174
|
var tempObj = obj;
|
|
121
175
|
path = path.replace(/\[(\w+)\]/g, '.$1');
|
|
122
176
|
path = path.replace(/^\./, '');
|
|
@@ -139,11 +193,24 @@ function getPropByPath(obj, path, strict) {
|
|
|
139
193
|
k: keyArr[i],
|
|
140
194
|
v: tempObj ? tempObj[keyArr[i]] : null
|
|
141
195
|
};
|
|
142
|
-
}
|
|
143
|
-
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* 生成随机ID
|
|
200
|
+
* @desc 生成一个1-9999之间的随机整数作为ID
|
|
201
|
+
* @return {number} 随机ID
|
|
202
|
+
**/
|
|
144
203
|
var generateId = exports.generateId = function generateId() {
|
|
145
204
|
return Math.floor(Math.random() * 10000);
|
|
146
205
|
};
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* 检查两个数组是否值相等
|
|
209
|
+
* @desc 深度比较两个数组是否包含相同的元素(严格相等比较)
|
|
210
|
+
* @param {Array} a - 第一个数组
|
|
211
|
+
* @param {Array} b - 第二个数组
|
|
212
|
+
* @return {boolean} 数组是否值相等
|
|
213
|
+
**/
|
|
147
214
|
var valueEquals = exports.valueEquals = function valueEquals(a, b) {
|
|
148
215
|
// see: https://stackoverflow.com/questions/3115982/how-to-check-if-two-arrays-are-equal-with-javascript
|
|
149
216
|
if (a === b) return true;
|
|
@@ -155,6 +222,13 @@ var valueEquals = exports.valueEquals = function valueEquals(a, b) {
|
|
|
155
222
|
}
|
|
156
223
|
return true;
|
|
157
224
|
};
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* 转义正则表达式特殊字符
|
|
228
|
+
* @desc 将字符串中的正则表达式特殊字符转义,使其可以安全地用于正则表达式
|
|
229
|
+
* @param {*} [value=''] - 要转义的字符串
|
|
230
|
+
* @return {string} 转义后的字符串
|
|
231
|
+
**/
|
|
158
232
|
var escapeRegexpString = exports.escapeRegexpString = function escapeRegexpString(value) {
|
|
159
233
|
if (value === void 0) {
|
|
160
234
|
value = '';
|
|
@@ -163,7 +237,20 @@ var escapeRegexpString = exports.escapeRegexpString = function escapeRegexpStrin
|
|
|
163
237
|
};
|
|
164
238
|
|
|
165
239
|
// TODO: use native Array.find, Array.findIndex when IE support is dropped
|
|
240
|
+
/**
|
|
241
|
+
* 查找数组中符合条件的元素索引
|
|
242
|
+
* @desc 查找数组中第一个满足测试函数的元素的索引
|
|
243
|
+
* @param {Array} arr - 要查找的数组
|
|
244
|
+
* @param {Function} pred - 测试函数,返回true表示找到匹配元素
|
|
245
|
+
* @return {number} 找到的元素索引,未找到返回-1
|
|
246
|
+
**/
|
|
166
247
|
var arrayFindIndex = exports.arrayFindIndex = function arrayFindIndex(arr, pred) {
|
|
248
|
+
if (!(0, _isArray.default)(arr)) {
|
|
249
|
+
return -1;
|
|
250
|
+
}
|
|
251
|
+
if (typeof pred !== 'function') {
|
|
252
|
+
return -1;
|
|
253
|
+
}
|
|
167
254
|
for (var i = 0; i !== arr.length; ++i) {
|
|
168
255
|
if (pred(arr[i])) {
|
|
169
256
|
return i;
|
|
@@ -171,12 +258,32 @@ var arrayFindIndex = exports.arrayFindIndex = function arrayFindIndex(arr, pred)
|
|
|
171
258
|
}
|
|
172
259
|
return -1;
|
|
173
260
|
};
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* 查找数组中符合条件的元素
|
|
264
|
+
* @desc 查找数组中第一个满足测试函数的元素
|
|
265
|
+
* @param {Array} arr - 要查找的数组
|
|
266
|
+
* @param {Function} pred - 测试函数,返回true表示找到匹配元素
|
|
267
|
+
* @return {*} 找到的元素,未找到返回undefined
|
|
268
|
+
**/
|
|
174
269
|
var arrayFind = exports.arrayFind = function arrayFind(arr, pred) {
|
|
270
|
+
if (!(0, _isArray.default)(arr)) {
|
|
271
|
+
return undefined;
|
|
272
|
+
}
|
|
273
|
+
if (typeof pred !== 'function') {
|
|
274
|
+
return undefined;
|
|
275
|
+
}
|
|
175
276
|
var idx = arrayFindIndex(arr, pred);
|
|
176
277
|
return idx !== -1 ? arr[idx] : undefined;
|
|
177
278
|
};
|
|
178
279
|
|
|
179
280
|
// coerce truthy value to array
|
|
281
|
+
/**
|
|
282
|
+
* 将真值转换为数组
|
|
283
|
+
* @desc 如果输入是数组则直接返回,否则将真值包装为数组,假值返回空数组
|
|
284
|
+
* @param {*} val - 要转换的值
|
|
285
|
+
* @return {Array} 转换后的数组
|
|
286
|
+
**/
|
|
180
287
|
var coerceTruthyValueToArray = exports.coerceTruthyValueToArray = function coerceTruthyValueToArray(val) {
|
|
181
288
|
if ((0, _isArray.default)(val)) {
|
|
182
289
|
return val;
|
|
@@ -282,7 +389,7 @@ function objToArray(obj) {
|
|
|
282
389
|
}
|
|
283
390
|
|
|
284
391
|
// requestAnimationFrame 适配函数
|
|
285
|
-
var raFrame = window.requestAnimationFrame || window
|
|
392
|
+
var raFrame = window.requestAnimationFrame || window['webkitRequestAnimationFrame'] || function (callback) {
|
|
286
393
|
return (0, _setTimeout2.default)(callback, 1000 / 60);
|
|
287
394
|
};
|
|
288
395
|
|
|
@@ -315,7 +422,7 @@ var requestAnimationFrame = exports.requestAnimationFrame = raFrame;
|
|
|
315
422
|
* })
|
|
316
423
|
* cancelAnimationFrame(id)
|
|
317
424
|
*/
|
|
318
|
-
var cancelAnimationFrame = exports.cancelAnimationFrame = window.cancelAnimationFrame || window
|
|
425
|
+
var cancelAnimationFrame = exports.cancelAnimationFrame = window.cancelAnimationFrame || window['webkitCancelAnimationFrame'] || function (id) {
|
|
319
426
|
window.clearTimeout(id);
|
|
320
427
|
};
|
|
321
428
|
|
|
@@ -499,7 +606,8 @@ function pager(data, page, size) {
|
|
|
499
606
|
/**
|
|
500
607
|
* getWinTop
|
|
501
608
|
* @desc 获取同域的top窗口
|
|
502
|
-
* @param {object} wind - window对象
|
|
609
|
+
* @param {object} [wind] - window对象
|
|
610
|
+
* @return {Window} 同域的top窗口
|
|
503
611
|
**/
|
|
504
612
|
var _getWinTop = exports.getWinTop = function getWinTop(wind) {
|
|
505
613
|
wind = wind ? wind : window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
|
|
@@ -645,28 +753,35 @@ var getFileType = exports.getFileType = function getFileType(fileName) {
|
|
|
645
753
|
|
|
646
754
|
/**
|
|
647
755
|
* arrUnique
|
|
648
|
-
* @desc
|
|
756
|
+
* @desc 数组元素对象去重
|
|
649
757
|
* @author huangbo
|
|
650
758
|
* @date 2022年5月7日
|
|
651
|
-
* @param {
|
|
759
|
+
* @param {Array} [data] - 原始数组
|
|
652
760
|
* @param {String} [key] - 对象子元素的属性名
|
|
761
|
+
* @return {Array} 去重后的数组
|
|
653
762
|
**/
|
|
654
763
|
var arrUnique = exports.arrUnique = function arrUnique(data, key) {
|
|
764
|
+
// 验证输入参数
|
|
765
|
+
if (!(0, _isArray.default)(data) || data.length === 0) return [];
|
|
655
766
|
var newArr = [];
|
|
656
767
|
if (key === undefined) {
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
768
|
+
var _context2, _context3;
|
|
769
|
+
// 对基本类型数组去重
|
|
770
|
+
var sortedData = (0, _sort.default)(_context2 = (0, _concat.default)(_context3 = []).call(_context3, data)).call(_context2); // 避免修改原数组
|
|
771
|
+
newArr = [sortedData[0]];
|
|
772
|
+
for (var i = 1; i < sortedData.length; i++) {
|
|
773
|
+
if (sortedData[i] !== newArr[newArr.length - 1]) {
|
|
774
|
+
newArr.push(sortedData[i]);
|
|
662
775
|
}
|
|
663
776
|
}
|
|
664
777
|
} else {
|
|
778
|
+
// 对对象数组按指定键去重
|
|
665
779
|
var obj = {};
|
|
666
780
|
for (var _i = 0; _i < data.length; _i++) {
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
781
|
+
var item = data[_i];
|
|
782
|
+
if (item && obj[item[key]] === undefined) {
|
|
783
|
+
newArr.push(item);
|
|
784
|
+
obj[item[key]] = true;
|
|
670
785
|
}
|
|
671
786
|
}
|
|
672
787
|
}
|
|
@@ -685,17 +800,19 @@ var average = exports.average = function average() {
|
|
|
685
800
|
for (var _len2 = arguments.length, numbers = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
686
801
|
numbers[_key2] = arguments[_key2];
|
|
687
802
|
}
|
|
688
|
-
//
|
|
803
|
+
// 处理空参数情况
|
|
804
|
+
if (numbers.length === 0) return 0;
|
|
805
|
+
|
|
806
|
+
// 确保所有参数都是有效数字
|
|
689
807
|
if (!(0, _every.default)(numbers).call(numbers, _isFinite.default)) {
|
|
690
808
|
throw new Error('Invalid input. Please provide valid numbers.');
|
|
691
809
|
}
|
|
692
810
|
|
|
693
|
-
//
|
|
811
|
+
// 计算平均值
|
|
694
812
|
var sum = (0, _reduce.default)(numbers).call(numbers, function (acc, num) {
|
|
695
813
|
return acc + num;
|
|
696
814
|
}, 0);
|
|
697
|
-
|
|
698
|
-
return average;
|
|
815
|
+
return sum / numbers.length;
|
|
699
816
|
};
|
|
700
817
|
|
|
701
818
|
/**
|
|
@@ -711,7 +828,9 @@ var formatFileSize = exports.formatFileSize = function formatFileSize(size, digi
|
|
|
711
828
|
if (digits === void 0) {
|
|
712
829
|
digits = 2;
|
|
713
830
|
}
|
|
714
|
-
|
|
831
|
+
// 验证输入参数
|
|
832
|
+
if (size === 0 || typeof size !== 'number' || isNaN(size)) return '';
|
|
833
|
+
if (typeof digits !== 'number' || isNaN(digits)) digits = 2;
|
|
715
834
|
var k = 1024;
|
|
716
835
|
var sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
|
|
717
836
|
var i = Math.floor(Math.log(size) / Math.log(k));
|
|
@@ -724,9 +843,10 @@ var formatFileSize = exports.formatFileSize = function formatFileSize(size, digi
|
|
|
724
843
|
|
|
725
844
|
/**
|
|
726
845
|
* browser
|
|
727
|
-
* @desc
|
|
846
|
+
* @desc 浏览器类型
|
|
728
847
|
* @author huangbo
|
|
729
848
|
* @date 2022年5月7日
|
|
849
|
+
* @return {string|undefined} 浏览器类型标识
|
|
730
850
|
**/
|
|
731
851
|
var browser = exports.browser = function browser() {
|
|
732
852
|
var reg = {
|
|
@@ -744,9 +864,14 @@ var browser = exports.browser = function browser() {
|
|
|
744
864
|
|
|
745
865
|
/**
|
|
746
866
|
* busEmit
|
|
747
|
-
* @desc
|
|
867
|
+
* @desc 发送事件
|
|
748
868
|
* @author huangbo
|
|
749
869
|
* @date 2022年5月7日
|
|
870
|
+
* @param {Object} that - Vue实例或包含bus的对象
|
|
871
|
+
* @param {Object} options - 事件选项
|
|
872
|
+
* @param {string} options.method - 事件名称
|
|
873
|
+
* @param {Array|*} options.args - 事件参数
|
|
874
|
+
* @param {Object} [options.opener] - 窗口对象(用于跨窗口通信)
|
|
750
875
|
**/
|
|
751
876
|
var busEmit = exports.busEmit = function busEmit(that, _ref) {
|
|
752
877
|
var method = _ref.method,
|
|
@@ -763,7 +888,7 @@ var busEmit = exports.busEmit = function busEmit(that, _ref) {
|
|
|
763
888
|
return;
|
|
764
889
|
}
|
|
765
890
|
if (isIE()) {
|
|
766
|
-
var
|
|
891
|
+
var _context4;
|
|
767
892
|
if (window.top !== window.self) {
|
|
768
893
|
window.top.postMessage({
|
|
769
894
|
method: method,
|
|
@@ -773,14 +898,14 @@ var busEmit = exports.busEmit = function busEmit(that, _ref) {
|
|
|
773
898
|
return;
|
|
774
899
|
}
|
|
775
900
|
var bus = that ? that.bus || that.$root.Bus || that.$root.$bus : null;
|
|
776
|
-
bus && ((0, _isArray.default)(args) ? bus.$emit.apply(bus, (0, _concat.default)(
|
|
901
|
+
bus && ((0, _isArray.default)(args) ? bus.$emit.apply(bus, (0, _concat.default)(_context4 = [method]).call(_context4, args)) : bus.$emit(method, args));
|
|
777
902
|
} else {
|
|
778
|
-
var
|
|
903
|
+
var _context6;
|
|
779
904
|
if (window.top !== window.self) {
|
|
780
905
|
var _bus = window.$wujie ? window.$wujie.bus : null;
|
|
781
906
|
if (_bus) {
|
|
782
|
-
var
|
|
783
|
-
(0, _isArray.default)(args) ? _bus.$emit.apply(_bus, (0, _concat.default)(
|
|
907
|
+
var _context5;
|
|
908
|
+
(0, _isArray.default)(args) ? _bus.$emit.apply(_bus, (0, _concat.default)(_context5 = [method]).call(_context5, args)) : _bus.$emit(method, args);
|
|
784
909
|
} else {
|
|
785
910
|
window.top.postMessage({
|
|
786
911
|
method: method,
|
|
@@ -791,7 +916,7 @@ var busEmit = exports.busEmit = function busEmit(that, _ref) {
|
|
|
791
916
|
return;
|
|
792
917
|
}
|
|
793
918
|
var _bus2 = that ? that.bus || that.$root.Bus || that.$root.$bus : null;
|
|
794
|
-
_bus2 && ((0, _isArray.default)(args) ? _bus2.$emit.apply(_bus2, (0, _concat.default)(
|
|
919
|
+
_bus2 && ((0, _isArray.default)(args) ? _bus2.$emit.apply(_bus2, (0, _concat.default)(_context6 = [method]).call(_context6, args)) : _bus2.$emit(method, args));
|
|
795
920
|
}
|
|
796
921
|
};
|
|
797
922
|
|
|
@@ -799,6 +924,7 @@ var busEmit = exports.busEmit = function busEmit(that, _ref) {
|
|
|
799
924
|
* chunkToChinese
|
|
800
925
|
* @desc 将四位数的整数转换为中文大写
|
|
801
926
|
* @param {number} chunk - 数字
|
|
927
|
+
* @return {string} 中文大写数字
|
|
802
928
|
**/
|
|
803
929
|
var chunkToChinese = exports.chunkToChinese = function chunkToChinese(chunk) {
|
|
804
930
|
var numberToChinese = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
|
|
@@ -823,7 +949,6 @@ var chunkToChinese = exports.chunkToChinese = function chunkToChinese(chunk) {
|
|
|
823
949
|
|
|
824
950
|
/**
|
|
825
951
|
* concatenate
|
|
826
|
-
* @desc 指定连接符合并文本
|
|
827
952
|
* @desc 使用指定的连接符合并文本字符串
|
|
828
953
|
* @author SuTao
|
|
829
954
|
* @date 2023年12月14日
|
|
@@ -845,11 +970,13 @@ var concatenate = exports.concatenate = function concatenate(separator) {
|
|
|
845
970
|
|
|
846
971
|
/**
|
|
847
972
|
* delUrlParam
|
|
848
|
-
* @desc
|
|
973
|
+
* @desc 删除url指定参数
|
|
849
974
|
* @author huangbo
|
|
850
975
|
* @date 2022年5月7日
|
|
851
|
-
* @param {
|
|
852
|
-
* @param {String
|
|
976
|
+
* @param {Object} options - 参数选项
|
|
977
|
+
* @param {String} [options.url] - url地址
|
|
978
|
+
* @param {String|Array} [options.key] - 参数名
|
|
979
|
+
* @return {string} 删除参数后的url
|
|
853
980
|
**/
|
|
854
981
|
var delUrlParam = exports.delUrlParam = function delUrlParam(_ref2) {
|
|
855
982
|
var url = _ref2.url,
|
|
@@ -897,7 +1024,7 @@ var delUrlParam = exports.delUrlParam = function delUrlParam(_ref2) {
|
|
|
897
1024
|
|
|
898
1025
|
/**
|
|
899
1026
|
* domEval
|
|
900
|
-
* @desc
|
|
1027
|
+
* @desc 添加js内容
|
|
901
1028
|
* @author huangbo
|
|
902
1029
|
* @date 2022年5月7日
|
|
903
1030
|
* @param {String} [code] - js内容
|
|
@@ -910,10 +1037,10 @@ var domEval = exports.domEval = function domEval(code) {
|
|
|
910
1037
|
|
|
911
1038
|
/**
|
|
912
1039
|
* downloadFile
|
|
913
|
-
* @desc
|
|
1040
|
+
* @desc 下载附件
|
|
914
1041
|
* @author huangbo
|
|
915
1042
|
* @date 2022年5月7日
|
|
916
|
-
* @param {String}
|
|
1043
|
+
* @param {String} fileUrl - 文件下载地址
|
|
917
1044
|
**/
|
|
918
1045
|
var downloadFile = exports.downloadFile = function downloadFile(fileUrl) {
|
|
919
1046
|
var link = document.createElement('a');
|
|
@@ -927,10 +1054,11 @@ var downloadFile = exports.downloadFile = function downloadFile(fileUrl) {
|
|
|
927
1054
|
|
|
928
1055
|
/**
|
|
929
1056
|
* encode
|
|
930
|
-
* @desc
|
|
1057
|
+
* @desc 加密
|
|
931
1058
|
* @author huangbo
|
|
932
1059
|
* @date 2022年5月7日
|
|
933
|
-
* @param {string}
|
|
1060
|
+
* @param {string} value - 被加密的字符串
|
|
1061
|
+
* @return {string} 加密后的字符串
|
|
934
1062
|
**/
|
|
935
1063
|
var encode = exports.encode = function encode(value) {
|
|
936
1064
|
var kleng = publicKey.length;
|
|
@@ -954,11 +1082,11 @@ var encode = exports.encode = function encode(value) {
|
|
|
954
1082
|
|
|
955
1083
|
/**
|
|
956
1084
|
* decode
|
|
957
|
-
* @desc
|
|
1085
|
+
* @desc 解密
|
|
958
1086
|
* @author huangbo
|
|
959
1087
|
* @date 2022年5月7日
|
|
960
|
-
* @param {string}
|
|
961
|
-
* @
|
|
1088
|
+
* @param {string} value - 被解密的加密字符串
|
|
1089
|
+
* @return {string} 解密后的字符串
|
|
962
1090
|
**/
|
|
963
1091
|
var decode = exports.decode = function decode(value) {
|
|
964
1092
|
var kleng = publicKey.length;
|
|
@@ -985,11 +1113,14 @@ var decode = exports.decode = function decode(value) {
|
|
|
985
1113
|
};
|
|
986
1114
|
|
|
987
1115
|
/**
|
|
988
|
-
*
|
|
989
|
-
* @desc
|
|
1116
|
+
* exclAttribute
|
|
1117
|
+
* @desc 排除对象中的指定属性
|
|
990
1118
|
* @author huangbo
|
|
991
1119
|
* @date 2022年5月7日
|
|
992
|
-
* @param {
|
|
1120
|
+
* @param {Object} options - 参数选项
|
|
1121
|
+
* @param {String|Array} [options.attrs='value'] - 要排除的属性
|
|
1122
|
+
* @param {Object} options.data - 源对象
|
|
1123
|
+
* @return {Object} 排除属性后的新对象
|
|
993
1124
|
**/
|
|
994
1125
|
// 用于缓存exclAttribute的结果
|
|
995
1126
|
var _exclAttributeCache = new _map.default();
|
|
@@ -1035,8 +1166,9 @@ var exclAttribute = exports.exclAttribute = function exclAttribute(_ref3) {
|
|
|
1035
1166
|
* @desc 导出表格数据
|
|
1036
1167
|
* @author huangbo
|
|
1037
1168
|
* @date 2022年5月7日
|
|
1038
|
-
* @param {Object}
|
|
1039
|
-
* @param {
|
|
1169
|
+
* @param {Object} options - 参数选项
|
|
1170
|
+
* @param {Object} options.data - 导出数据
|
|
1171
|
+
* @param {String} [options.name] - 文件名
|
|
1040
1172
|
**/
|
|
1041
1173
|
var exportXls = exports.exportXls = function exportXls(_ref4) {
|
|
1042
1174
|
var data = _ref4.data,
|
|
@@ -1070,6 +1202,7 @@ var exportXls = exports.exportXls = function exportXls(_ref4) {
|
|
|
1070
1202
|
* @param {Boolean} [deep] - 是否深拷贝
|
|
1071
1203
|
* @param {Object} [target] - 目标对象
|
|
1072
1204
|
* @param {...Object} [source] - 源对象
|
|
1205
|
+
* @return {Object} 拷贝后的对象
|
|
1073
1206
|
**/
|
|
1074
1207
|
var _extend = exports.extend = function extend() {
|
|
1075
1208
|
// target目标对象 source源对象
|
|
@@ -1126,7 +1259,8 @@ var _extend = exports.extend = function extend() {
|
|
|
1126
1259
|
* @desc 获取数据类型
|
|
1127
1260
|
* @author huangbo
|
|
1128
1261
|
* @date 2022年5月7日
|
|
1129
|
-
* @param {
|
|
1262
|
+
* @param {*} [obj] - 任意值
|
|
1263
|
+
* @return {string} 数据类型
|
|
1130
1264
|
**/
|
|
1131
1265
|
var getObjectType = exports.getObjectType = function getObjectType(obj) {
|
|
1132
1266
|
return Object.prototype.toString.call(obj).replace(/\[object (.*)\]/, '$1').toLowerCase();
|
|
@@ -1137,10 +1271,15 @@ var getObjectType = exports.getObjectType = function getObjectType(obj) {
|
|
|
1137
1271
|
* @desc 获取URL参数
|
|
1138
1272
|
* @author huangbo
|
|
1139
1273
|
* @date 2022年5月7日
|
|
1140
|
-
* @param {
|
|
1274
|
+
* @param {Object} options - 参数配置对象
|
|
1275
|
+
* @param {String} [options.url] - url地址,可选
|
|
1276
|
+
* @param {String} [options.name] - 参数名,可选
|
|
1277
|
+
* @return {Object|string} 参数对象或指定参数值
|
|
1141
1278
|
**/
|
|
1142
|
-
var getParams = exports.getParams = function getParams(
|
|
1143
|
-
var
|
|
1279
|
+
var getParams = exports.getParams = function getParams(_temp) {
|
|
1280
|
+
var _ref5 = _temp === void 0 ? {} : _temp,
|
|
1281
|
+
url = _ref5.url,
|
|
1282
|
+
name = _ref5.name;
|
|
1144
1283
|
var href = '';
|
|
1145
1284
|
try {
|
|
1146
1285
|
href = window.top.location.href;
|
|
@@ -1148,17 +1287,30 @@ var getParams = exports.getParams = function getParams(key, url) {
|
|
|
1148
1287
|
href = window.location.href;
|
|
1149
1288
|
}
|
|
1150
1289
|
var paramStr = (url || href).split('?')[1] || '';
|
|
1151
|
-
if (!paramStr) return '';
|
|
1152
1290
|
var params = {};
|
|
1153
|
-
|
|
1154
|
-
var
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1291
|
+
if (paramStr) {
|
|
1292
|
+
var _context7;
|
|
1293
|
+
(0, _forEach.default)(_context7 = paramStr.split('&')).call(_context7, function (item) {
|
|
1294
|
+
var _item$split = item.split('='),
|
|
1295
|
+
k = _item$split[0],
|
|
1296
|
+
value = _item$split[1];
|
|
1297
|
+
if (k) {
|
|
1298
|
+
var decodedKey = decodeURIComponent(k);
|
|
1299
|
+
var decodedValue = decodeURIComponent(value || '');
|
|
1300
|
+
|
|
1301
|
+
// 处理重复参数,保存为数组
|
|
1302
|
+
if (params[decodedKey] !== undefined) {
|
|
1303
|
+
if (!(0, _isArray.default)(params[decodedKey])) {
|
|
1304
|
+
params[decodedKey] = [params[decodedKey]];
|
|
1305
|
+
}
|
|
1306
|
+
params[decodedKey].push(decodedValue);
|
|
1307
|
+
} else {
|
|
1308
|
+
params[decodedKey] = decodedValue;
|
|
1309
|
+
}
|
|
1310
|
+
}
|
|
1311
|
+
});
|
|
1312
|
+
}
|
|
1313
|
+
return name ? params[name] || '' : params;
|
|
1162
1314
|
};
|
|
1163
1315
|
|
|
1164
1316
|
/**
|
|
@@ -1166,7 +1318,8 @@ var getParams = exports.getParams = function getParams(key, url) {
|
|
|
1166
1318
|
* @desc 获取并执行JS文件
|
|
1167
1319
|
* @author huangbo
|
|
1168
1320
|
* @date 2022年5月7日
|
|
1169
|
-
* @param {String}
|
|
1321
|
+
* @param {String} url - 脚本地址
|
|
1322
|
+
* @return {Promise} Promise对象
|
|
1170
1323
|
**/
|
|
1171
1324
|
var getScript = exports.getScript = function getScript(url) {
|
|
1172
1325
|
return new _promise.default(function (resolve, reject) {
|
|
@@ -1191,6 +1344,7 @@ var getScript = exports.getScript = function getScript(url) {
|
|
|
1191
1344
|
* @date 2022年5月7日
|
|
1192
1345
|
* @param {Element} [el] - dom元素
|
|
1193
1346
|
* @param {String} [style] - 样式名称
|
|
1347
|
+
* @return {string} 样式值
|
|
1194
1348
|
**/
|
|
1195
1349
|
var getStyle = exports.getStyle = function getStyle(el, style) {
|
|
1196
1350
|
if (!el || !style) return '';
|
|
@@ -1215,6 +1369,7 @@ var getStyle = exports.getStyle = function getStyle(el, style) {
|
|
|
1215
1369
|
* @author huangbo
|
|
1216
1370
|
* @date 2022年5月7日
|
|
1217
1371
|
* @param {String} [type] - 类型
|
|
1372
|
+
* @return {string} 转换后的类型文本
|
|
1218
1373
|
**/
|
|
1219
1374
|
var getTypeName = exports.getTypeName = function getTypeName(type) {
|
|
1220
1375
|
if (!type) return '';
|
|
@@ -1240,8 +1395,9 @@ var getTypeName = exports.getTypeName = function getTypeName(type) {
|
|
|
1240
1395
|
* @desc 处理数据获取值
|
|
1241
1396
|
* @author huangbo
|
|
1242
1397
|
* @date 2022年5月7日
|
|
1243
|
-
* @param {
|
|
1398
|
+
* @param {Object} [obj] - 数据源
|
|
1244
1399
|
* @param {String} [key] - 键名,支持a.b.c形式
|
|
1400
|
+
* @return {*} 获取的值
|
|
1245
1401
|
**/
|
|
1246
1402
|
var getValues = exports.getValues = function getValues(obj, key) {
|
|
1247
1403
|
if (!obj || !key) return obj;
|
|
@@ -1259,6 +1415,7 @@ var getValues = exports.getValues = function getValues(obj, key) {
|
|
|
1259
1415
|
* @desc 获取缩放比
|
|
1260
1416
|
* @author huangbo
|
|
1261
1417
|
* @date 2022年5月7日
|
|
1418
|
+
* @return {number} 缩放比例
|
|
1262
1419
|
**/
|
|
1263
1420
|
var getZoom = exports.getZoom = function getZoom() {
|
|
1264
1421
|
// 获取当前页面的缩放比例
|
|
@@ -1289,6 +1446,7 @@ var getZoom = exports.getZoom = function getZoom() {
|
|
|
1289
1446
|
* @desc 获取同域top窗口
|
|
1290
1447
|
* @author huangbo
|
|
1291
1448
|
* @date 2022年5月7日
|
|
1449
|
+
* @return {Window} 同域的top窗口
|
|
1292
1450
|
**/
|
|
1293
1451
|
var getMyWinTop = exports.getMyWinTop = function getMyWinTop() {
|
|
1294
1452
|
var win = window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
|
|
@@ -1312,6 +1470,7 @@ var getMyWinTop = exports.getMyWinTop = function getMyWinTop() {
|
|
|
1312
1470
|
* @author huangbo
|
|
1313
1471
|
* @date 2022年5月7日
|
|
1314
1472
|
* @param {String} [str] - 字符串
|
|
1473
|
+
* @return {number} 字符个数(中文算2个,其他算1个)
|
|
1315
1474
|
**/
|
|
1316
1475
|
var getLength = exports.getLength = function getLength(str) {
|
|
1317
1476
|
if (!str) return 0;
|
|
@@ -1336,6 +1495,7 @@ var getLength = exports.getLength = function getLength(str) {
|
|
|
1336
1495
|
* @author huangbo
|
|
1337
1496
|
* @date 2022年5月7日
|
|
1338
1497
|
* @param {String} [url] - url地址
|
|
1498
|
+
* @return {string} 更新时间戳后的url
|
|
1339
1499
|
**/
|
|
1340
1500
|
var timestampUrl = exports.timestampUrl = function timestampUrl(url) {
|
|
1341
1501
|
if (!url) return '';
|
|
@@ -1357,7 +1517,8 @@ var timestampUrl = exports.timestampUrl = function timestampUrl(url) {
|
|
|
1357
1517
|
* @author huangbo
|
|
1358
1518
|
* @date 2022年5月7日
|
|
1359
1519
|
* @param {String} [str] - 被检测字符串
|
|
1360
|
-
* @param {String} [chars] - 目标字符
|
|
1520
|
+
* @param {String|Array} [chars] - 目标字符
|
|
1521
|
+
* @return {boolean} 是否包含目标字符
|
|
1361
1522
|
**/
|
|
1362
1523
|
var hasChars = exports.hasChars = function hasChars(str, chars) {
|
|
1363
1524
|
if (!str || !chars) return false;
|
|
@@ -1379,8 +1540,9 @@ var hasChars = exports.hasChars = function hasChars(str, chars) {
|
|
|
1379
1540
|
* @desc 验证值是否相同
|
|
1380
1541
|
* @author huangbo
|
|
1381
1542
|
* @date 2022年5月7日
|
|
1382
|
-
* @param {
|
|
1383
|
-
* @param {
|
|
1543
|
+
* @param {*} [a] - 第一个值
|
|
1544
|
+
* @param {*} [b] - 第二个值
|
|
1545
|
+
* @return {boolean} 值是否相同
|
|
1384
1546
|
**/
|
|
1385
1547
|
var _identical = exports.identical = function identical(a, b) {
|
|
1386
1548
|
// 如果是严格相等,直接返回
|
|
@@ -1425,7 +1587,8 @@ var _identical = exports.identical = function identical(a, b) {
|
|
|
1425
1587
|
* @date 2022年5月7日
|
|
1426
1588
|
* @param {Array} [arr] - 源数组
|
|
1427
1589
|
* @param {String} [key] - 键名
|
|
1428
|
-
* @param {
|
|
1590
|
+
* @param {*} [value] - 键值
|
|
1591
|
+
* @return {number} 数组下标,没找到返回-1
|
|
1429
1592
|
**/
|
|
1430
1593
|
var indexOfObj = exports.indexOfObj = function indexOfObj(arr, key, value) {
|
|
1431
1594
|
if (!(0, _isArray.default)(arr) || !key) return -1;
|
|
@@ -1442,7 +1605,8 @@ var indexOfObj = exports.indexOfObj = function indexOfObj(arr, key, value) {
|
|
|
1442
1605
|
* @desc 判断是否为空
|
|
1443
1606
|
* @author huangbo
|
|
1444
1607
|
* @date 2022年5月7日
|
|
1445
|
-
* @param {
|
|
1608
|
+
* @param {*} [value] - 任意值
|
|
1609
|
+
* @return {boolean} 是否为空
|
|
1446
1610
|
**/
|
|
1447
1611
|
var isEmpty = exports.isEmpty = function isEmpty(value) {
|
|
1448
1612
|
if (value === undefined || value === null) {
|
|
@@ -1465,7 +1629,8 @@ var isEmpty = exports.isEmpty = function isEmpty(value) {
|
|
|
1465
1629
|
* @desc 判断是否存在
|
|
1466
1630
|
* @author huangbo
|
|
1467
1631
|
* @date 2022年5月7日
|
|
1468
|
-
* @param {
|
|
1632
|
+
* @param {*} [value] - 任意值
|
|
1633
|
+
* @return {boolean} 是否存在
|
|
1469
1634
|
**/
|
|
1470
1635
|
var isExist = exports.isExist = function isExist(value) {
|
|
1471
1636
|
return value !== undefined && value !== null;
|
|
@@ -1476,7 +1641,8 @@ var isExist = exports.isExist = function isExist(value) {
|
|
|
1476
1641
|
* @desc 判断是否是函数
|
|
1477
1642
|
* @author huangbo
|
|
1478
1643
|
* @date 2022年5月7日
|
|
1479
|
-
* @param {
|
|
1644
|
+
* @param {*} [value] - 任意值
|
|
1645
|
+
* @return {boolean} 是否是函数
|
|
1480
1646
|
**/
|
|
1481
1647
|
var isFunction = exports.isFunction = function isFunction(value) {
|
|
1482
1648
|
return typeof value === 'function';
|
|
@@ -1487,8 +1653,9 @@ var isFunction = exports.isFunction = function isFunction(value) {
|
|
|
1487
1653
|
* @desc 判断对象是否相等
|
|
1488
1654
|
* @author huangbo
|
|
1489
1655
|
* @date 2022年5月7日
|
|
1490
|
-
* @param {
|
|
1491
|
-
* @param {
|
|
1656
|
+
* @param {*} [a] - 第一个值
|
|
1657
|
+
* @param {*} [b] - 第二个值
|
|
1658
|
+
* @return {boolean} 对象是否相等
|
|
1492
1659
|
**/
|
|
1493
1660
|
var _isObjectEqual = exports.isObjectEqual = function isObjectEqual(a, b) {
|
|
1494
1661
|
// 如果两者严格相等,直接返回true
|
|
@@ -1547,26 +1714,19 @@ var _isObjectEqual = exports.isObjectEqual = function isObjectEqual(a, b) {
|
|
|
1547
1714
|
return true;
|
|
1548
1715
|
};
|
|
1549
1716
|
|
|
1550
|
-
/**
|
|
1551
|
-
* joinUrl
|
|
1552
|
-
* @desc:判断url地址是否以字符开头,没有则添加
|
|
1553
|
-
* @author huangbo
|
|
1554
|
-
* @date 2022年5月7日
|
|
1555
|
-
* @param {string} [reg] - 域名或者路径
|
|
1556
|
-
* @param {string/array} [url] - 地址
|
|
1557
|
-
* @param {boolean} [single] - 是否做js沙箱隔离
|
|
1558
|
-
**/
|
|
1559
1717
|
/**
|
|
1560
1718
|
* joinUrl
|
|
1561
1719
|
* @desc 拼接路径
|
|
1562
1720
|
* @author huangbo
|
|
1563
1721
|
* @date 2022年5月7日
|
|
1564
|
-
* @param {
|
|
1565
|
-
* @param {string
|
|
1722
|
+
* @param {Object} options - 参数选项
|
|
1723
|
+
* @param {string} options.url - 地址
|
|
1724
|
+
* @param {string|array} options.reg - 域名或者路径前缀
|
|
1725
|
+
* @return {string} 拼接后的url
|
|
1566
1726
|
**/
|
|
1567
|
-
var joinUrl = exports.joinUrl = function joinUrl(
|
|
1568
|
-
var url =
|
|
1569
|
-
reg =
|
|
1727
|
+
var joinUrl = exports.joinUrl = function joinUrl(_ref6) {
|
|
1728
|
+
var url = _ref6.url,
|
|
1729
|
+
reg = _ref6.reg;
|
|
1570
1730
|
// 类型检查
|
|
1571
1731
|
if (typeof url !== 'string') {
|
|
1572
1732
|
return url;
|
|
@@ -1618,7 +1778,7 @@ var joinUrl = exports.joinUrl = function joinUrl(_ref5) {
|
|
|
1618
1778
|
* @desc 加载JS文件
|
|
1619
1779
|
* @author huangbo
|
|
1620
1780
|
* @date 2022年5月7日
|
|
1621
|
-
* @param {String}
|
|
1781
|
+
* @param {String} url - JS文件地址
|
|
1622
1782
|
* @param {Function} [callback] - 回调函数
|
|
1623
1783
|
**/
|
|
1624
1784
|
var loadJs = exports.loadJs = function loadJs(url, callback) {
|
|
@@ -1637,7 +1797,8 @@ var loadJs = exports.loadJs = function loadJs(url, callback) {
|
|
|
1637
1797
|
* @desc 加载动画
|
|
1638
1798
|
* @author huangbo
|
|
1639
1799
|
* @date 2022年5月7日
|
|
1640
|
-
* @param {String} [text] - 提示文本
|
|
1800
|
+
* @param {String} [text='请求中...'] - 提示文本
|
|
1801
|
+
* @return {Object} Loading实例
|
|
1641
1802
|
**/
|
|
1642
1803
|
var loading = exports.loading = function loading(text) {
|
|
1643
1804
|
if (text === void 0) {
|
|
@@ -1656,6 +1817,7 @@ var loading = exports.loading = function loading(text) {
|
|
|
1656
1817
|
* @author huangbo
|
|
1657
1818
|
* @date 2022年5月7日
|
|
1658
1819
|
* @param {String} [str] - 字符串
|
|
1820
|
+
* @return {string} 转换后的字符串
|
|
1659
1821
|
**/
|
|
1660
1822
|
var lowerCase = exports.lowerCase = function lowerCase(str) {
|
|
1661
1823
|
if (typeof str !== 'string') return str;
|
|
@@ -1668,6 +1830,7 @@ var lowerCase = exports.lowerCase = function lowerCase(str) {
|
|
|
1668
1830
|
* @author huangbo
|
|
1669
1831
|
* @date 2022年5月7日
|
|
1670
1832
|
* @param {Element} [el] - dom元素
|
|
1833
|
+
* @return {boolean} 是否溢出
|
|
1671
1834
|
**/
|
|
1672
1835
|
var overbrim = exports.overbrim = function overbrim(el) {
|
|
1673
1836
|
if (!el) return false;
|
|
@@ -1698,6 +1861,7 @@ var overbrim = exports.overbrim = function overbrim(el) {
|
|
|
1698
1861
|
* @author huangbo
|
|
1699
1862
|
* @date 2022年5月7日
|
|
1700
1863
|
* @param {Object} [obj] - 源对象
|
|
1864
|
+
* @return {string} URL参数字符串
|
|
1701
1865
|
**/
|
|
1702
1866
|
var queryParams = exports.queryParams = function queryParams(obj) {
|
|
1703
1867
|
if (!obj || typeof obj !== 'object') return '';
|
|
@@ -1727,6 +1891,7 @@ var queryParams = exports.queryParams = function queryParams(obj) {
|
|
|
1727
1891
|
* @author huangbo
|
|
1728
1892
|
* @date 2022年5月7日
|
|
1729
1893
|
* @param {Function} [callback] - 回调函数
|
|
1894
|
+
* @return {Function} 移除监听器的函数
|
|
1730
1895
|
**/
|
|
1731
1896
|
var receiveMessage = exports.receiveMessage = function receiveMessage(callback) {
|
|
1732
1897
|
var handleMessage = function handleMessage(event) {
|
|
@@ -1748,7 +1913,8 @@ var receiveMessage = exports.receiveMessage = function receiveMessage(callback)
|
|
|
1748
1913
|
* @author huangbo
|
|
1749
1914
|
* @date 2022年5月7日
|
|
1750
1915
|
* @param {Number} [num] - 数字
|
|
1751
|
-
* @param {Number} [digits] - 小数位数
|
|
1916
|
+
* @param {Number} [digits=2] - 小数位数
|
|
1917
|
+
* @return {string} 补全后的数字字符串
|
|
1752
1918
|
**/
|
|
1753
1919
|
var replenish = exports.replenish = function replenish(num, digits) {
|
|
1754
1920
|
if (digits === void 0) {
|
|
@@ -1767,6 +1933,7 @@ var replenish = exports.replenish = function replenish(num, digits) {
|
|
|
1767
1933
|
* @author huangbo
|
|
1768
1934
|
* @date 2022年5月7日
|
|
1769
1935
|
* @param {Number} [num] - 金额
|
|
1936
|
+
* @return {string} 人民币大写
|
|
1770
1937
|
**/
|
|
1771
1938
|
var rmbToCapital = exports.rmbToCapital = function rmbToCapital(num) {
|
|
1772
1939
|
// 检查输入是否为数字
|
|
@@ -1867,12 +2034,13 @@ var setScale = exports.setScale = function setScale(scale) {
|
|
|
1867
2034
|
* @desc 向iframe发送信息
|
|
1868
2035
|
* @author huangbo
|
|
1869
2036
|
* @date 2022年5月7日
|
|
1870
|
-
* @param {
|
|
1871
|
-
* @param {
|
|
2037
|
+
* @param {Object} options - 参数选项
|
|
2038
|
+
* @param {String} options.id - iframe元素id
|
|
2039
|
+
* @param {Object} options.data - 发送的数据
|
|
1872
2040
|
**/
|
|
1873
|
-
var sendMessage = exports.sendMessage = function sendMessage(
|
|
1874
|
-
var id =
|
|
1875
|
-
data =
|
|
2041
|
+
var sendMessage = exports.sendMessage = function sendMessage(_ref7) {
|
|
2042
|
+
var id = _ref7.id,
|
|
2043
|
+
data = _ref7.data;
|
|
1876
2044
|
var iframe = document.getElementById(id);
|
|
1877
2045
|
if (!iframe) {
|
|
1878
2046
|
console.error("iframe with id " + id + " not found");
|
|
@@ -1891,7 +2059,7 @@ var sendMessage = exports.sendMessage = function sendMessage(_ref6) {
|
|
|
1891
2059
|
* @desc 设置浏览器图标
|
|
1892
2060
|
* @author huangbo
|
|
1893
2061
|
* @date 2022年5月7日
|
|
1894
|
-
* @param {String}
|
|
2062
|
+
* @param {String} url - 图标URL
|
|
1895
2063
|
**/
|
|
1896
2064
|
var setFavicon = exports.setFavicon = function setFavicon(url) {
|
|
1897
2065
|
if (!url) {
|
|
@@ -1923,7 +2091,8 @@ var setFavicon = exports.setFavicon = function setFavicon(url) {
|
|
|
1923
2091
|
* @desc 求和
|
|
1924
2092
|
* @author huangbo
|
|
1925
2093
|
* @date 2022年5月7日
|
|
1926
|
-
* @param {...number}
|
|
2094
|
+
* @param {...number} numbers - 数字
|
|
2095
|
+
* @return {number} 数字的总和
|
|
1927
2096
|
**/
|
|
1928
2097
|
var sum = exports.sum = function sum() {
|
|
1929
2098
|
for (var _len4 = arguments.length, numbers = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
@@ -1946,6 +2115,7 @@ var sum = exports.sum = function sum() {
|
|
|
1946
2115
|
* @date 2022年5月7日
|
|
1947
2116
|
* @param {String} [str] - 源字符串
|
|
1948
2117
|
* @param {String} [searchString] - 搜索字符串
|
|
2118
|
+
* @return {boolean} 是否以指定字符开头
|
|
1949
2119
|
**/
|
|
1950
2120
|
var startWith = exports.startWith = function startWith(str, searchString) {
|
|
1951
2121
|
if (typeof str !== 'string' || typeof searchString !== 'string') {
|
|
@@ -1961,6 +2131,7 @@ var startWith = exports.startWith = function startWith(str, searchString) {
|
|
|
1961
2131
|
* @date 2022年5月7日
|
|
1962
2132
|
* @param {String} [str] - 源字符串
|
|
1963
2133
|
* @param {Number} [length] - 提取长度
|
|
2134
|
+
* @return {string} 提取后的字符串
|
|
1964
2135
|
**/
|
|
1965
2136
|
var takeLeft = exports.takeLeft = function takeLeft(str, length) {
|
|
1966
2137
|
if (typeof str !== 'string' || typeof length !== 'number' || length < 0) {
|
|
@@ -1976,6 +2147,7 @@ var takeLeft = exports.takeLeft = function takeLeft(str, length) {
|
|
|
1976
2147
|
* @date 2022年5月7日
|
|
1977
2148
|
* @param {String} [str] - 源字符串
|
|
1978
2149
|
* @param {Number} [length] - 提取长度
|
|
2150
|
+
* @return {string} 提取后的字符串
|
|
1979
2151
|
**/
|
|
1980
2152
|
var takeRight = exports.takeRight = function takeRight(str, length) {
|
|
1981
2153
|
if (typeof str !== 'string' || typeof length !== 'number' || length < 0) {
|
|
@@ -1990,6 +2162,7 @@ var takeRight = exports.takeRight = function takeRight(str, length) {
|
|
|
1990
2162
|
* @author huangbo
|
|
1991
2163
|
* @date 2022年5月7日
|
|
1992
2164
|
* @param {String} [str] - 源字符串
|
|
2165
|
+
* @return {string} 删除空格后的字符串
|
|
1993
2166
|
**/
|
|
1994
2167
|
var trimWhitespace = exports.trimWhitespace = function trimWhitespace(str) {
|
|
1995
2168
|
if (typeof str !== 'string') {
|
|
@@ -2004,7 +2177,8 @@ var trimWhitespace = exports.trimWhitespace = function trimWhitespace(str) {
|
|
|
2004
2177
|
* @author huangbo
|
|
2005
2178
|
* @date 2022年5月7日
|
|
2006
2179
|
* @param {Number} [num] - 浮点数
|
|
2007
|
-
* @param {Number} [digits] - 小数位数
|
|
2180
|
+
* @param {Number} [digits=2] - 小数位数
|
|
2181
|
+
* @return {number} 保留小数位后的数字
|
|
2008
2182
|
**/
|
|
2009
2183
|
var toFixed = exports.toFixed = function toFixed(num, digits) {
|
|
2010
2184
|
if (digits === void 0) {
|
|
@@ -2023,6 +2197,7 @@ var toFixed = exports.toFixed = function toFixed(num, digits) {
|
|
|
2023
2197
|
* @author huangbo
|
|
2024
2198
|
* @date 2022年5月7日
|
|
2025
2199
|
* @param {String} [str] - 函数字符串
|
|
2200
|
+
* @return {Function|null} 转换后的函数或null
|
|
2026
2201
|
**/
|
|
2027
2202
|
var toFunction = exports.toFunction = function toFunction(str) {
|
|
2028
2203
|
if (typeof str !== 'string') {
|
|
@@ -2071,6 +2246,7 @@ var updateTheme = exports.updateTheme = function updateTheme(color) {
|
|
|
2071
2246
|
* @author huangbo
|
|
2072
2247
|
* @date 2022年5月7日
|
|
2073
2248
|
* @param {String} [str] - 字符串
|
|
2249
|
+
* @return {string} 转换后的字符串
|
|
2074
2250
|
**/
|
|
2075
2251
|
var upperType = exports.upperType = function upperType(str) {
|
|
2076
2252
|
if (typeof str !== 'string') {
|
|
@@ -2084,25 +2260,47 @@ var upperType = exports.upperType = function upperType(str) {
|
|
|
2084
2260
|
* @desc 对象转url拼接参数
|
|
2085
2261
|
* @author huangbo
|
|
2086
2262
|
* @date 2022年5月7日
|
|
2087
|
-
* @param {String} [url] - 源url
|
|
2088
|
-
* @param {Object} [params] - 参数对象
|
|
2263
|
+
* @param {String} [options.url] - 源url
|
|
2264
|
+
* @param {Object} [options.params] - 参数对象
|
|
2265
|
+
* @param {Boolean} [options.timestamp] - 是否添加时间戳
|
|
2089
2266
|
**/
|
|
2090
|
-
var urlJoinParams = exports.urlJoinParams = function urlJoinParams(
|
|
2267
|
+
var urlJoinParams = exports.urlJoinParams = function urlJoinParams(_temp2) {
|
|
2268
|
+
var _ref8 = _temp2 === void 0 ? {} : _temp2,
|
|
2269
|
+
_ref8$url = _ref8.url,
|
|
2270
|
+
url = _ref8$url === void 0 ? '' : _ref8$url,
|
|
2271
|
+
_ref8$params = _ref8.params,
|
|
2272
|
+
params = _ref8$params === void 0 ? {} : _ref8$params,
|
|
2273
|
+
_ref8$timestamp = _ref8.timestamp,
|
|
2274
|
+
timestamp = _ref8$timestamp === void 0 ? false : _ref8$timestamp;
|
|
2091
2275
|
if (typeof url !== 'string') {
|
|
2092
|
-
return
|
|
2276
|
+
return '';
|
|
2093
2277
|
}
|
|
2094
|
-
if (!
|
|
2095
|
-
return
|
|
2278
|
+
if (!url) {
|
|
2279
|
+
return '';
|
|
2280
|
+
}
|
|
2281
|
+
// 处理URL中的锚点
|
|
2282
|
+
var urlWithoutHash = url;
|
|
2283
|
+
var hash = '';
|
|
2284
|
+
var hashIndex = (0, _indexOf.default)(url).call(url, '#');
|
|
2285
|
+
if (hashIndex > -1) {
|
|
2286
|
+
urlWithoutHash = (0, _slice.default)(url).call(url, 0, hashIndex);
|
|
2287
|
+
hash = (0, _slice.default)(url).call(url, hashIndex);
|
|
2288
|
+
}
|
|
2289
|
+
// 复制参数对象以避免修改原对象
|
|
2290
|
+
var paramsCopy = _extends({}, params);
|
|
2291
|
+
// 添加时间戳
|
|
2292
|
+
if (timestamp) {
|
|
2293
|
+
paramsCopy._t = (0, _now.default)();
|
|
2096
2294
|
}
|
|
2097
2295
|
// 将参数对象转换为URL参数字符串
|
|
2098
|
-
var queryString = queryParams(
|
|
2296
|
+
var queryString = queryParams(paramsCopy);
|
|
2099
2297
|
if (!queryString) {
|
|
2100
2298
|
return url;
|
|
2101
2299
|
}
|
|
2102
2300
|
// 检查URL是否已经包含查询参数
|
|
2103
|
-
var hasQuery = (0, _includes.default)(
|
|
2301
|
+
var hasQuery = (0, _includes.default)(urlWithoutHash).call(urlWithoutHash, '?');
|
|
2104
2302
|
// 拼接URL和查询参数
|
|
2105
|
-
return "" +
|
|
2303
|
+
return "" + urlWithoutHash + (hasQuery ? '&' : '?') + queryString + hash;
|
|
2106
2304
|
};
|
|
2107
2305
|
|
|
2108
2306
|
/**
|
|
@@ -2207,11 +2405,11 @@ var watermark = exports.watermark = function watermark(text, options) {
|
|
|
2207
2405
|
* @param {String} [target] - 打开方式
|
|
2208
2406
|
* @param {String} [name] - 窗口名称
|
|
2209
2407
|
**/
|
|
2210
|
-
var winTopOpen = exports.winTopOpen = function winTopOpen(
|
|
2211
|
-
var url =
|
|
2212
|
-
|
|
2213
|
-
target =
|
|
2214
|
-
name =
|
|
2408
|
+
var winTopOpen = exports.winTopOpen = function winTopOpen(_ref9) {
|
|
2409
|
+
var url = _ref9.url,
|
|
2410
|
+
_ref9$target = _ref9.target,
|
|
2411
|
+
target = _ref9$target === void 0 ? '_blank' : _ref9$target,
|
|
2412
|
+
name = _ref9.name;
|
|
2215
2413
|
try {
|
|
2216
2414
|
if (target === '_blank') {
|
|
2217
2415
|
window.top.open(url, name);
|