@whitesev/utils 2.4.8 → 2.5.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.
@@ -469,6 +469,25 @@ declare class Utils {
469
469
  * > 'Mozilla/5.0 (Linux; Android 10; MI 13 Build/OPR1.170623.027; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.3490.40 Mobile Safari/537.36'
470
470
  **/
471
471
  getRandomAndroidUA(): string;
472
+ /**
473
+ * 获取随机的电脑端User-Agent
474
+ * + Mozilla/5.0:以前用于Netscape浏览器,目前大多数浏览器UA都会带有
475
+ * + Windows NT 13:代表Window11系统
476
+ * + Windows NT 10.0:代表Window10系统
477
+ * + Windows NT 6.1:代表windows7系统
478
+ * + WOW64:Windows-on-Windows 64-bit,32位的应用程序运行于此64位处理器上
479
+ * + Win64:64位
480
+ * + AppleWebKit/537.36:浏览器内核
481
+ * + KHTML:HTML排版引擎
482
+ * + like Gecko:这不是Geckeo 浏览器,但是运行起来像Geckeo浏览器
483
+ * + Chrome/106.0.5068.19:Chrome版本号
484
+ * + Safari/537.36:宣称自己是Safari?
485
+ * @returns 返回随机字符串
486
+ * @example
487
+ * Utils.getRandomPCUA();
488
+ * > 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.5068.19 Safari/537.36'
489
+ **/
490
+ getRandomPCUA(): string;
472
491
  /**
473
492
  * 获取随机值
474
493
  * @example
@@ -500,25 +519,6 @@ declare class Utils {
500
519
  * > {1: 1}
501
520
  */
502
521
  getRandomValue<T extends any>(val_1: UtilsOwnObject<T>, val_2: UtilsOwnObject<T>): T;
503
- /**
504
- * 获取随机的电脑端User-Agent
505
- * + Mozilla/5.0:以前用于Netscape浏览器,目前大多数浏览器UA都会带有
506
- * + Windows NT 13:代表Window11系统
507
- * + Windows NT 10.0:代表Window10系统
508
- * + Windows NT 6.1:代表windows7系统
509
- * + WOW64:Windows-on-Windows 64-bit,32位的应用程序运行于此64位处理器上
510
- * + Win64:64位
511
- * + AppleWebKit/537.36:浏览器内核
512
- * + KHTML:HTML排版引擎
513
- * + like Gecko:这不是Geckeo 浏览器,但是运行起来像Geckeo浏览器
514
- * + Chrome/106.0.5068.19:Chrome版本号
515
- * + Safari/537.36:宣称自己是Safari?
516
- * @returns 返回随机字符串
517
- * @example
518
- * Utils.getRandomPCUA();
519
- * > 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.5068.19 Safari/537.36'
520
- **/
521
- getRandomPCUA(): string;
522
522
  /**
523
523
  * 获取元素上的使用React框架的实例属性,目前包括reactFiber、reactProps、reactEvents、reactEventHandlers、reactInternalInstance
524
524
  * @param element 需要获取的目标元素
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whitesev/utils",
3
- "version": "2.4.8",
3
+ "version": "2.5.0",
4
4
  "description": "一个常用的工具库",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
package/src/Httpx.ts CHANGED
@@ -275,7 +275,7 @@ class Httpx {
275
275
  let that = this;
276
276
  let requestOption = <Required<HttpxRequestOption>>{
277
277
  url: userRequestOption.url || this.context.#defaultDetails.url,
278
- method: (method || "GET").toString().toUpperCase(),
278
+ method: (method || "GET").toString().toUpperCase().trim(),
279
279
  timeout:
280
280
  userRequestOption.timeout || this.context.#defaultDetails.timeout,
281
281
  responseType:
@@ -510,14 +510,22 @@ class Httpx {
510
510
  // GET类型,data如果有,那么需要转为searchParams
511
511
  let urlObj = new URL(requestOption.url);
512
512
  let urlSearch = "";
513
+ let isHandler = false;
513
514
  if (typeof requestOption.data === "string") {
515
+ isHandler = true;
514
516
  urlSearch = requestOption.data;
515
517
  } else if (typeof requestOption.data === "object") {
518
+ isHandler = true;
516
519
  // URLSearchParams参数可以转普通的string:string,包括FormData
517
520
  // @ts-ignore
518
521
  let searchParams = new URLSearchParams(requestOption.data);
519
522
  urlSearch = searchParams.toString();
520
523
  }
524
+ if (isHandler) {
525
+ // GET/HEAD请求不支持data参数
526
+ // 对data进行处理了才可以删除
527
+ Reflect.deleteProperty(requestOption, "data");
528
+ }
521
529
  if (urlSearch != "") {
522
530
  if (urlObj.search === "") {
523
531
  // url没有search参数,直接覆盖
@@ -580,6 +588,7 @@ class Httpx {
580
588
  } catch (error) {
581
589
  console.warn("Httpx ==> 转换data参数错误", error);
582
590
  }
591
+
583
592
  return requestOption;
584
593
  },
585
594
  /**
package/src/Utils.ts CHANGED
@@ -1398,7 +1398,6 @@ class Utils {
1398
1398
  * Utils.getRandomAndroidUA();
1399
1399
  * > 'Mozilla/5.0 (Linux; Android 10; MI 13 Build/OPR1.170623.027; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.3490.40 Mobile Safari/537.36'
1400
1400
  **/
1401
- getRandomAndroidUA(): string;
1402
1401
  getRandomAndroidUA(): string {
1403
1402
  let UtilsContext = this;
1404
1403
  let mobileNameList = [
@@ -1417,14 +1416,44 @@ class Utils {
1417
1416
  "M2003J15SC Build/RP1A.200720.011; wv",
1418
1417
  "MI 13 Build/OPR1.170623.027; wv",
1419
1418
  ];
1419
+ /* 安卓版本 */
1420
1420
  let androidVersion = UtilsContext.getRandomValue(12, 14);
1421
+ /* 手机型号 */
1421
1422
  let randomMobile = UtilsContext.getRandomValue(mobileNameList);
1422
- let chromeVersion1 = UtilsContext.getRandomValue(115, 127);
1423
+ /* chrome大版本号 */
1424
+ let chromeVersion1 = UtilsContext.getRandomValue(120, 132);
1423
1425
  let chromeVersion2 = UtilsContext.getRandomValue(0, 0);
1424
1426
  let chromeVersion3 = UtilsContext.getRandomValue(2272, 6099);
1425
1427
  let chromeVersion4 = UtilsContext.getRandomValue(1, 218);
1426
1428
  return `Mozilla/5.0 (Linux; Android ${androidVersion}; ${randomMobile}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${chromeVersion1}.${chromeVersion2}.${chromeVersion3}.${chromeVersion4} Mobile Safari/537.36`;
1427
1429
  }
1430
+ /**
1431
+ * 获取随机的电脑端User-Agent
1432
+ * + Mozilla/5.0:以前用于Netscape浏览器,目前大多数浏览器UA都会带有
1433
+ * + Windows NT 13:代表Window11系统
1434
+ * + Windows NT 10.0:代表Window10系统
1435
+ * + Windows NT 6.1:代表windows7系统
1436
+ * + WOW64:Windows-on-Windows 64-bit,32位的应用程序运行于此64位处理器上
1437
+ * + Win64:64位
1438
+ * + AppleWebKit/537.36:浏览器内核
1439
+ * + KHTML:HTML排版引擎
1440
+ * + like Gecko:这不是Geckeo 浏览器,但是运行起来像Geckeo浏览器
1441
+ * + Chrome/106.0.5068.19:Chrome版本号
1442
+ * + Safari/537.36:宣称自己是Safari?
1443
+ * @returns 返回随机字符串
1444
+ * @example
1445
+ * Utils.getRandomPCUA();
1446
+ * > 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.5068.19 Safari/537.36'
1447
+ **/
1448
+ getRandomPCUA(): string {
1449
+ let UtilsContext = this;
1450
+ /* chrome大版本号 */
1451
+ let chromeVersion1 = UtilsContext.getRandomValue(120, 132);
1452
+ let chromeVersion2 = UtilsContext.getRandomValue(0, 0);
1453
+ let chromeVersion3 = UtilsContext.getRandomValue(2272, 6099);
1454
+ let chromeVersion4 = UtilsContext.getRandomValue(1, 218);
1455
+ return `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${chromeVersion1}.${chromeVersion2}.${chromeVersion3}.${chromeVersion4} Safari/537.36`;
1456
+ }
1428
1457
  /**
1429
1458
  * 获取随机值
1430
1459
  * @example
@@ -1493,32 +1522,6 @@ class Utils {
1493
1522
  }
1494
1523
  }
1495
1524
  }
1496
- /**
1497
- * 获取随机的电脑端User-Agent
1498
- * + Mozilla/5.0:以前用于Netscape浏览器,目前大多数浏览器UA都会带有
1499
- * + Windows NT 13:代表Window11系统
1500
- * + Windows NT 10.0:代表Window10系统
1501
- * + Windows NT 6.1:代表windows7系统
1502
- * + WOW64:Windows-on-Windows 64-bit,32位的应用程序运行于此64位处理器上
1503
- * + Win64:64位
1504
- * + AppleWebKit/537.36:浏览器内核
1505
- * + KHTML:HTML排版引擎
1506
- * + like Gecko:这不是Geckeo 浏览器,但是运行起来像Geckeo浏览器
1507
- * + Chrome/106.0.5068.19:Chrome版本号
1508
- * + Safari/537.36:宣称自己是Safari?
1509
- * @returns 返回随机字符串
1510
- * @example
1511
- * Utils.getRandomPCUA();
1512
- * > 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.5068.19 Safari/537.36'
1513
- **/
1514
- getRandomPCUA(): string {
1515
- let UtilsContext = this;
1516
- let chromeVersion1 = UtilsContext.getRandomValue(115, 127);
1517
- let chromeVersion2 = UtilsContext.getRandomValue(0, 0);
1518
- let chromeVersion3 = UtilsContext.getRandomValue(2272, 6099);
1519
- let chromeVersion4 = UtilsContext.getRandomValue(1, 218);
1520
- return `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${chromeVersion1}.${chromeVersion2}.${chromeVersion3}.${chromeVersion4} Safari/537.36`;
1521
- }
1522
1525
  /**
1523
1526
  * 获取元素上的使用React框架的实例属性,目前包括reactFiber、reactProps、reactEvents、reactEventHandlers、reactInternalInstance
1524
1527
  * @param element 需要获取的目标元素