@daysnap/utils 0.0.55 → 0.0.57

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 (60) hide show
  1. package/docs/modules.md +268 -84
  2. package/es/filterIdCard.d.ts +1 -0
  3. package/es/filterIdCard.js +1 -0
  4. package/es/formatDateStr.d.ts +1 -0
  5. package/es/formatDateStr.js +1 -0
  6. package/es/getRandom.d.ts +6 -0
  7. package/es/getRandom.js +11 -0
  8. package/es/getRandomNumber.d.ts +5 -0
  9. package/es/getRandomNumber.js +8 -0
  10. package/es/index.d.ts +8 -1
  11. package/es/index.js +8 -1
  12. package/es/isEmptyObject.d.ts +2 -2
  13. package/es/isEmptyObject.js +3 -3
  14. package/es/isIE.d.ts +6 -0
  15. package/es/isIE.js +27 -0
  16. package/es/isWeChat.d.ts +9 -0
  17. package/es/isWeChat.js +13 -0
  18. package/es/isWeChatMiniProgram.d.ts +5 -0
  19. package/es/isWeChatMiniProgram.js +8 -0
  20. package/es/parseQuery.js +8 -2
  21. package/es/scrollToTop.d.ts +4 -0
  22. package/es/scrollToTop.js +10 -0
  23. package/es/stringifyQuery.d.ts +1 -1
  24. package/es/stringifyQuery.js +1 -1
  25. package/es/toCDB.d.ts +4 -0
  26. package/es/toCDB.js +19 -0
  27. package/es/toDBC.d.ts +4 -0
  28. package/es/toDBC.js +19 -0
  29. package/lib/filterIdCard.d.ts +1 -0
  30. package/lib/filterIdCard.js +1 -0
  31. package/lib/formatDateStr.d.ts +1 -0
  32. package/lib/formatDateStr.js +1 -0
  33. package/lib/getRandom.d.ts +6 -0
  34. package/lib/getRandom.js +15 -0
  35. package/lib/getRandomNumber.d.ts +5 -0
  36. package/lib/getRandomNumber.js +12 -0
  37. package/lib/index.d.ts +8 -1
  38. package/lib/index.js +8 -1
  39. package/lib/isEmptyObject.d.ts +2 -2
  40. package/lib/isEmptyObject.js +3 -3
  41. package/lib/isIE.d.ts +6 -0
  42. package/lib/isIE.js +31 -0
  43. package/lib/isWeChat.d.ts +9 -0
  44. package/lib/isWeChat.js +18 -0
  45. package/lib/isWeChatMiniProgram.d.ts +5 -0
  46. package/lib/isWeChatMiniProgram.js +12 -0
  47. package/lib/parseQuery.js +8 -2
  48. package/lib/scrollToTop.d.ts +4 -0
  49. package/lib/scrollToTop.js +14 -0
  50. package/lib/stringifyQuery.d.ts +1 -1
  51. package/lib/stringifyQuery.js +1 -1
  52. package/lib/toCDB.d.ts +4 -0
  53. package/lib/toCDB.js +23 -0
  54. package/lib/toDBC.d.ts +4 -0
  55. package/lib/toDBC.js +23 -0
  56. package/package.json +1 -1
  57. package/es/isWeixin.d.ts +0 -4
  58. package/es/isWeixin.js +0 -6
  59. package/lib/isWeixin.d.ts +0 -4
  60. package/lib/isWeixin.js +0 -10
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * 身份证号码加 *
3
+ * 430421202312121234 => 430421********1234
3
4
  */
4
5
  export declare function filterIdCard(val: string): string;
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * 身份证号码加 *
3
+ * 430421202312121234 => 430421********1234
3
4
  */
