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