@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.
package/dist/index.amd.js CHANGED
@@ -1768,7 +1768,7 @@ define((function () { 'use strict';
1768
1768
  let that = this;
1769
1769
  let requestOption = {
1770
1770
  url: userRequestOption.url || this.context.#defaultDetails.url,
1771
- method: (method || "GET").toString().toUpperCase(),
1771
+ method: (method || "GET").toString().toUpperCase().trim(),
1772
1772
  timeout: userRequestOption.timeout || this.context.#defaultDetails.timeout,
1773
1773
  responseType: userRequestOption.responseType ||
1774
1774
  this.context.#defaultDetails.responseType,
@@ -1924,15 +1924,23 @@ define((function () { 'use strict';
1924
1924
  // GET类型,data如果有,那么需要转为searchParams
1925
1925
  let urlObj = new URL(requestOption.url);
1926
1926
  let urlSearch = "";
1927
+ let isHandler = false;
1927
1928
  if (typeof requestOption.data === "string") {
1929
+ isHandler = true;
1928
1930
  urlSearch = requestOption.data;
1929
1931
  }
1930
1932
  else if (typeof requestOption.data === "object") {
1933
+ isHandler = true;
1931
1934
  // URLSearchParams参数可以转普通的string:string,包括FormData
1932
1935
  // @ts-ignore
1933
1936
  let searchParams = new URLSearchParams(requestOption.data);
1934
1937
  urlSearch = searchParams.toString();
1935
1938
  }
1939
+ if (isHandler) {
1940
+ // GET/HEAD请求不支持data参数
1941
+ // 对data进行处理了才可以删除
1942
+ Reflect.deleteProperty(requestOption, "data");
1943
+ }
1936
1944
  if (urlSearch != "") {
1937
1945
  if (urlObj.search === "") {
1938
1946
  // url没有search参数,直接覆盖
@@ -4911,6 +4919,12 @@ define((function () { 'use strict';
4911
4919
  return Math.min(...newResult);
4912
4920
  }
4913
4921
  }
4922
+ /**
4923
+ * 获取随机的安卓手机User-Agent
4924
+ * @example
4925
+ * Utils.getRandomAndroidUA();
4926
+ * > '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'
4927
+ **/
4914
4928
  getRandomAndroidUA() {
4915
4929
  let UtilsContext = this;
4916
4930
  let mobileNameList = [
@@ -4929,14 +4943,44 @@ define((function () { 'use strict';
4929
4943
  "M2003J15SC Build/RP1A.200720.011; wv",
4930
4944
  "MI 13 Build/OPR1.170623.027; wv",
4931
4945
  ];
4946
+ /* 安卓版本 */
4932
4947
  let androidVersion = UtilsContext.getRandomValue(12, 14);
4948
+ /* 手机型号 */
4933
4949
  let randomMobile = UtilsContext.getRandomValue(mobileNameList);
4934
- let chromeVersion1 = UtilsContext.getRandomValue(115, 127);
4950
+ /* chrome大版本号 */
4951
+ let chromeVersion1 = UtilsContext.getRandomValue(120, 132);
4935
4952
  let chromeVersion2 = UtilsContext.getRandomValue(0, 0);
4936
4953
  let chromeVersion3 = UtilsContext.getRandomValue(2272, 6099);
4937
4954
  let chromeVersion4 = UtilsContext.getRandomValue(1, 218);
4938
4955
  return `Mozilla/5.0 (Linux; Android ${androidVersion}; ${randomMobile}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${chromeVersion1}.${chromeVersion2}.${chromeVersion3}.${chromeVersion4} Mobile Safari/537.36`;
4939
4956
  }
4957
+ /**
4958
+ * 获取随机的电脑端User-Agent
4959
+ * + Mozilla/5.0:以前用于Netscape浏览器,目前大多数浏览器UA都会带有
4960
+ * + Windows NT 13:代表Window11系统
4961
+ * + Windows NT 10.0:代表Window10系统
4962
+ * + Windows NT 6.1:代表windows7系统
4963
+ * + WOW64:Windows-on-Windows 64-bit,32位的应用程序运行于此64位处理器上
4964
+ * + Win64:64位
4965
+ * + AppleWebKit/537.36:浏览器内核
4966
+ * + KHTML:HTML排版引擎
4967
+ * + like Gecko:这不是Geckeo 浏览器,但是运行起来像Geckeo浏览器
4968
+ * + Chrome/106.0.5068.19:Chrome版本号
4969
+ * + Safari/537.36:宣称自己是Safari?
4970
+ * @returns 返回随机字符串
4971
+ * @example
4972
+ * Utils.getRandomPCUA();
4973
+ * > 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.5068.19 Safari/537.36'
4974
+ **/
4975
+ getRandomPCUA() {
4976
+ let UtilsContext = this;
4977
+ /* chrome大版本号 */
4978
+ let chromeVersion1 = UtilsContext.getRandomValue(120, 132);
4979
+ let chromeVersion2 = UtilsContext.getRandomValue(0, 0);
4980
+ let chromeVersion3 = UtilsContext.getRandomValue(2272, 6099);
4981
+ let chromeVersion4 = UtilsContext.getRandomValue(1, 218);
4982
+ return `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${chromeVersion1}.${chromeVersion2}.${chromeVersion3}.${chromeVersion4} Safari/537.36`;
4983
+ }
4940
4984
  getRandomValue(...args) {
4941
4985
  let result = [...args];
4942
4986
  if (result.length > 1) {
@@ -4966,32 +5010,6 @@ define((function () { 'use strict';
4966
5010
  }
4967
5011
  }
4968
5012
  }
4969
- /**
4970
- * 获取随机的电脑端User-Agent
4971
- * + Mozilla/5.0:以前用于Netscape浏览器,目前大多数浏览器UA都会带有
4972
- * + Windows NT 13:代表Window11系统
4973
- * + Windows NT 10.0:代表Window10系统
4974
- * + Windows NT 6.1:代表windows7系统
4975
- * + WOW64:Windows-on-Windows 64-bit,32位的应用程序运行于此64位处理器上
4976
- * + Win64:64位
4977
- * + AppleWebKit/537.36:浏览器内核
4978
- * + KHTML:HTML排版引擎
4979
- * + like Gecko:这不是Geckeo 浏览器,但是运行起来像Geckeo浏览器
4980
- * + Chrome/106.0.5068.19:Chrome版本号
4981
- * + Safari/537.36:宣称自己是Safari?
4982
- * @returns 返回随机字符串
4983
- * @example
4984
- * Utils.getRandomPCUA();
4985
- * > 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.5068.19 Safari/537.36'
4986
- **/
4987
- getRandomPCUA() {
4988
- let UtilsContext = this;
4989
- let chromeVersion1 = UtilsContext.getRandomValue(115, 127);
4990
- let chromeVersion2 = UtilsContext.getRandomValue(0, 0);
4991
- let chromeVersion3 = UtilsContext.getRandomValue(2272, 6099);
4992
- let chromeVersion4 = UtilsContext.getRandomValue(1, 218);
4993
- return `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${chromeVersion1}.${chromeVersion2}.${chromeVersion3}.${chromeVersion4} Safari/537.36`;
4994
- }
4995
5013
  /**
4996
5014
  * 获取元素上的使用React框架的实例属性,目前包括reactFiber、reactProps、reactEvents、reactEventHandlers、reactInternalInstance
4997
5015
  * @param element 需要获取的目标元素