mazey 1.4.37 → 2.0.0

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/index.cjs.js CHANGED
@@ -2419,6 +2419,10 @@ if (NOT_GENERIC || INCORRECT_NAME) {
2419
2419
  }, { unsafe: true });
2420
2420
  }
2421
2421
 
2422
+ _export({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
2423
+ exec: regexpExec
2424
+ });
2425
+
2422
2426
  // TODO: Remove from `core-js@4` since it's moved to entry points
2423
2427
 
2424
2428
 
@@ -2984,7 +2988,28 @@ function _typeof(obj) {
2984
2988
  module.exports = _typeof;
2985
2989
  });
2986
2990
 
2987
- /* Deal */
2991
+ /*! *****************************************************************************
2992
+ Copyright (c) Microsoft Corporation.
2993
+
2994
+ Permission to use, copy, modify, and/or distribute this software for any
2995
+ purpose with or without fee is hereby granted.
2996
+
2997
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
2998
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
2999
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
3000
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
3001
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
3002
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
3003
+ PERFORMANCE OF THIS SOFTWARE.
3004
+ ***************************************************************************** */
3005
+
3006
+ function __spreadArrays() {
3007
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
3008
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
3009
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
3010
+ r[k] = a[j];
3011
+ return r;
3012
+ }
2988
3013
 
2989
3014
  /**
2990
3015
  * @method calLongestCommonSubstring
@@ -2993,7 +3018,16 @@ module.exports = _typeof;
2993
3018
  * @param {String} bStr 字符串
2994
3019
  * @return {Number} 长度
2995
3020
  */