4
5
  export function filterIdCard(val) {
5
6
  return val ? `${val.substring(0, 6)}********${val.substring(14)}` : '';
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * str 转换成 date
3
+ * fix iOS 日期时间格式如果是 - 就会报错的问题
3
4
  */
4
5
  export declare function formatDateStr(v: string): Date;
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * str 转换成 date
3
+ * fix iOS 日期时间格式如果是 - 就会报错的问题
3
4
  */
4
5
  export function formatDateStr(v) {
5
6
  return new Date(v.replace(/-/g, '/'));
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 生成一个随机字符串
3
+ * @param length 生成随机字符串的长度
4
+ * @param alphabet 字母表
5
+ */
6
+ export declare function getRandom(length: number, alphabet?: string): string;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * 生成一个随机字符串
3
+ * @param length 生成随机字符串的长度
4
+ * @param alphabet 字母表
5
+ */
6
+ export function getRandom(length, alphabet = '1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM') {
7
+ return new Array(length)
8
+ .fill('')
9
+ .map(() => alphabet[Math.floor(Math.random() * alphabet.length)])
10
+ .join('');
11
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 生成一个随机数字
3
+ * @param length 生成一个随机数字的长度
4
+ */
5
+ export declare function getRandomNumber(length: number): string;
@@ -0,0 +1,8 @@
1
+ import { getRandom } from './getRandom';
2
+ /**
3
+ * 生成一个随机数字
4
+ * @param length 生成一个随机数字的长度
5
+ */
6
+ export function getRandomNumber(length) {
7
+ return getRandom(length, '1234567890');
8
+ }
package/es/index.d.ts CHANGED
@@ -25,7 +25,9 @@ export * from './formatPathParams';
25
25
  export * from './getBlobByUrl';
26
26
  export * from './getDayMillisecond';
27
27
  export * from './getImageInfo';
28
+ export * from './getRandom';
28
29
  export * from './getRandomColor';
30
+ export * from './getRandomNumber';
29
31
  export * from './getVideoInfo';
30
32
  export * from './inBrowser';
31
33
  export * from './insertLink';
@@ -40,6 +42,7 @@ export * from './isEmpty';
40
42
  export * from './isEmptyObject';
41
43
  export * from './isError';
42
44
  export * from './isFunction';
45
+ export * from './isIE';
43
46
  export * from './isIOS';
44
47
  export * from './isIdCard';
45
48
  export * from './isJSONString';
@@ -55,7 +58,8 @@ export * from './isRegExp';
55
58
  export * from './isString';
56
59
  export * from './isURL';
57
60
  export * from './isUndefined';
58
- export * from './isWeixin';
61
+ export * from './isWeChat';
62
+ export * from './isWeChatMiniProgram';
59
63
  export * from './isWindow';
60
64
  export * from './kebabCase';
61
65
  export * from './mousewheel';
@@ -73,10 +77,13 @@ export * from './replaceCrlf';
73
77
  export * from './reserve';
74
78
  export * from './rgbToHex';
75
79
  export * from './round';
80
+ export * from './scrollToTop';
76
81
  export * from './sleep';
77
82
  export * from './splitArray';
78
83
  export * from './storage';
79
84
  export * from './stringTrim';
80
85
  export * from './stringifyQuery';
81
86
  export * from './throttle';
87
+ export * from './toCDB';
88
+ export * from './toDBC';
82
89
  export * from './typeOf';
package/es/index.js CHANGED
@@ -26,7 +26,9 @@ export * from './formatPathParams';
26
26
  export * from './getBlobByUrl';
27
27
  export * from './getDayMillisecond';
28
28
  export * from './getImageInfo';
29
+ export * from './getRandom';
29
30
  export * from './getRandomColor';
31
+ export * from './getRandomNumber';
30
32
  export * from './getVideoInfo';
31
33
  export * from './inBrowser';
32
34
  export * from './insertLink';
@@ -41,6 +43,7 @@ export * from './isEmpty';
41
43
  export * from './isEmptyObject';
42
44
  export * from './isError';
43
45
  export * from './isFunction';
46
+ export * from './isIE';
44
47
  export * from './isIOS';
45
48
  export * from './isIdCard';
46
49
  export * from './isJSONString';
@@ -56,7 +59,8 @@ export * from './isRegExp';
56
59
  export * from './isString';
57
60
  export * from './isURL';
58
61
  export * from './isUndefined';
59
- export * from './isWeixin';
62
+ export * from './isWeChat';
63
+ export * from './isWeChatMiniProgram';
60
64
  export * from './isWindow';
61
65
  export * from './kebabCase';
62
66
  export * from './mousewheel';
@@ -74,10 +78,13 @@ export * from './replaceCrlf';
74
78
  export * from './reserve';
75
79
  export * from './rgbToHex';
76
80
  export * from './round';
81
+ export * from './scrollToTop';
77
82
  export * from './sleep';
78
83
  export * from './splitArray';
79
84
  export * from './storage';
80
85
  export * from './stringTrim';
81
86
  export * from './stringifyQuery';
82
87
  export * from './throttle';
88
+ export * from './toCDB';
89
+ export * from './toDBC';
83
90
  export * from './typeOf';
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * 判断是否是空对象
3
- * @param v 对象
3
+ * @param val 对象
4
4
  */
5
- export declare function isEmptyObject(v: object): boolean;
5
+ export declare function isEmptyObject(val: object): boolean;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * 判断是否是空对象
3
- * @param v 对象
3
+ * @param val 对象
4
4
  */
5
- export function isEmptyObject(v) {
6
- return !Object.keys(v).length;
5
+ export function isEmptyObject(val) {
6
+ return !Object.keys(val).length;
7
7
  }
package/es/isIE.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 判断浏览器是否是 ie
3
+ * 如果是 ie 则会返回对应 ie 版本
4
+ * 如果不是则返回false
5
+ */
6
+ export declare function isIE(): false | number;
package/es/isIE.js ADDED
@@ -0,0 +1,27 @@
1
+ /**
2
+ * 判断浏览器是否是 ie
3
+ * 如果是 ie 则会返回对应 ie 版本
4
+ * 如果不是则返回false
5
+ */
6
+ export function isIE() {
7
+ const ua = window.navigator.userAgent;
8
+ const msie = ua.indexOf('MSIE ');
9
+ if (msie > 0) {
10
+ // IE 10 or older => return version number
11
+ return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
12
+ }
13
+ const trident = ua.indexOf('Trident/');
14
+ if (trident > 0) {
15
+ // IE 11 => return version number
16
+ const rv = ua.indexOf('rv:');
17
+ return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
18
+ }
19
+ // https://learn.microsoft.com/zh-cn/microsoft-edge/web-platform/user-agent-guidance
20
+ // https://learn.microsoft.com/zh-cn/microsoft-edge/web-platform/user-agent-guidance#microsoft-edge-legacy
21
+ const edge = ua.indexOf('Edge/');
22
+ if (edge > 0) {
23
+ // Edge (IE 12+) => return version number
24
+ return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);
25
+ }
26
+ return false;
27
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 判断是否是微信浏览器
3
+ */
4
+ export declare function isWeChat(): boolean;
5
+ /**
6
+ * 判断是否是微信浏览器
7
+ * @deprecated 请使用 isWeChat 方法
8
+ */
9
+ export declare function isWeixin(): boolean;
package/es/isWeChat.js ADDED
@@ -0,0 +1,13 @@
1
+ /**
2
+ * 判断是否是微信浏览器
3
+ */
4
+ export function isWeChat() {
5
+ return /MicroMessenger/gi.test(window.navigator.userAgent);
6
+ }
7
+ /**
8
+ * 判断是否是微信浏览器
9
+ * @deprecated 请使用 isWeChat 方法
10
+ */
11
+ export function isWeixin() {
12
+ return isWeChat();
13
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 判断是否是微信小程序web-view环境
3
+ * https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html
4
+ */
5
+ export declare function isWeChatMiniProgram(): boolean;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 判断是否是微信小程序web-view环境
3
+ * https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html
4
+ */
5
+ export function isWeChatMiniProgram() {
6
+ // 从微信7.0.0开始,可以通过判断userAgent中包含miniProgram字样来判断小程序web-view环境。
7
+ return window.navigator.userAgent.toLocaleLowerCase().includes('miniprogram');
8
+ }
package/es/parseQuery.js CHANGED
@@ -5,8 +5,14 @@ import { isJSONString } from './isJSONString';
5
5
  * @param k 键名
6
6
  */
7
7
  export function parseQuery(v, k) {
8
- const url = new URL(v !== null && v !== void 0 ? v : '');
9
- const searchStr = v ? url.search : window.location.search;
8
+ let searchStr = '';
9
+ if (!v) {
10
+ searchStr = window.location.search;
11
+ }
12
+ else {
13
+ const url = new URL(v);
14
+ searchStr = url.search;
15
+ }
10
16
  const query = new URLSearchParams(decodeURIComponent(searchStr));
11
17
  // 单个直接返回
12
18
  if (k) {
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 滚动到页面顶部
3
+ */
4
+ export declare function scrollToTop(): void;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * 滚动到页面顶部
3
+ */
4
+ export function scrollToTop() {
5
+ const height = document.documentElement.scrollTop || document.body.scrollTop;
6
+ if (height > 0) {
7
+ window.requestAnimationFrame(scrollToTop);
8
+ window.scrollTo(0, height - height / 8);
9
+ }
10
+ }
@@ -1,4 +1,4 @@
1
1
  /**
2
- * 说明
2
+ * 对象转 URLSearchParams
3
3
  */
4
4
  export declare function stringifyQuery(v: Record<string, any>): string;
@@ -1,7 +1,7 @@
1
1
  import { isEmptyObject } from './isEmptyObject';
2
2
  import { isString } from './isString';
3
3
  /**
4
- * 说明
4
+ * 对象转 URLSearchParams
5
5
  */
6
6
  export function stringifyQuery(v) {
7
7
  if (isEmptyObject(v)) {
package/es/toCDB.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 全角转换为半角
3
+ */
4
+ export declare function toCDB(str: string): string;
package/es/toCDB.js ADDED
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 全角转换为半角
3
+ */
4
+ export function toCDB(str) {
5
+ let result = '';
6
+ for (let i = 0; i < str.length; i++) {
7
+ const code = str.charCodeAt(i);
8
+ if (code >= 65281 && code <= 65374) {
9
+ result += String.fromCharCode(str.charCodeAt(i) - 65248);
10
+ }
11
+ else if (code == 12288) {
12
+ result += String.fromCharCode(str.charCodeAt(i) - 12288 + 32);
13
+ }
14
+ else {
15
+ result += str.charAt(i);
16
+ }
17
+ }
18
+ return result;
19
+ }
package/es/toDBC.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 半角转换为全角
3
+ */
4
+ export declare function toDBC(str: string): string;
package/es/toDBC.js ADDED
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 半角转换为全角
3
+ */
4
+ export function toDBC(str) {
5
+ let result = '';
6
+ for (let i = 0; i < str.length; i++) {
7
+ const code = str.charCodeAt(i);
8
+ if (code >= 33 && code <= 126) {
9
+ result += String.fromCharCode(str.charCodeAt(i) + 65248);
10
+ }
11
+ else if (code == 32) {
12
+ result += String.fromCharCode(str.charCodeAt(i) + 12288 - 32);
13
+ }
14
+ else {
15
+ result += str.charAt(i);
16
+ }
17
+ }
18
+ return result;
19
+ }
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * 身份证号码加 *
3
+ * 430421202312121234 => 430421********1234
3
4
  */
4
5
  export declare function filterIdCard(val: string): string;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.filterIdCard = void 0;
4
4
  /**
5
5
  * 身份证号码加 *
6
+ * 430421202312121234 => 430421********1234
6
7
  */
7
8
  function filterIdCard(val) {
8
9
  return val ? `${val.substring(0, 6)}********${val.substring(14)}` : '';
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * str 转换成 date
3
+ * fix iOS 日期时间格式如果是 - 就会报错的问题
3
4
  */
4
5
  export declare function formatDateStr(v: string): Date;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.formatDateStr = void 0;
4
4
  /**
5
5
  * str 转换成 date
6
+ * fix iOS 日期时间格式如果是 - 就会报错的问题
6
7
  */
7
8
  function formatDateStr(v) {
8
9
  return new Date(v.replace(/-/g, '/'));
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 生成一个随机字符串
3
+ * @param length 生成随机字符串的长度
4
+ * @param alphabet 字母表
5
+ */
6
+ export declare function getRandom(length: number, alphabet?: string): string;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRandom = void 0;
4
+ /**
5
+ * 生成一个随机字符串
6
+ * @param length 生成随机字符串的长度
7
+ * @param alphabet 字母表
8
+ */
9
+ function getRandom(length, alphabet = '1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM') {
10
+ return new Array(length)
11
+ .fill('')
12
+ .map(() => alphabet[Math.floor(Math.random() * alphabet.length)])
13
+ .join('');
14
+ }
15
+ exports.getRandom = getRandom;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 生成一个随机数字
3
+ * @param length 生成一个随机数字的长度
4
+ */
5
+ export declare function getRandomNumber(length: number): string;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRandomNumber = void 0;
4
+ const getRandom_1 = require("./getRandom");
5
+ /**
6
+ * 生成一个随机数字
7
+ * @param length 生成一个随机数字的长度
8
+ */
9
+ function getRandomNumber(length) {
10
+ return (0, getRandom_1.getRandom)(length, '1234567890');
11
+ }
12
+ exports.getRandomNumber = getRandomNumber;
package/lib/index.d.ts CHANGED
@@ -25,7 +25,9 @@ export * from './formatPathParams';
25
25
  export * from './getBlobByUrl';
26
26
  export * from './getDayMillisecond';
27
27
  export * from './getImageInfo';
28
+ export * from './getRandom';
28
29
  export * from './getRandomColor';
30
+ export * from './getRandomNumber';
29
31
  export * from './getVideoInfo';
30
32
  export * from './inBrowser';
31
33
  export * from './insertLink';
@@ -40,6 +42,7 @@ export * from './isEmpty';
40
42
  export * from './isEmptyObject';
41
43
  export * from './isError';
42
44
  export * from './isFunction';
45
+ export * from './isIE';
43
46
  export * from './isIOS';
44
47
  export * from './isIdCard';
45
48
  export * from './isJSONString';
@@ -55,7 +58,8 @@ export * from './isRegExp';
55
58
  export * from './isString';
56
59
  export * from './isURL';
57
60
  export * from './isUndefined';
58
- export * from './isWeixin';
61
+ export * from './isWeChat';
62
+ export * from './isWeChatMiniProgram';
59
63
  export * from './isWindow';
60
64
  export * from './kebabCase';
61
65
  export * from './mousewheel';
@@ -73,10 +77,13 @@ export * from './replaceCrlf';
73
77
  export * from './reserve';
74
78
  export * from './rgbToHex';
75
79
  export * from './round';
80
+ export * from './scrollToTop';
76
81
  export * from './sleep';
77
82
  export * from './splitArray';
78
83
  export * from './storage';
79
84
  export * from './stringTrim';
80
85
  export * from './stringifyQuery';
81
86
  export * from './throttle';
87
+ export * from './toCDB';
88
+ export * from './toDBC';
82
89
  export * from './typeOf';
package/lib/index.js CHANGED
@@ -42,7 +42,9 @@ __exportStar(require("./formatPathParams"), exports);
42
42
  __exportStar(require("./getBlobByUrl"), exports);
43
43
  __exportStar(require("./getDayMillisecond"), exports);
44
44
  __exportStar(require("./getImageInfo"), exports);
45
+ __exportStar(require("./getRandom"), exports);
45
46
  __exportStar(require("./getRandomColor"), exports);
47
+ __exportStar(require("./getRandomNumber"), exports);
46
48
  __exportStar(require("./getVideoInfo"), exports);
47
49
  __exportStar(require("./inBrowser"), exports);
48
50
  __exportStar(require("./insertLink"), exports);
@@ -57,6 +59,7 @@ __exportStar(require("./isEmpty"), exports);
57
59
  __exportStar(require("./isEmptyObject"), exports);
58
60
  __exportStar(require("./isError"), exports);
59
61
  __exportStar(require("./isFunction"), exports);
62
+ __exportStar(require("./isIE"), exports);
60
63
  __exportStar(require("./isIOS"), exports);
61
64
  __exportStar(require("./isIdCard"), exports);
62
65
  __exportStar(require("./isJSONString"), exports);
@@ -72,7 +75,8 @@ __exportStar(require("./isRegExp"), exports);
72
75
  __exportStar(require("./isString"), exports);
73
76
  __exportStar(require("./isURL"), exports);
74
77
  __exportStar(require("./isUndefined"), exports);
75
- __exportStar(require("./isWeixin"), exports);
78
+ __exportStar(require("./isWeChat"), exports);
79
+ __exportStar(require("./isWeChatMiniProgram"), exports);
76
80
  __exportStar(require("./isWindow"), exports);
77
81
  __exportStar(require("./kebabCase"), exports);
78
82
  __exportStar(require("./mousewheel"), exports);
@@ -90,10 +94,13 @@ __exportStar(require("./replaceCrlf"), exports);
90
94
  __exportStar(require("./reserve"), exports);
91
95
  __exportStar(require("./rgbToHex"), exports);
92
96
  __exportStar(require("./round"), exports);
97
+ __exportStar(require("./scrollToTop"), exports);
93
98
  __exportStar(require("./sleep"), exports);
94
99
  __exportStar(require("./splitArray"), exports);
95
100
  __exportStar(require("./storage"), exports);
96
101
  __exportStar(require("./stringTrim"), exports);
97
102
  __exportStar(require("./stringifyQuery"), exports);
98
103
  __exportStar(require("./throttle"), exports);
104
+ __exportStar(require("./toCDB"), exports);
105
+ __exportStar(require("./toDBC"), exports);
99
106
  __exportStar(require("./typeOf"), exports);
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * 判断是否是空对象
3
- * @param v 对象
3
+ * @param val 对象
4
4
  */
5
- export declare function isEmptyObject(v: object): boolean;
5
+ export declare function isEmptyObject(val: object): boolean;
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isEmptyObject = void 0;
4
4
  /**
5
5
  * 判断是否是空对象
6
- * @param v 对象
6
+ * @param val 对象
7
7
  */
8
- function isEmptyObject(v) {
9
- return !Object.keys(v).length;
8
+ function isEmptyObject(val) {
9
+ return !Object.keys(val).length;
10
10
  }
11
11
  exports.isEmptyObject = isEmptyObject;
package/lib/isIE.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 判断浏览器是否是 ie
3
+ * 如果是 ie 则会返回对应 ie 版本
4
+ * 如果不是则返回false
5
+ */
6
+ export declare function isIE(): false | number;
package/lib/isIE.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isIE = void 0;
4
+ /**
5
+ * 判断浏览器是否是 ie
6
+ * 如果是 ie 则会返回对应 ie 版本
7
+ * 如果不是则返回false
8
+ */
9
+ function isIE() {
10
+ const ua = window.navigator.userAgent;
11
+ const msie = ua.indexOf('MSIE ');
12
+ if (msie > 0) {
13
+ // IE 10 or older => return version number
14
+ return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
15
+ }
16
+ const trident = ua.indexOf('Trident/');
17
+ if (trident > 0) {
18
+ // IE 11 => return version number
19
+ const rv = ua.indexOf('rv:');
20
+ return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
21
+ }
22
+ // https://learn.microsoft.com/zh-cn/microsoft-edge/web-platform/user-agent-guidance
23
+ // https://learn.microsoft.com/zh-cn/microsoft-edge/web-platform/user-agent-guidance#microsoft-edge-legacy
24
+ const edge = ua.indexOf('Edge/');
25
+ if (edge > 0) {
26
+ // Edge (IE 12+) => return version number
27
+ return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);
28
+ }
29
+ return false;
30
+ }
31
+ exports.isIE = isIE;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 判断是否是微信浏览器
3
+ */
4
+ export declare function isWeChat(): boolean;
5
+ /**
6
+ * 判断是否是微信浏览器
7
+ * @deprecated 请使用 isWeChat 方法
8
+ */
9
+ export declare function isWeixin(): boolean;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isWeixin = exports.isWeChat = void 0;
4
+ /**
5
+ * 判断是否是微信浏览器
6
+ */
7
+ function isWeChat() {
8
+ return /MicroMessenger/gi.test(window.navigator.userAgent);
9
+ }
10
+ exports.isWeChat = isWeChat;
11
+ /**
12
+ * 判断是否是微信浏览器
13
+ * @deprecated 请使用 isWeChat 方法
14
+ */
15
+ function isWeixin() {
16
+ return isWeChat();
17
+ }
18
+ exports.isWeixin = isWeixin;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 判断是否是微信小程序web-view环境
3
+ * https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html
4
+ */
5
+ export declare function isWeChatMiniProgram(): boolean;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isWeChatMiniProgram = void 0;
4
+ /**
5
+ * 判断是否是微信小程序web-view环境
6
+ * https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html
7
+ */
8
+ function isWeChatMiniProgram() {
9
+ // 从微信7.0.0开始,可以通过判断userAgent中包含miniProgram字样来判断小程序web-view环境。
10
+ return window.navigator.userAgent.toLocaleLowerCase().includes('miniprogram');
11
+ }
12
+ exports.isWeChatMiniProgram = isWeChatMiniProgram;
package/lib/parseQuery.js CHANGED
@@ -8,8 +8,14 @@ const isJSONString_1 = require("./isJSONString");
8
8
  * @param k 键名
9
9
  */
10
10
  function parseQuery(v, k) {
11
- const url = new URL(v !== null && v !== void 0 ? v : '');
12
- const searchStr = v ? url.search : window.location.search;
11
+ let searchStr = '';
12
+ if (!v) {
13
+ searchStr = window.location.search;
14
+ }
15
+ else {
16
+ const url = new URL(v);
17
+ searchStr = url.search;
18
+ }
13
19
  const query = new URLSearchParams(decodeURIComponent(searchStr));
14
20
  // 单个直接返回
15
21
  if (k) {