3021
+
2996
3022
  function calLongestCommonSubstring(aStr, bStr) {
3023
+ if (aStr === void 0) {
3024
+ aStr = '';
3025
+ }
3026
+
3027
+ if (bStr === void 0) {
3028
+ bStr = '';
3029
+ }
3030
+
2997
3031
  var aLen = aStr.length;
2998
3032
  var bLen = bStr.length; // 创建二维数组并且深拷贝
2999
3033
 
@@ -3028,6 +3062,14 @@ function calLongestCommonSubstring(aStr, bStr) {
3028
3062
  */
3029
3063
 
3030
3064
  function calLongestCommonSubsequence(aStr, bStr) {
3065
+ if (aStr === void 0) {
3066
+ aStr = '';
3067
+ }
3068
+
3069
+ if (bStr === void 0) {
3070
+ bStr = '';
3071
+ }
3072
+
3031
3073
  var aLen = aStr.length;
3032
3074
  var bLen = bStr.length; // 创建二维数组并且深拷贝
3033
3075
 
@@ -3068,148 +3110,178 @@ function calLongestCommonSubsequence(aStr, bStr) {
3068
3110
  return maxLong;
3069
3111
  }
3070
3112
  /**
3071
- * @method join
3072
- * @description 将一系列值连接成固定字符分隔的字符串 123,456 => 123 - 456。
3073
- * @param {String} joinStr 连接值的字符串。
3074
- * @param {Rest} ...rest 需要连接的值 。
3113
+ * @method getQueryParam
3114
+ * @description Get the query param's value of the current Web URL(`location.search`).
3115
+ * @param {String} param Query param.
3116
+ * @return {String} value
3075
3117
  * */
3076
3118
 
3077
- function join(joinStr) {
3078
- var rest = [];
3079
-
3080
- for (var _i = 1; _i < arguments.length; _i++) {
3081
- rest[_i - 1] = arguments[_i];
3119
+ function getQueryParam(param) {
3120
+ if (param === void 0) {
3121
+ param = '';
3082
3122
  }
3083
3123
 
3084
- var ret = '';
3085
- var len = joinStr.length;
3086
-
3087
- for (var _a = 0, rest_1 = rest; _a < rest_1.length; _a++) {
3088
- var v = rest_1[_a];
3089
-
3090
- if (v) {
3091
- ret += "" + joinStr + v;
3092
- }
3093
- }
3124
+ var reg = new RegExp('(^|&)' + param + '=([^&]*)(&|$)');
3125
+ var r = location.search.substr(1).match(reg);
3094
3126
 
3095
- if (ret) {
3096
- ret = ret.substring(len);
3127
+ if (r !== null) {
3128
+ return decodeURIComponent(unescape(r[2]));
3097
3129
  }
3098
3130
 
3099
- return ret;
3131
+ return '';
3100
3132
  }
3101
3133
  /**
3102
- * @method renderTable
3103
- * @description 渲染表格
3104
- * @param {DOM Object} tbID
3105
- * @param {Array} data
3106
- * @param {Array} property
3107
- */
3134
+ * @method getUrlParam
3135
+ * @description Get the query param's value of the input URL.
3136
+ * @param {String} url URL string.
3137
+ * @param {String} param Query param.
3138
+ * @return {String} value
3139
+ * */
3108
3140
 
3109
- function renderTable(tbID, data, property) {
3110
- if (tbID === void 0) {
3111
- tbID = null;
3141
+ function getUrlParam(url, param) {
3142
+ if (url === void 0) {
3143
+ url = '';
3112
3144
  }
3113
3145
 
3114
- if (data === void 0) {
3115
- data = [];
3146
+ if (param === void 0) {
3147
+ param = '';
3116
3148
  }
3117
3149
 
3118
- if (property === void 0) {
3119
- property = [];
3120
- }
3150
+ var result = {}; // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace
3121
3151
 
3122
- var TBODY = document.querySelector("#" + tbID + " tbody");
3152
+ url.replace(/\??(\w+)=([^&]*)&?/g, function (a, k, v) {
3153
+ if (result[k] !== undefined) {
3154
+ var t = result[k];
3155
+ result[k] = [].concat(t, v);
3156
+ } else {
3157
+ result[k] = v;
3158
+ }
3159
+ }); // if (param === undefined) {
3160
+ // return result;
3161
+ // } else {
3162
+ // return result[param] || '';
3163
+ // }
3164
+
3165
+ return result[param] || '';
3166
+ }
3167
+ /**
3168
+ * @method updateQueryParam
3169
+ * @description Update the query param's value of the input URL.
3170
+ * @param {String} url URL string.
3171
+ * @param {String} param Query param.
3172
+ * @param {String} value Param's value.
3173
+ * @return {String} URL.
3174
+ * */
3123
3175
 
3124
- function mNullToNA(str) {
3125
- return str === null ? 'N.A.' : str;
3176
+ function updateQueryParam(url, param, value) {
3177
+ if (url === void 0) {
3178
+ url = '';
3126
3179
  }
3127
3180
 
3128
- var content = '';
3129
- TBODY.innerHTML = ''; // 无数据
3181
+ if (param === void 0) {
3182
+ param = '';
3183
+ }
3130
3184
 
3131
- if (!data.length) {
3132
- content = "<tr><td colspan=\"" + property.length + "\">\u65E0\u6570\u636E</td></tr>";
3133
- } else {
3134
- for (var _a = [0, data.length], i = _a[0], max = _a[1]; i < max; ++i) {
3135
- var item = data[i];
3136
- content += '<tr>';
3185
+ if (value === void 0) {
3186
+ value = '';
3187
+ }
3137
3188
 
3138
- for (var _b = [0, property.length], i_1 = _b[0], max_1 = _b[1]; i_1 < max_1; ++i_1) {
3139
- content += "<td>" + mNullToNA(item[property[i_1]]) + "</td>";
3140
- }
3189
+ var re = new RegExp('([?&])' + param + '=.*?(&|$)', 'i');
3190
+ var separator = url.indexOf('?') !== -1 ? '&' : '?';
3141
3191
 
3142
- content += '</tr>';
3143
- }
3192
+ if (url.match(re)) {
3193
+ return url.replace(re, '$1' + param + '=' + value + '$2');
3194
+ } else {
3195
+ return url + separator + param + '=' + value;
3144
3196
  }
3145
-
3146
- TBODY.innerHTML = content;
3147
3197
  }
3148
3198
  /**
3149
3199
  * @method getHashQueryParam
3150
- * @description 获取地址栏 hash 后面的参数。
3151
- * @param {String} param 获取参数的名字。
3200
+ * @description Get the hash query param's value of the current Web URL(`location.hash`).
3201
+ * @param {String} param Query param.
3202
+ * @return {String} value
3152
3203
  */
3153
3204
 
3154
3205
  function getHashQueryParam(param) {
3155
- var hashs = window.location.hash.split('?');
3206
+ if (param === void 0) {
3207
+ param = '';
3208
+ }
3209
+
3210
+ var hashs = location.hash.split('?');
3156
3211
 
3157
3212
  if (hashs.length === 1) {
3158
- return null;
3213
+ return '';
3159
3214
  }
3160
3215
 
3161
3216
  var reg = new RegExp("(^|&)" + param + "=([^&]*)(&|$)");
3162
3217
  var ret = hashs[1].match(reg);
3163
- return ret ? ret[2] : null;
3218
+ return ret ? ret[2] : '';
3219
+ }
3220
+ /**
3221
+ * @method getDomain
3222
+ * @description Get the domain of URL, and other params.
3223
+ * @param {String} url
3224
+ * @param {Array} rules Object.keys(location), ['href', 'protocol', 'host', 'hostname', 'port', 'pathname', 'search', 'hash'], ['hostname', 'pathname'] = 'km.mazey.net/plugins/servlet/mobile'
3225
+ * */
3226
+
3227
+ function getDomain(url, rules) {
3228
+ if (url === void 0) {
3229
+ url = '';
3230
+ }
3231
+
3232
+ if (rules === void 0) {
3233
+ rules = ['hostname'];
3234
+ }
3235
+
3236
+ var aEl = document.createElement('a');
3237
+ aEl.href = url;
3238
+ return rules.reduce(function (ret, v) {
3239
+ ret += aEl[v];
3240
+ return ret;
3241
+ }, '');
3164
3242
  }
3165
3243
  /**
3166
3244
  * @method camelCaseToKebabCase
3167
- * @description 驼峰转连接线。
3168
- * @param {String} camelCase
3245
+ * @description Transfer CamelCase to KebabCase.
3246
+ * @param {String} camelCase 'aBC' or 'ABC'
3247
+ * @return {String} 'a-b-c'
3169
3248
  * */
3170
3249
 
3171
3250
  function camelCaseToKebabCase(camelCase) {
3251
+ if (camelCase === void 0) {
3252
+ camelCase = '';
3253
+ }
3254
+
3172
3255
  var kebabCase = camelCase.replace(/([A-Z])/g, '-$1').toLowerCase();
3173
3256
  return kebabCase[0] === '-' ? kebabCase.substr(1) : kebabCase;
3174
3257
  }
3175
3258
  /**
3176
3259
  * @method camelCase2Underscore
3177
- * @description 驼峰转下划线。
3178
- * @param {String} camelCase
3260
+ * @description Transfer CamelCase to Underscore.
3261
+ * @param {String} camelCase 'aBC' or 'ABC'
3262
+ * @return {String} 'a_b_c'
3179
3263
  * */
3180
3264
 
3181
3265
  function camelCase2Underscore(camelCase) {
3266
+ if (camelCase === void 0) {
3267
+ camelCase = '';
3268
+ }
3269
+
3182
3270
  var kebabCase = camelCase.replace(/([A-Z])/g, '_$1').toLowerCase();
3183
3271
  return kebabCase[0] === '_' ? kebabCase.substr(1) : kebabCase;
3184
3272
  }
3185
3273
  /**
3186
- * @method getDomain
3187
- * @description 获取地址中的域名(及其他参数)。
3188
- * @param {String} url
3189
- * @param {Array} rules ['hostname', 'pathname'] = 'km.mazey.net/plugins/servlet/mobile'
3274
+ * @method mTrim
3275
+ * @description Remove leading and trailing whitespace or specified characters from string.
3276
+ * @param {String} str The string to trim.
3277
+ * @return {String} Trimmed string.
3190
3278
  * */
3191
3279
 
3192
- function getDomain(_a) {
3193
- var _b = _a === void 0 ? {} : _a,
3194
- _c = _b.url,
3195
- url = _c === void 0 ? '' : _c,
3196
- _d = _b.rules,
3197
- rules = _d === void 0 ? ['hostname'] : _d;
3198
-
3199
- var aEl = document.createElement('a');
3200
- aEl.href = url;
3201
- return rules.reduce(function (ret, v, index) {
3202
- ret += aEl[v];
3203
- return ret;
3204
- }, '');
3205
- }
3206
- /**
3207
- * @method trim
3208
- * @description 去除左右空格。
3209
- * @param {String} str 需要去除两边空格的字符串。
3210
- * */
3280
+ function mTrim(str) {
3281
+ if (str === void 0) {
3282
+ str = '';
3283
+ }
3211
3284
 
3212
- function trim$1(str) {
3213
3285
  str = str.replace(/^\s+/, ''); // 去除头部空格
3214
3286
 
3215
3287
  var end = str.length - 1;
@@ -3223,11 +3295,16 @@ function trim$1(str) {
3223
3295
  }
3224
3296
  /**
3225
3297
  * @method newLine
3226
- * @description html换行。
3227
- * @param {String} str
3298
+ * @description Make a newline of HTML.
3299
+ * @param {String} str The string to make a newline.
3300
+ * @return {String} A newline with `<br />`.
3228
3301
  * */
3229
3302
 
3230
3303
  function newLine(str) {
3304
+ if (str === void 0) {
3305
+ str = '';
3306
+ }
3307
+
3231
3308
  if (!str) {
3232
3309
  return '';
3233
3310
  }
@@ -3237,22 +3314,48 @@ function newLine(str) {
3237
3314
  }
3238
3315
  /**
3239
3316
  * @method deepCopyObject
3240
- * @description 对象深拷贝。
3241
- * @param {Object} obj 被拷贝的对象。
3242
- * @return {Object}
3317
+ * @description Clone Object deeply.
3318
+ * @param {Object} obj The value to clone.
3319
+ * @return {Object} Returns the deep cloned value.
3243
3320
  * */
3244
3321
 
3245
3322
  function deepCopyObject(obj) {
3246
3323
  return JSON.parse(JSON.stringify(obj));
3247
3324
  }
3325
+ /**
3326
+ * @method isJsonString
3327
+ * @description Check whether it is a valid JSON string.
3328
+ * @param {String} str The string to check.
3329
+ * @return {Boolean} Return the result of checking.
3330
+ * */
3331
+
3332
+ function isJsonString(str) {
3333
+ if (str === void 0) {
3334
+ str = '';
3335
+ }
3336
+
3337
+ try {
3338
+ if (_typeof_1(JSON.parse(str)) === 'object') {
3339
+ return true;
3340
+ }
3341
+ } catch (e) {
3342
+ /* pass */
3343
+ }
3344
+
3345
+ return false;
3346
+ }
3248
3347
  /**
3249
3348
  * @method generateRndNum
3250
- * @description 生成随机数 mGenerateRndNum(7) => 7658495。
3251
- * @param {Number} n 随机数的长度
3252
- * @return {String}
3349
+ * @description Produce a random string of number, `generateRndNum(7)` => '7658495'.
3350
+ * @param {Number} n Length
3351
+ * @return {String} Return the random string.
3253
3352
  * */
3254
3353
 
3255
3354
  function generateRndNum(n) {
3355
+ if (n === void 0) {
3356
+ n = 5;
3357
+ }
3358
+
3256
3359
  var ret = '';
3257
3360
 
3258
3361
  while (n--) {
@@ -3268,36 +3371,15 @@ function generateRndNum(n) {
3268
3371
  * */
3269
3372
 
3270
3373
  function generateUniqueNum(n) {
3374
+ if (n === void 0) {
3375
+ n = 3;
3376
+ }
3377
+
3271
3378
  var _a = [mNow(), generateRndNum(n || 3)],
3272
3379
  now = _a[0],
3273
3380
  rnd = _a[1];
3274
3381
  return now + rnd;
3275
3382
  }
3276
- /**
3277
- * @method resetForm
3278
- * @description 重置表单输入值为原始(空)状态。
3279
- * @param {String} rest name1,name2,name3...NAME属性,可以多个。
3280
- * */
3281
-
3282
- function resetForm() {
3283
- var rest = [];
3284
-
3285
- for (var _i = 0; _i < arguments.length; _i++) {
3286
- rest[_i] = arguments[_i];
3287
- }
3288
-
3289
- for (var i = 0; i < rest.length; i++) {
3290
- var tagMz = document.getElementsByName(rest[i])[0]; // tag object
3291
-
3292
- var tagNameMz = tagMz.tagName.toLowerCase(); // tag name
3293
-
3294
- if (tagNameMz === 'input') {
3295
- tagMz.value = '';
3296
- } else if (tagNameMz === 'select') {
3297
- tagMz.options[0].selected = true;
3298
- }
3299
- }
3300
- }
3301
3383
  /**
3302
3384
  * @method floatToPercent
3303
3385
  * @description 浮点数转为百分比 0.2 => 20%。
@@ -3306,17 +3388,23 @@ function resetForm() {
3306
3388
  * */
3307
3389
 
3308
3390
  function floatToPercent(num, fixSize) {
3391
+ if (num === void 0) {
3392
+ num = 0;
3393
+ }
3394
+
3309
3395
  if (fixSize === void 0) {
3310
3396
  fixSize = 0;
3311
3397
  }
3312
3398
 
3399
+ var ret = '';
3400
+
3313
3401
  if (fixSize) {
3314
- num = (num * 100).toFixed(fixSize);
3402
+ ret = (num * 100).toFixed(fixSize);
3315
3403
  } else {
3316
- num = Math.floor(num * 100);
3404
+ ret = String(Math.floor(num * 100));
3317
3405
  }
3318
3406
 
3319
- return num + "%";
3407
+ return ret + "%";
3320
3408
  }
3321
3409
  /**
3322
3410
  * @method floatFixed
@@ -3324,23 +3412,11 @@ function floatToPercent(num, fixSize) {
3324
3412
  * */
3325
3413
 
3326
3414
  function floatFixed(num, size) {
3327
- return parseFloat(num).toFixed(size);
3328
- }
3329
- /**
3330
- * @method compatibleExist
3331
- * @description 不存在返回 ——。
3332
- * */
3333
-
3334
- function compatibleExist(instance, replaceStr) {
3335
- var ret = '';
3336
-
3337
- try {
3338
- ret = instance || replaceStr || '——';
3339
- } catch (e) {
3340
- ret = '——';
3415
+ if (size === void 0) {
3416
+ size = 0;
3341
3417
  }
3342
3418
 
3343
- return ret;
3419
+ return parseFloat(num).toFixed(size);
3344
3420
  }
3345
3421
  /**
3346
3422
  * @method cancelBubble
@@ -3587,7 +3663,7 @@ function friendlyInterval(_a) {
3587
3663
  /**
3588
3664
  * @method isNumber
3589
3665
  * @description 判断是否有效数字
3590
- * @param {Any} num 被判断的值
3666
+ * @param {*} num 被判断的值
3591
3667
  * @param {Boolean} isNaNAsNumber 是否 NaN 算数字(默认不算)
3592
3668
  * @param {Boolean} isUnFiniteAsNumber 是否 无限 算数字(默认不算)
3593
3669
  * @return {Boolean} true 是数字
@@ -3620,84 +3696,6 @@ function isNumber(num, _a) {
3620
3696
 
3621
3697
  return ret;
3622
3698
  }
3623
- /**
3624
- * @method updateQueryStringParameter
3625
- * @description 替换或添加地址栏参数。
3626
- * */
3627
-
3628
- function updateQueryStringParameter(uri, key, value) {
3629
- var re = new RegExp('([?&])' + key + '=.*?(&|$)', 'i');
3630
- var separator = uri.indexOf('?') !== -1 ? '&' : '?';
3631
-
3632
- if (uri.match(re)) {
3633
- return uri.replace(re, '$1' + key + '=' + value + '$2');
3634
- } else {
3635
- return uri + separator + key + '=' + value;
3636
- }
3637
- }
3638
- /**
3639
- * @method isJsonString
3640
- * @description 判断是否合法 JSON 字符串。
3641
- * */
3642
-
3643
- function isJsonString(str) {
3644
- try {
3645
- if (_typeof_1(JSON.parse(str)) === 'object') {
3646
- return true;
3647
- }
3648
- } catch (e) {
3649
- /* pass */
3650
- }
3651
-
3652
- return false;
3653
- }
3654
- /**
3655
- * @method getUrlParam
3656
- * @description 链接参数
3657
- * @param {String} sUrl 链接
3658
- * @param {String} sKey 参数
3659
- * */
3660
-
3661
- function getUrlParam(sUrl, sKey) {
3662
- var result = {};
3663
- sUrl.replace(/\??(\w+)=([^&]*)&?/g, function (a, k, v) {
3664
- if (result[k] !== undefined) {
3665
- var t = result[k];
3666
- result[k] = [].concat(t, v);
3667
- } else {
3668
- result[k] = v;
3669
- }
3670
- });
3671
-
3672
- if (sKey === undefined) {
3673
- return result;
3674
- } else {
3675
- return result[sKey] || '';
3676
- }
3677
- }
3678
- /**
3679
- * @method getSearchQueryParam
3680
- * @description 地址栏参数。
3681
- * */
3682
-
3683
- function getSearchQueryParam(name) {
3684
- var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
3685
- var r = window.location.search.substr(1).match(reg);
3686
-
3687
- if (r != null) {
3688
- return decodeURIComponent(unescape(r[2]));
3689
- }
3690
-
3691
- return null;
3692
- }
3693
- /**
3694
- * @method getQueryParam
3695
- * @description 地址栏参数,getSearchQueryParam 的别名。
3696
- * */
3697
-
3698
- function getQueryParam(name) {
3699
- return getSearchQueryParam(name);
3700
- }
3701
3699
  /**
3702
3700
  * @method doFn
3703
3701
  * @description 执行有效函数
@@ -3739,7 +3737,7 @@ function setSessionStorage(key, value) {
3739
3737
  * @method getSessionStorage
3740
3738
  * @description 存储数据到 sessionStorage
3741
3739
  * @param {String} key 键
3742
- * @return {Any} 返回值
3740
+ * @return {*} 返回值
3743
3741
  * */
3744
3742
 
3745
3743
  function getSessionStorage(key) {
@@ -3775,7 +3773,7 @@ function setLocalStorage(key, value) {
3775
3773
  * @method getLocalStorage
3776
3774
  * @description 存储数据到 localStorage
3777
3775
  * @param {String} key 键
3778
- * @return {Any} 返回值
3776
+ * @return {*} 返回值
3779
3777
  * */
3780
3778
 
3781
3779
  function getLocalStorage(key) {
@@ -4068,7 +4066,7 @@ function getCookie(name) {
4068
4066
  if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
4069
4067
  }
4070
4068
 
4071
- return null;
4069
+ return '';
4072
4070
  }
4073
4071
  /**
4074
4072
  * @method getPerformance
@@ -4710,243 +4708,46 @@ function addInlineStyle(_a) {
4710
4708
  return true;
4711
4709
  }
4712
4710
  /**
4713
- * @method customScrollBarForTransformEle
4714
- * @description 为进行变换(transform)的元素设置滚动条
4715
- * @param {String} containerClassName 进行变换(transform)的元素↓的容器(Father)的类名
4716
- * @param {String} imgBoxClassName 图片的容器(transform It's YOU!)的类名
4717
- * @param {String} imgBoxDom 图片的容器 Dom 对象
4718
- * @param {String} imgClassName 图片的类名
4719
- * @param {Object} imgDom 图片 Dom 对象
4720
- * @param {String} action 操作类型 hide 隐藏指定 `containerClassName` 滚动条
4721
- * @param {String} customStyle 滚动条的定制样式,会覆盖默认样式
4722
- * @return {Boolean} 设置成功
4711
+ * @method genCustomConsole
4712
+ * @description 生成自定义控制台打印
4713
+ * @param {String} prefix 前缀
4714
+ * @param {Function} allowFn 允许打印的判断函数
4715
+ * @return {Object} 新实例
4723
4716
  */
4724
4717
 
4725
- function customScrollBarForTransformEle(_a) {
4726
- var _b = _a === void 0 ? {} : _a,
4727
- _c = _b.containerClassName,
4728
- containerClassName = _c === void 0 ? '' : _c,
4729
- _d = _b.imgBoxClassName,
4730
- imgBoxClassName = _d === void 0 ? '' : _d,
4731
- _e = _b.imgBoxDom,
4732
- imgBoxDom = _e === void 0 ? null : _e,
4733
- _f = _b.imgClassName,
4734
- imgClassName = _f === void 0 ? '' : _f,
4735
- _g = _b.imgDom,
4736
- imgDom = _g === void 0 ? null : _g,
4737
- _h = _b.action,
4738
- action = _h === void 0 ? '' : _h,
4739
- _j = _b.customStyle,
4740
- customStyle = _j === void 0 ? '' : _j; // 变量
4741
-
4742
-
4743
- var barIsHideId = 'bar-is-hide';
4744
- var barTopId = 'bar-top';
4745
- var barBottomId = 'bar-bottom';
4746
-
4747
- if (action === 'hide') {
4748
- addInlineStyle({
4749
- inlineStyle: "\n ." + containerClassName + "::after {\n display: none;\n }\n ",
4750
- id: barIsHideId
4751
- });
4752
- return true;
4753
- }
4754
-
4755
- setTimeout(function () {
4756
- // 样式初始化
4757
- addInlineStyle({
4758
- inlineStyle: "\n ." + containerClassName + "::after {\n content: ' ';\n position: fixed;\n top: 0;\n right: 2px;\n min-height: 0vh;\n max-height: 100vh;\n width: 6px;\n border-radius: 3px;\n box-shadow: inset 0 0 6px rgba(0,0,0,.3);\n -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);\n background-color: rgb(109, 108, 109);\n " + customStyle + "\n }\n ",
4759
- id: 'bar-init'
4760
- });
4761
- var imgInstance = imgDom || document.querySelector("." + imgClassName);
4762
-
4763
- if (!imgInstance) {
4764
- console.warn('Need element\'s Dom instance.');
4765
- return false;
4766
- }
4767
-
4768
- var imgBoxInstance = imgBoxDom || document.querySelector("." + imgBoxClassName);
4769
-
4770
- if (!imgBoxInstance) {
4771
- console.warn('Need element box\'s Dom instance.');
4772
- return false;
4773
- }
4774
-
4775
- var Box2ToRes = getBox2To(); // console.log('获取图片距离顶部的距离', Box2ToRes);
4776
-
4777
- var ImgHeightRes = getImgHeight(); // console.log('获取图片的高度', ImgHeightRes);
4778
-
4779
- var WindowHeightRes = getWindowHeight(); // console.log('获取窗口的高度', WindowHeightRes);
4780
-
4781
- var TopOverflowPercentRes = getTopOverflowPercent(); // console.log('获取顶部溢出的百分比', TopOverflowPercentRes);
4782
-
4783
- var BottomOverflowPercentRes = getBottomOverflowPercent(); // console.log('获取顶部溢出的百分比', BottomOverflowPercentRes);
4784
-
4785
- var hideBarRes = hideBar(); // console.log('如果都是 0 ,隐藏滚动条', hideBarRes);
4786
-
4787
- if (!hideBarRes) {
4788
- setBarTop(); // const setBarTopRes = setBarTop();
4789
- // console.log('设置顶部状态栏', setBarTopRes);
4790
-
4791
- setBarBottom(); // const setBarBottomRes = setBarBottom();
4792
- // console.log('设置底部状态栏', setBarBottomRes);
4793
- } // 获取图片距离顶部的距离
4794
-
4795
-
4796
- function getBox2To() {
4797
- var translates = window.getComputedStyle(imgBoxInstance, null).transform;
4798
- var tanslateY = parseFloat(translates.substring(6).split(',')[5]);
4799
- return tanslateY;
4800
- } // 获取图片的高度
4801
-
4802
-
4803
- function getImgHeight() {
4804
- var _a;
4805
-
4806
- return (_a = imgInstance) === null || _a === void 0 ? void 0 : _a.clientHeight;
4807
- } // 获取窗口的高度
4808
-
4809
-
4810
- function getWindowHeight() {
4811
- return document.querySelector("." + containerClassName).clientHeight; // window.outerHeight;
4812
- } // 获取顶部溢出的百分比
4813
-
4814
-
4815
- function getTopOverflowPercent() {
4816
- var box2To = Box2ToRes;
4817
-
4818
- if (box2To >= 0) {
4819
- box2To = 0;
4820
- }
4821
-
4822
- box2To = Math.abs(box2To); // 图片高度
4823
-
4824
- var imgHeight = ImgHeightRes;
4825
- var per = floatToPercent(box2To / imgHeight, 2);
4826
- return {
4827
- box2To: box2To,
4828
- per: per
4829
- };
4830
- } // 获取底部溢出的百分比
4718
+ function genCustomConsole(_a) {
4719
+ var _b = (_a === void 0 ? {} : _a).prefix,
4720
+ prefix = _b === void 0 ? '' : _b;
4721
+ var methods = ['log', 'info', 'warn', 'error'];
4722
+ var newConsole = Object.create(null);
4723
+ methods.forEach(function (method) {
4724
+ newConsole[method] = function () {
4725
+ var _a, _b;
4831
4726
 
4727
+ var argu = [];
4832
4728
 
4833
- function getBottomOverflowPercent() {
4834
- // 窗口高度
4835
- var windowHeight = WindowHeightRes; // 图片高度
4836
-
4837
- var imgHeight = ImgHeightRes; // 上面溢出的高度
4838
-
4839
- var box2To = Box2ToRes; // 底部
4840
-
4841
- var remindImageHeight = windowHeight - box2To;
4842
- var box2ToBottom = imgHeight - remindImageHeight;
4843
-
4844
- if (box2ToBottom <= 0) {
4845
- box2ToBottom = 0;
4729
+ for (var _i = 0; _i < arguments.length; _i++) {
4730
+ argu[_i] = arguments[_i];
4846
4731
  }
4847
4732
 
4848
- var per = floatToPercent(box2ToBottom / imgHeight, 2);
4849
- return {
4850
- box2ToBottom: box2ToBottom,
4851
- per: per
4852
- };
4853
- } // 如果都是 0 ,隐藏滚动条
4854
-
4855
-
4856
- function hideBar() {
4857
- var box2To = TopOverflowPercentRes.box2To;
4858
- var box2ToBottom = BottomOverflowPercentRes.box2ToBottom;
4859
-
4860
- if (!box2To && !box2ToBottom) {
4861
- return addInlineStyle({
4862
- inlineStyle: "\n ." + containerClassName + "::after {\n display: none;\n }\n ",
4863
- id: barIsHideId
4864
- });
4733
+ if (prefix) {
4734
+ (_a = console)[method].apply(_a, __spreadArrays([prefix], argu));
4865
4735
  } else {
4866
- addInlineStyle({
4867
- inlineStyle: "\n ." + containerClassName + "::after {\n display: block;\n }\n ",
4868
- id: barIsHideId
4869
- });
4736
+ (_b = console)[method].apply(_b, argu);
4870
4737
  }
4871
-
4872
- return false;
4873
- } // 设置顶部状态栏
4874
-
4875
-
4876
- function setBarTop() {
4877
- var per = TopOverflowPercentRes.per;
4878
- return addInlineStyle({
4879
- inlineStyle: "\n ." + containerClassName + "::after {\n top: " + per + ";\n }\n ",
4880
- id: barTopId
4881
- });
4882
- } // 设置底部状态栏
4883
-
4884
-
4885
- function setBarBottom() {
4886
- var per = BottomOverflowPercentRes.per;
4887
- return addInlineStyle({
4888
- inlineStyle: "\n ." + containerClassName + "::after {\n bottom: " + per + ";\n }\n ",
4889
- id: barBottomId
4890
- });
4891
- }
4892
- }, 25);
4893
- return true;
4894
- }
4895
- /**
4896
- * @method calcContainImageSizeAndPosition
4897
- * @description 计算适配容器宽度的图片的尺寸、距离顶部的距离。如果高度不足以占满容器,使其垂直居中;如果高度比容器长,由上向下铺开。
4898
- * @param {Number} oriImageWidth 图片原始宽度
4899
- * @param {Number} oriImageHeight 图片原始高度
4900
- * @param {Number} viewportWidth 可视窗口宽度
4901
- * @param {Number} viewportHeight 可视窗口高度
4902
- * @return {Object} 结果 {"targetImageWidth":375,"targetImageHeight":375,"top":218.5,"wPer":1.25}
4903
- */
4904
-
4905
- function calcContainImageSizeAndPosition(_a) {
4906
- var _b = _a === void 0 ? {} : _a,
4907
- _c = _b.oriImageWidth,
4908
- oriImageWidth = _c === void 0 ? 0 : _c,
4909
- _d = _b.oriImageHeight,
4910
- oriImageHeight = _d === void 0 ? 0 : _d,
4911
- _e = _b.viewportWidth,
4912
- viewportWidth = _e === void 0 ? 0 : _e,
4913
- _f = _b.viewportHeight,
4914
- viewportHeight = _f === void 0 ? 0 : _f;
4915
-
4916
- var targetImageWidth = viewportWidth;
4917
- var _g = [0, 0, 0],
4918
- targetImageHeight = _g[0],
4919
- top = _g[1],
4920
- wPer = _g[2]; // 比例
4921
-
4922
- wPer = viewportWidth / oriImageWidth; // 1.+ 1.1 1.5
4923
-
4924
- targetImageHeight = oriImageHeight * wPer;
4925
-
4926
- if (targetImageHeight < viewportHeight) {
4927
- var doubleGap = viewportHeight - targetImageHeight;
4928
- top = doubleGap / 2;
4929
- }
4930
-
4931
- return {
4932
- targetImageWidth: targetImageWidth,
4933
- targetImageHeight: targetImageHeight,
4934
- top: top,
4935
- wPer: wPer
4936
- };
4738
+ };
4739
+ });
4740
+ return newConsole;
4937
4741
  }
4938
4742
 
4939
4743
  exports.addClass = addClass;
4940
4744
  exports.addInlineStyle = addInlineStyle;
4941
4745
  exports.calLongestCommonSubsequence = calLongestCommonSubsequence;
4942
4746
  exports.calLongestCommonSubstring = calLongestCommonSubstring;
4943
- exports.calcContainImageSizeAndPosition = calcContainImageSizeAndPosition;
4944
4747
  exports.camelCase2Underscore = camelCase2Underscore;
4945
4748
  exports.camelCaseToKebabCase = camelCaseToKebabCase;
4946
4749
  exports.cancelBubble = cancelBubble;
4947
4750
  exports.clearHtml = clearHtml;
4948
- exports.compatibleExist = compatibleExist;
4949
- exports.customScrollBarForTransformEle = customScrollBarForTransformEle;
4950
4751
  exports.cutCHSString = cutCHSString;
4951
4752
  exports.debounce = debounce;
4952
4753
  exports.deepCopyObject = deepCopyObject;
@@ -4954,6 +4755,7 @@ exports.doFn = doFn;
4954
4755
  exports.floatFixed = floatFixed;
4955
4756
  exports.floatToPercent = floatToPercent;
4956
4757
  exports.friendlyInterval = friendlyInterval;
4758
+ exports.genCustomConsole = genCustomConsole;
4957
4759
  exports.generateRndNum = generateRndNum;
4958
4760
  exports.generateUniqueNum = generateUniqueNum;
4959
4761
  exports.getBrowserType = getBrowserType;
@@ -4963,7 +4765,6 @@ exports.getHashQueryParam = getHashQueryParam;
4963
4765
  exports.getLocalStorage = getLocalStorage;
4964
4766
  exports.getPerformance = getPerformance;
4965
4767
  exports.getQueryParam = getQueryParam;
4966
- exports.getSearchQueryParam = getSearchQueryParam;
4967
4768
  exports.getSessionStorage = getSessionStorage;
4968
4769
  exports.getUrlParam = getUrlParam;
4969
4770
  exports.hasClass = hasClass;
@@ -4971,18 +4772,15 @@ exports.inRate = inRate;
4971
4772
  exports.isJsonString = isJsonString;
4972
4773
  exports.isNumber = isNumber;
4973
4774
  exports.isSafePWAEnv = isSafePWAEnv;
4974
- exports.join = join;
4975
4775
  exports.loadCSS = loadCSS;
4976
4776
  exports.loadScript = loadScript;
4977
4777
  exports.mNow = mNow;
4778
+ exports.mTrim = mTrim;
4978
4779
  exports.newLine = newLine;
4979
4780
  exports.removeClass = removeClass;
4980
- exports.renderTable = renderTable;
4981
- exports.resetForm = resetForm;
4982
4781
  exports.setCookie = setCookie;
4983
4782
  exports.setLocalStorage = setLocalStorage;
4984
4783
  exports.setSessionStorage = setSessionStorage;
4985
4784
  exports.throttle = throttle;
4986
- exports.trim = trim$1;
4987
- exports.updateQueryStringParameter = updateQueryStringParameter;
4785
+ exports.updateQueryParam = updateQueryParam;
4988
4786
  exports.windowLoaded = windowLoaded;