youtil 3.0.5 → 3.1.0-beta1

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 (109) hide show
  1. package/README.md +1 -1
  2. package/cjs/enum.js +2 -2
  3. package/cjs/loading.js +2 -2
  4. package/cjs/message.js +9 -9
  5. package/cjs/request.d.ts +8 -2
  6. package/cjs/request.js +42 -21
  7. package/dist/index.mjs +55 -0
  8. package/docs/404.html +4 -4
  9. package/docs/CNAME +1 -0
  10. package/docs/api/functions/copyToClipboard/index.html +5 -5
  11. package/docs/api/functions/createEnum/index.html +5 -5
  12. package/docs/api/functions/decodeHtml/index.html +5 -5
  13. package/docs/api/functions/deepCopy/index.html +5 -5
  14. package/docs/api/functions/delParam/index.html +5 -5
  15. package/docs/api/functions/encodeHtml/index.html +5 -5
  16. package/docs/api/functions/formatDate/index.html +5 -5
  17. package/docs/api/functions/formatJson/index.html +5 -5
  18. package/docs/api/functions/getIdCardLastChar/index.html +5 -5
  19. package/docs/api/functions/getParam/index.html +5 -5
  20. package/docs/api/functions/getParamInt/index.html +5 -5
  21. package/docs/api/functions/getParams/index.html +5 -5
  22. package/docs/api/functions/getRandom/index.html +5 -5
  23. package/docs/api/functions/getRandomStr/index.html +5 -5
  24. package/docs/api/functions/hideLoading/index.html +5 -5
  25. package/docs/api/functions/initWindowMessage/index.html +5 -5
  26. package/docs/api/functions/parseDate/index.html +5 -5
  27. package/docs/api/functions/request/index.html +5 -5
  28. package/docs/api/functions/setParam/index.html +5 -5
  29. package/docs/api/functions/showLoading/index.html +5 -5
  30. package/docs/api/functions/sleep/index.html +5 -5
  31. package/docs/api/functions/toHump/index.html +5 -5
  32. package/docs/api/functions/toUnderline/index.html +5 -5
  33. package/docs/api/functions/toUrlParams/index.html +5 -5
  34. package/docs/api/functions/validateIdCard/index.html +5 -5
  35. package/docs/api/globals/index.html +4 -4
  36. package/docs/api/index.html +4 -4
  37. package/docs/api/interfaces/IRequestOptions/index.html +5 -5
  38. package/docs/api/interfaces/IShowLoadingConfig/index.html +5 -5
  39. package/docs/api/variables/Request/index.html +5 -5
  40. package/docs/api/variables/keyCodes/index.html +5 -5
  41. package/docs/assets/js/{00078de9.10589ab0.js → 00078de9.40631b85.js} +1 -1
  42. package/docs/assets/js/{04050071.a8002edc.js → 04050071.c7e3abde.js} +1 -1
  43. package/docs/assets/js/{08f709b9.20175186.js → 08f709b9.a083fff8.js} +1 -1
  44. package/docs/assets/js/{094cfbf1.059dc44b.js → 094cfbf1.00977b14.js} +1 -1
  45. package/docs/assets/js/0c2147ef.7be0fbdf.js +1 -0
  46. package/docs/assets/js/114.c257b8b0.js +2 -0
  47. package/docs/assets/js/{1501a739.9c46a1a0.js → 1501a739.13d7c7be.js} +1 -1
  48. package/docs/assets/js/{1608b181.ee556934.js → 1608b181.cbe9c45e.js} +1 -1
  49. package/docs/assets/js/{194adc5f.096b8bfb.js → 194adc5f.8a12cf8c.js} +1 -1
  50. package/docs/assets/js/26a70007.f12496a6.js +1 -0
  51. package/docs/assets/js/{2e314e38.bd93e1d2.js → 2e314e38.32e955e9.js} +1 -1
  52. package/docs/assets/js/{3b14ef11.f58d4bf4.js → 3b14ef11.5bc3d469.js} +1 -1
  53. package/docs/assets/js/{479af78b.79861c79.js → 479af78b.8e2443f4.js} +1 -1
  54. package/docs/assets/js/66592e46.de586a2b.js +1 -0
  55. package/docs/assets/js/{6bc50bd8.c3b8079b.js → 6bc50bd8.3c68878f.js} +1 -1
  56. package/docs/assets/js/{7891b53e.f1a0b9c7.js → 7891b53e.79b654b9.js} +1 -1
  57. package/docs/assets/js/901a7e9f.5cd13eb6.js +1 -0
  58. package/docs/assets/js/9104954f.c7d49874.js +1 -0
  59. package/docs/assets/js/92b7d874.a379eff4.js +1 -0
  60. package/docs/assets/js/{9334cb7c.a3af00d3.js → 9334cb7c.c2c6b902.js} +1 -1
  61. package/docs/assets/js/{969412eb.49b9b427.js → 969412eb.5a33260d.js} +1 -1
  62. package/docs/assets/js/{9be94766.21974141.js → 9be94766.3c374589.js} +1 -1
  63. package/docs/assets/js/{9dd5329b.a634d68f.js → 9dd5329b.14301248.js} +1 -1
  64. package/docs/assets/js/{a0c44371.f387576d.js → a0c44371.6c889be4.js} +1 -1
  65. package/docs/assets/js/ab2af742.46b7af8c.js +1 -0
  66. package/docs/assets/js/{b01f3e06.7955089a.js → b01f3e06.62f3a014.js} +1 -1
  67. package/docs/assets/js/{ba6f0f15.a19814c2.js → ba6f0f15.39cd6e80.js} +1 -1
  68. package/docs/assets/js/{ccb851b4.69f9aa12.js → ccb851b4.bba2fb6b.js} +1 -1
  69. package/docs/assets/js/d4323bca.ac481634.js +1 -0
  70. package/docs/assets/js/d9f162ad.2abc1769.js +1 -0
  71. package/docs/assets/js/f4c916b9.07c4240c.js +1 -0
  72. package/docs/assets/js/{f7d87c57.b1f858d9.js → f7d87c57.9b13a5a8.js} +1 -1
  73. package/docs/assets/js/{f97ec998.c74cdecd.js → f97ec998.449e16b8.js} +1 -1
  74. package/docs/assets/js/{f9953324.47131b26.js → f9953324.325f2a5d.js} +1 -1
  75. package/docs/assets/js/{fc1c80db.e33d9024.js → fc1c80db.551e2052.js} +1 -1
  76. package/docs/assets/js/{main.98944413.js → main.15afa47b.js} +2 -2
  77. package/docs/assets/js/runtime~main.1ee1dff9.js +1 -0
  78. package/docs/demos/IcePkgDemo_doc_01_request_0/index.html +4 -4
  79. package/docs/demos/IcePkgDemo_doc_01_request_1/index.html +4 -4
  80. package/docs/demos/IcePkgDemo_doc_02_time_0/index.html +4 -4
  81. package/docs/demos/IcePkgDemo_doc_03_loading_0/index.html +4 -4
  82. package/docs/index.html +4 -4
  83. package/docs/loading/index.html +18 -18
  84. package/docs/request/index.html +32 -32
  85. package/docs/time/index.html +18 -18
  86. package/es/89c27c69.esm.es5.production.mjs +1 -0
  87. package/es/index.mjs +1 -1
  88. package/esm/enum.js +2 -2
  89. package/esm/loading.js +2 -2
  90. package/esm/message.js +9 -9
  91. package/esm/request.d.ts +8 -2
  92. package/esm/request.js +42 -21
  93. package/package.json +67 -69
  94. package/umd/index.js +1 -1
  95. package/docs/assets/js/0c2147ef.2bfcc843.js +0 -1
  96. package/docs/assets/js/26a70007.2f9f1f09.js +0 -1
  97. package/docs/assets/js/4638.9d9de9b8.js +0 -2
  98. package/docs/assets/js/66592e46.2632f241.js +0 -1
  99. package/docs/assets/js/901a7e9f.918395a0.js +0 -1
  100. package/docs/assets/js/9104954f.5585963d.js +0 -1
  101. package/docs/assets/js/92b7d874.503e9b92.js +0 -1
  102. package/docs/assets/js/ab2af742.1ab27925.js +0 -1
  103. package/docs/assets/js/d4323bca.58cb2228.js +0 -1
  104. package/docs/assets/js/d9f162ad.0b37af81.js +0 -1
  105. package/docs/assets/js/f4c916b9.107e0062.js +0 -1
  106. package/docs/assets/js/runtime~main.91fe50fb.js +0 -1
  107. package/es/bb1b9025.esm.es5.production.mjs +0 -1
  108. /package/docs/assets/js/{4638.9d9de9b8.js.LICENSE.txt → 114.c257b8b0.js.LICENSE.txt} +0 -0
  109. /package/docs/assets/js/{main.98944413.js.LICENSE.txt → main.15afa47b.js.LICENSE.txt} +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # youtil
2
2
 
3
- `youtil`,发音同`util`,中文可以叫做`油梯`,一个与框架(`Vue`、`React`等)、环境(`Nodejs`、`Browser`等)无关的小巧、精简、实用、不依赖任何第三方库的`JavaScript`工具库。
3
+ `youtil`,发音同`util`,中文可以叫做`油梯`,一个与框架(`Vue`、`React`等)、环境(`Nodejs`、`Browser`等)无关的小巧、精简、实用、不依赖任何第三方库的`JavaScript`工具库,官网:[youtil.haoji.me](https://youtil.haoji.me)。
4
4
 
5
5
  > 1. 代码还在不断补充完善,敬请期待!
6
6
  > 2. 少数方法可能依赖DOM,例如`showLoading`;
package/cjs/enum.js CHANGED
@@ -36,8 +36,8 @@ function createEnum(items) {
36
36
  return enumArray;
37
37
  } // 使用示例
38
38
  // const genders = createEnum([
39
- // { label: '男', value: 1, key: 'MAN', a: 1 },
40
- // { label: '女', value: '2', key: 'WOMAN' },
39
+ // { label: '男', value: 1, key: 'MAN', a: 1 },
40
+ // { label: '女', value: '2', key: 'WOMAN' },
41
41
  // ] as const);
42
42
  // console.log(genders.MAN); // 鼠标悬停显示类型为 1
43
43
  // console.log(genders.pick('MAN')); // 返回MAN的完整对象
package/cjs/loading.js CHANGED
@@ -40,10 +40,10 @@ var showLoading = function() {
40
40
  if (!document.getElementById(styleId)) {
41
41
  var style = document.createElement("style");
42
42
  style.id = styleId;
43
- style.innerHTML = "\n .".concat(id, " {\n position: fixed;\n left: 0;\n top: 0;\n width: 100vw;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n z-index: 10000;\n }\n .").concat(id, ".show-mask {\n pointer-events: unset;\n background: #00000070;\n }\n .").concat(id, " .mask-wrapper {\n position: fixed;\n }\n .").concat(id, " .loading-wrapper {\n width: 120px;\n height: 120px;\n z-index: 8000;\n background: rgba(0, 0, 0, 0.6);\n border-radius: 8px;\n text-align: center;\n color: white;\n display: flex;\n justify-content: center;\n flex-direction: column;\n align-items: center;\n pointer-events: initial;\n line-height: 1.3;\n }\n .").concat(id, " .loading-wrapper img {\n width: 50px;\n height: 50px;\n margin-bottom: 10px;\n }\n .").concat(id, " .loading-wrapper a {\n color: #6ab2ff;\n }");
43
+ style.innerHTML = "\n .".concat(id, " {\n position: fixed;\n left: 0;\n top: 0;\n width: 100vw;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n pointer-events: none;\n z-index: 10000;\n }\n .").concat(id, ".show-mask {\n pointer-events: unset;\n background: #00000070;\n }\n .").concat(id, " .mask-wrapper {\n position: fixed;\n }\n .").concat(id, " .loading-wrapper {\n width: 120px;\n height: 120px;\n z-index: 8000;\n background: rgba(0, 0, 0, 0.6);\n border-radius: 8px;\n text-align: center;\n color: white;\n display: flex;\n justify-content: center;\n flex-direction: column;\n align-items: center;\n pointer-events: initial;\n line-height: 1.3;\n }\n .").concat(id, " .loading-wrapper img {\n width: 50px;\n height: 50px;\n margin-bottom: 10px;\n }\n .").concat(id, " .loading-wrapper a {\n color: #6ab2ff;\n }");
44
44
  document.head.appendChild(style);
45
45
  }
46
- dom.innerHTML = '\n <div class="loading-wrapper">\n <img src="https://img.alicdn.com/tfs/TB1bnUsQBLoK1RjSZFuXXXn0XXa-32-32.svg" alt="加载中">\n <div>\n <span>'.concat(text, "</span>\n ").concat(cancelInline ? "" : "<br />", "\n ").concat(onCancel ? '<a href="javascript:;" class="cancel">取消</a>' : "", "\n </div>\n </div>");
46
+ dom.innerHTML = '\n <div class="loading-wrapper">\n <img src="https://img.alicdn.com/tfs/TB1bnUsQBLoK1RjSZFuXXXn0XXa-32-32.svg" alt="加载中">\n <div>\n <span>'.concat(text, "</span>\n ").concat(cancelInline ? "" : "<br />", "\n ").concat(onCancel ? '<a href="javascript:;" class="cancel">取消</a>' : "", "\n </div>\n </div>");
47
47
  if (onCancel) {
48
48
  var btn = dom.querySelector(".cancel");
49
49
  btn && btn.addEventListener("click", function() {
package/cjs/message.js CHANGED
@@ -19,11 +19,11 @@ function initWindowMessage(scene, targetWindow) {
19
19
  return functionId;
20
20
  };
21
21
  var postMessage = /**
22
- * 发送消息并等待响应
23
- * @param {string} eventName 事件名称
24
- * @param {*} [payload] 负载数据
25
- * @returns {Promise} 返回一个Promise,resolve接收回调数据
26
- */ function postMessage(eventName) {
22
+ * 发送消息并等待响应
23
+ * @param {string} eventName 事件名称
24
+ * @param {*} [payload] 负载数据
25
+ * @returns {Promise} 返回一个Promise,resolve接收回调数据
26
+ */ function postMessage(eventName) {
27
27
  for(var _len = arguments.length, payload = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
28
28
  payload[_key - 1] = arguments[_key];
29
29
  }
@@ -49,10 +49,10 @@ function initWindowMessage(scene, targetWindow) {
49
49
  });
50
50
  };
51
51
  var onMessage = /**
52
- * 监听消息
53
- * @param {string} eventName 事件名称
54
- * @param {function} listener 监听函数(支持异步):(...params) => callbackValue
55
- */ function onMessage(eventName, listener) {
52
+ * 监听消息
53
+ * @param {string} eventName 事件名称
54
+ * @param {function} listener 监听函数(支持异步):(...params) => callbackValue
55
+ */ function onMessage(eventName, listener) {
56
56
  if (!eventListeners.has(eventName)) eventListeners.set(eventName, []);
57
57
  eventListeners.get(eventName).push(listener);
58
58
  };
package/cjs/request.d.ts CHANGED
@@ -22,16 +22,22 @@ export interface IRequestOptions {
22
22
  checkSuccess?: (resp: any) => boolean;
23
23
  /** 对响应进行自定义格式化处理,包含 checkSuccess 全部能力 */
24
24
  responseConverter?: (resp: any) => any;
25
- /** 后端未返回 message 时的兜底异常文案 */
25
+ /** @deprecated 后端未返回 message 时的默认异常文案,由于名称经常引发歧义,估改名为 defaultErrorMessage */
26
26
  errorMessage?: string;
27
+ /** 后端未返回 message 时的默认异常文案 */
28
+ defaultErrorMessage?: string;
27
29
  /** 发生异常时的处理方法,一般不太建议重写此方法 */
28
- errorHandler?: (message: string, resp?: any) => void;
30
+ errorHandler?: (message: string, resp: any, options: IRequestOptions) => void;
29
31
  /** 自定义toast实现,为了和UI解耦,方法默认不包含UI处理代码 */
30
32
  toastHandler?: (message: string) => void;
31
33
  /** 是否关闭默认的异常toast */
32
34
  silent?: boolean;
33
35
  /** 自定义 fetch.then() ,非常底层的一个方法,非必要请勿使用 */
34
36
  onFetchResponse?: (response: Response) => any;
37
+ /** 切换loading状态的方法,会在开始请求前置为true,结束时置为false。为什么设计这个方法?在非hooks场景下更方便的切换loading状态 */
38
+ setLoading?: (loading?: boolean) => void;
39
+ /** 覆盖默认的 resp.message 自定义异常抛出文案,也支持传入方法,注意返回''和undefined效果不同 */
40
+ overrideMessage?: string | ((resp: any) => string);
35
41
  }
36
42
  /**
37
43
  * 通用的API请求方法
package/cjs/request.js CHANGED
@@ -16,9 +16,15 @@ _export(exports, {
16
16
  return Request;
17
17
  }
18
18
  });
19
+ var _assertThisInitialized = require("@swc/helpers/lib/_assert_this_initialized.js").default;
19
20
  var _asyncToGenerator = require("@swc/helpers/lib/_async_to_generator.js").default;
21
+ var _classCallCheck = require("@swc/helpers/lib/_class_call_check.js").default;
22
+ var _inherits = require("@swc/helpers/lib/_inherits.js").default;
20
23
  var _instanceof = require("@swc/helpers/lib/_instanceof.js").default;
21
24
  var _objectSpread = require("@swc/helpers/lib/_object_spread.js").default;
25
+ var _objectSpreadProps = require("@swc/helpers/lib/_object_spread_props.js").default;
26
+ var _wrapNativeSuper = require("@swc/helpers/lib/_wrap_native_super.js").default;
27
+ var _createSuper = require("@swc/helpers/lib/_create_super.js").default;
22
28
  var _tsGenerator = require("@swc/helpers/lib/_ts_generator.js").default;
23
29
  var _param = require("./param");
24
30
  /** 合并2个options对象 */ var mergeOptions = function(ops1, ops2) {
@@ -30,6 +36,21 @@ var _param = require("./param");
30
36
  fetchOptions: fetchOptions
31
37
  });
32
38
  };
39
+ /**
40
+ * 支持传入自定义属性的Error对象,包括 cause
41
+ */ var MyError = /*#__PURE__*/ function(Error1) {
42
+ "use strict";
43
+ _inherits(MyError, Error1);
44
+ var _super = _createSuper(MyError);
45
+ function MyError(message, options) {
46
+ _classCallCheck(this, MyError);
47
+ var _this;
48
+ _this = _super.call(this, message);
49
+ Object.assign(_assertThisInitialized(_this), options || {});
50
+ return _this;
51
+ }
52
+ return MyError;
53
+ }(_wrapNativeSuper(Error));
33
54
  /**
34
55
  * 通用的API请求方法
35
56
  * @param url
@@ -37,17 +58,17 @@ var _param = require("./param");
37
58
  * @returns
38
59
  */ var request = function() {
39
60
  var _ref = _asyncToGenerator(function(url, options) {
40
- var defaultOptions, _ref, params, data, formData, json, method, headers, baseUrl, fetchOptions, checkSuccess, afterRequest, errorHandler, errorMessage, responseConverter, onFetchResponse, body, key, resp, _location_pathname_split, targetUrl, e, _e_response;
61
+ var defaultOptions, _ref, params, data, formData, json, method, headers, baseUrl, fetchOptions, checkSuccess, afterRequest, errorHandler, errorMessage, responseConverter, onFetchResponse, setLoading, overrideMessage, defaultErrorMessage, body, key, resp, _location_pathname_split, targetUrl, e, _e_response, localMessage, localMessage1;
41
62
  return _tsGenerator(this, function(_state) {
42
63
  switch(_state.label){
43
64
  case 0:
44
65
  defaultOptions = {
45
66
  errorMessage: "系统繁忙,请稍后再试",
46
- errorHandler: function(msg) {
67
+ errorHandler: function(message) {
47
68
  var _options_toastHandler;
48
- if (!(options === null || options === void 0 ? void 0 : options.silent)) options === null || options === void 0 ? void 0 : (_options_toastHandler = options.toastHandler) === null || _options_toastHandler === void 0 ? void 0 : _options_toastHandler.call(options, msg);
69
+ if (!(options === null || options === void 0 ? void 0 : options.silent) && message) options === null || options === void 0 ? void 0 : (_options_toastHandler = options.toastHandler) === null || _options_toastHandler === void 0 ? void 0 : _options_toastHandler.call(options, message);
49
70
  // 抛出异常,阻止执行之后的操作
50
- throw new Error(msg);
71
+ throw new Error(message);
51
72
  },
52
73
  baseUrl: "",
53
74
  headers: {},
@@ -63,21 +84,18 @@ var _param = require("./param");
63
84
  },
64
85
  onFetchResponse: function(response) {
65
86
  if (response.status === 200) return response.json();
66
- var errorResponse = {
67
- code: response.status,
68
- status: response.status,
69
- message: response.statusText,
70
- headers: response.headers,
71
- // 返回整个response备用,但是一般不推荐用户直接使用
72
- _response: response
73
- };
74
- var error = new Error(errorResponse.message);
75
- error.response = errorResponse;
76
- throw error;
87
+ throw new MyError(response.statusText, {
88
+ response: _objectSpreadProps(_objectSpread({}, response), {
89
+ code: response.status,
90
+ message: response.statusText,
91
+ /** 标记这是HTTP原始响应,并非服务端返回数据 */ isHttpResponse: true
92
+ })
93
+ });
77
94
  }
78
95
  };
79
96
  options = mergeOptions(defaultOptions, options);
80
- _ref = options || {}, params = _ref.params, data = _ref.data, formData = _ref.formData, json = _ref.json, method = _ref.method, headers = _ref.headers, baseUrl = _ref.baseUrl, fetchOptions = _ref.fetchOptions, checkSuccess = _ref.checkSuccess, afterRequest = _ref.afterRequest, errorHandler = _ref.errorHandler, errorMessage = _ref.errorMessage, responseConverter = _ref.responseConverter, onFetchResponse = _ref.onFetchResponse;
97
+ _ref = options || {}, params = _ref.params, data = _ref.data, formData = _ref.formData, json = _ref.json, method = _ref.method, headers = _ref.headers, baseUrl = _ref.baseUrl, fetchOptions = _ref.fetchOptions, checkSuccess = _ref.checkSuccess, afterRequest = _ref.afterRequest, errorHandler = _ref.errorHandler, errorMessage = _ref.errorMessage, responseConverter = _ref.responseConverter, onFetchResponse = _ref.onFetchResponse, setLoading = _ref.setLoading, overrideMessage = _ref.overrideMessage;
98
+ defaultErrorMessage = (options === null || options === void 0 ? void 0 : options.defaultErrorMessage) || errorMessage;
81
99
  // fetchOptions 里面的 headers 优先级高于外部的 headers
82
100
  fetchOptions.headers = _objectSpread({}, headers || {}, fetchOptions.headers || {});
83
101
  if (params) {
@@ -109,6 +127,7 @@ var _param = require("./param");
109
127
  }, fetchOptions.headers || {})
110
128
  });
111
129
  resp = null;
130
+ setLoading === null || setLoading === void 0 ? void 0 : setLoading(true);
112
131
  _state.label = 1;
113
132
  case 1:
114
133
  _state.trys.push([
@@ -133,15 +152,16 @@ var _param = require("./param");
133
152
  case 3:
134
153
  e = _state.sent();
135
154
  console.error(e);
136
- afterRequest === null || afterRequest === void 0 ? void 0 : afterRequest(false, {
137
- message: e === null || e === void 0 ? void 0 : e.message
138
- });
139
- errorHandler === null || errorHandler === void 0 ? void 0 : errorHandler(((_e_response = e.response) === null || _e_response === void 0 ? void 0 : _e_response.message) || errorMessage || "", e.response);
155
+ setLoading === null || setLoading === void 0 ? void 0 : setLoading(false);
156
+ afterRequest === null || afterRequest === void 0 ? void 0 : afterRequest(false, e.response);
157
+ localMessage = typeof overrideMessage === "function" ? overrideMessage(e.response) : overrideMessage;
158
+ errorHandler === null || errorHandler === void 0 ? void 0 : errorHandler(localMessage !== null && localMessage !== void 0 ? localMessage : ((_e_response = e.response) === null || _e_response === void 0 ? void 0 : _e_response.message) || defaultErrorMessage, e.response, options);
140
159
  return [
141
160
  2,
142
161
  undefined
143
162
  ];
144
163
  case 4:
164
+ setLoading === null || setLoading === void 0 ? void 0 : setLoading(false);
145
165
  resp = responseConverter ? responseConverter(resp) : resp;
146
166
  if (checkSuccess === null || checkSuccess === void 0 ? void 0 : checkSuccess(resp)) {
147
167
  afterRequest === null || afterRequest === void 0 ? void 0 : afterRequest(true, resp);
@@ -151,7 +171,8 @@ var _param = require("./param");
151
171
  ];
152
172
  } else {
153
173
  afterRequest === null || afterRequest === void 0 ? void 0 : afterRequest(false, resp);
154
- errorHandler === null || errorHandler === void 0 ? void 0 : errorHandler(resp.message || resp.msg || errorMessage || "", resp);
174
+ localMessage1 = typeof overrideMessage === "function" ? overrideMessage(resp) : overrideMessage;
175
+ errorHandler === null || errorHandler === void 0 ? void 0 : errorHandler(localMessage1 !== null && localMessage1 !== void 0 ? localMessage1 : resp.message || defaultErrorMessage, resp, options);
155
176
  return [
156
177
  2,
157
178
  undefined
package/dist/index.mjs ADDED
@@ -0,0 +1,55 @@
1
+ var P=Object.defineProperty,D=Object.defineProperties;var _=Object.getOwnPropertyDescriptors;var S=Object.getOwnPropertySymbols;var F=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable;var q=(e,n,t)=>n in e?P(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,O=(e,n)=>{for(var t in n||(n={}))F.call(n,t)&&q(e,t,n[t]);if(S)for(var t of S(n))U.call(n,t)&&q(e,t,n[t]);return e},L=(e,n)=>D(e,_(n));function X(e){let n=[...e];return e.forEach(t=>{n[t.key]=t.value}),n.pick=t=>e.find(r=>r.key===t||r.value===t),n.pickLabel=t=>{var r;return(r=n.pick(t))==null?void 0:r.label},n.pickValue=t=>{var r;return(r=n.pick(t))==null?void 0:r.value},n.pickKey=t=>{var r;return(r=n.pick(t))==null?void 0:r.key},n}var Z=(e="\u8BF7\u7A0D\u5019",n=10,t={})=>{t=Object.assign({},{hasMask:!1,maskColor:"#00000070",onCancel:null,cancelInline:!1,id:"com_global_page_loading"},t);let{id:s,hasMask:c,maskColor:l,onCancel:d,cancelInline:w}=t,x=`_${s}_timeout`;window[x]&&clearTimeout(window[x]);let u=document.getElementById(s);u||(u=document.createElement("div"),u.id=s,u.className=s,document.body.append(u));let a=`${s}_style`;if(!document.getElementById(a)){let i=document.createElement("style");i.id=a,i.innerHTML=`
2
+ .${s} {
3
+ position: fixed;
4
+ left: 0;
5
+ top: 0;
6
+ width: 100vw;
7
+ height: 100vh;
8
+ display: flex;
9
+ justify-content: center;
10
+ align-items: center;
11
+ pointer-events: none;
12
+ z-index: 10000;
13
+ }
14
+ .${s}.show-mask {
15
+ pointer-events: unset;
16
+ background: #00000070;
17
+ }
18
+ .${s} .mask-wrapper {
19
+ position: fixed;
20
+ }
21
+ .${s} .loading-wrapper {
22
+ width: 120px;
23
+ height: 120px;
24
+ z-index: 8000;
25
+ background: rgba(0, 0, 0, 0.6);
26
+ border-radius: 8px;
27
+ text-align: center;
28
+ color: white;
29
+ display: flex;
30
+ justify-content: center;
31
+ flex-direction: column;
32
+ align-items: center;
33
+ pointer-events: initial;
34
+ line-height: 1.3;
35
+ }
36
+ .${s} .loading-wrapper img {
37
+ width: 50px;
38
+ height: 50px;
39
+ margin-bottom: 10px;
40
+ }
41
+ .${s} .loading-wrapper a {
42
+ color: #6ab2ff;
43
+ }`,document.head.appendChild(i)}if(u.innerHTML=`
44
+ <div class="loading-wrapper">
45
+ <img src="https://img.alicdn.com/tfs/TB1bnUsQBLoK1RjSZFuXXXn0XXa-32-32.svg" alt="\u52A0\u8F7D\u4E2D">
46
+ <div>
47
+ <span>${e}</span>
48
+ ${w?"":"<br />"}
49
+ ${d?'<a href="javascript:;" class="cancel">\u53D6\u6D88</a>':""}
50
+ </div>
51
+ </div>`,d){let i=u.querySelector(".cancel");i&&i.addEventListener("click",()=>{I(),d()})}u.addEventListener("click",()=>{I()}),u.style.display="flex",u.style.background=c?l:"transparent",u.className=`${s} ${c?"show-mask":""}`,n>0&&(window[x]=setTimeout(()=>{I()},n*1e3))},I=()=>{let n=document.getElementById("com_global_page_loading");n&&(n.style.display="none")};function Y(e,n){!n&&window!==window.parent&&(n=window.parent),!n&&window.opener&&(n=window.opener);let t=new Map,r=new Map,s=()=>Math.random().toString(36).substring(2),c={},l="_local_function_";function d(a){let i=`${l}${s()}`;return c[i]=a,i}let w=(a,i)=>(a==null?void 0:a.map(g=>{if(typeof g=="object")for(let k in g)g[k]=i(g[k]);return i(g)}))||[];function x(a,...i){if(!n){console.warn("TargetWindow is null.");return}return new Promise((g,k)=>{let f=s();t.set(f,{resolve:g,reject:k}),n.postMessage({scene:e,type:"event",eventName:a,payload:w(i,y=>typeof y=="function"?d(y):y),callbackId:f},"*")})}window.addEventListener("message",async a=>{if(!a.data||a.data.scene!==e)return;n=a.source;let{type:i,eventName:g,payload:k,callbackId:f}=a.data;if(i==="event"){let y=w(k,m=>{if(typeof m=="string"&&m.startsWith(l)){let p=`getFn_${m}`;return(...b)=>x("executeLocalFunction",p,...b)}return m}),h=r.get(g)||[],v=r.get("*")||[];try{let m=await Promise.all(h.map(b=>Promise.resolve(b(...y)))),p=await Promise.all(v.map(b=>Promise.resolve(b(g,...y))));if(f){let b=m[m.length-1]||p[p.length-1];if(!h.length&&!b)return;n.postMessage({scene:e,type:"callback",callbackId:f,payload:b},"*")}}catch(m){console.error(m),f&&n.postMessage({scene:e,type:"callback",callbackId:f,error:m||"unknown error"},"*")}}else if(i==="callback"&&f){let y=t.get(f);y&&(a.data.error?y.reject(a.data.error):y.resolve(a.data.payload),t.delete(f))}});function u(a,i){r.has(a)||r.set(a,[]),r.get(a).push(i)}return u("executeLocalFunction",(a,...i)=>{if(a=(a==null?void 0:a.replace("getFn_",""))||"",!c[a])throw new Error(`\u672A\u627E\u5230\u672C\u5730\u7F13\u5B58\u65B9\u6CD5\uFF1A${a}`);return c[a](...i)}),x("auto-connect"),{postMessage:x,onMessage:u}}var Q=e=>!e||typeof e!="object"?e:JSON.parse(JSON.stringify(e)),A=e=>{if(typeof e=="string"){let n=document.createElement("div");return n.innerText=e,n.innerHTML}else if(typeof e=="object"&&e)for(let n in e)e[n]=A(e[n]);return e},B=e=>{if(typeof e=="string"){let n=document.createElement("div");return n.innerHTML=e,n.innerText}else if(typeof e=="object"&&e)for(let n in e)e[n]=B(e[n]);return e},W=(e,n,t)=>{if(!e)throw new Error("text can not be empty.");return n=n||(r=>console.error(`\u590D\u5236\u5230\u526A\u8D34\u677F\u5931\u8D25\uFF1A${r||""}`)),navigator.clipboard&&!t?navigator.clipboard.writeText(e).catch(r=>{throw n(r.message),r}):new Promise((r,s)=>{let c=document.createElement("input");c.value=e,c.style.cssText="position:fixed;left:0;top:0;opacity:0;",document.body.appendChild(c),c.select();try{if(document.execCommand("copy"))r();else{let l="Failed to execute 'document.execCommand'.";n(l),s(new Error(l))}}catch(l){n(l.message),s(l)}finally{document.body.removeChild(c)}})},K=e=>{if(!e||e.length<17)throw new Error("\u4F20\u5165\u7684\u8EAB\u4EFD\u8BC1\u53F7\u957F\u5EA6\u5FC5\u987B>=17");let n=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2],t=["1","0","X","9","8","7","6","5","4","3","2"],r=0;for(let s=0;s<17;s++)r+=parseInt(e.charAt(s),10)*n[s];return t[r%11]},ee=e=>!e||e.length!==18?(console.error("\u8EAB\u4EFD\u8BC1\u53F7\u4E0D\u662F18\u4F4D\uFF01"),!1):`${K(e)}`===e.charAt(17),ne=(()=>{let e={backspace:8,tab:9,clear:12,enter:13,shift:16,ctrl:17,alt:18,esc:27,space:32,pageup:33,pagedown:34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46};for(let n=48;n<=57;n++)e[String.fromCharCode(n)]=n;for(let n=65;n<=90;n++)e[String.fromCharCode(n).toLowerCase()]=n;for(let n=96;n<=105;n++)e[`num${n-96}`]=n;for(let n=112;n<=123;n++)e[`f${n-111}`]=n;return e})();var H=(e,n=location.search)=>(new RegExp(`(^|\\?|&)${e}=(.*?)(?=&|#|$)`,"g").exec(n)||[])[2],re=(e,n=location.search)=>parseInt(H(e,n)||"0",10),se=(e=location.search)=>{let n=((e||"").split("?").pop()||"").split("#")[0]||"",t={};return n.split("&").map(r=>r.split("=")).forEach(([r,s])=>{t[r]=s||""}),t},oe=(e,n,t)=>{if(t=t||`${location.pathname}${location.search}`,H(e,t)!==void 0)return t.replace(new RegExp(`(^|\\?|&)${e}=(.*?)(?=&|#|$)`,"g"),`$1${e}=${n}`);let[r,s]=t.split("#");return`${r}${r.indexOf("?")<0?"?":"&"}${e}=${n}${s?"#":""}${s||""}`},ae=(e,n)=>(n=n||`${location.pathname}${location.search}`,n.replace(new RegExp(`(^|\\?|&)${e}=.*?(&|#|$)`,"g"),(t,r,s)=>s==="&"?r:s)),M=e=>Object.keys(e||{}).filter(n=>e[n]!==void 0).map(n=>{let t=typeof e[n]=="object"?JSON.stringify(e[n]):e[n];return`${encodeURIComponent(n)}=${encodeURIComponent(t)}`}).join("&");var T=(e,n)=>{let t=Object.assign({},(e==null?void 0:e.headers)||{},(n==null?void 0:n.headers)||{}),r=Object.assign({},(e==null?void 0:e.fetchOptions)||{},(n==null?void 0:n.fetchOptions)||{});return Object.assign({},e||{},n||{},{headers:t,fetchOptions:r})},E=class extends Error{constructor(n,t){super(n),Object.assign(this,t||{})}},R=async(e,n)=>{var b,C;n=T({errorMessage:"\u7CFB\u7EDF\u7E41\u5FD9\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5",errorHandler:o=>{var $;throw!(n!=null&&n.silent)&&o&&(($=n==null?void 0:n.toastHandler)==null||$.call(n,o)),new Error(o)},baseUrl:"",headers:{},fetchOptions:{credentials:"include"},checkSuccess:o=>(o==null?void 0:o.code)==0||(o==null?void 0:o.code)==200,toastHandler:o=>console.error(`[\u60A8\u8FD8\u6CA1\u6709\u914D\u7F6EtoastHandler\uFF0C\u8BF7\u6839\u636E\u60A8\u7684UI\u7EC4\u4EF6\u5E93\u914D\u7F6E\u5408\u9002\u7684\u63D0\u793A\u65B9\u6CD5] ${o||""}`),onFetchResponse:o=>{if(o.status===200)return o.json();throw new E(o.statusText,{response:L(O({},o),{code:o.status,message:o.statusText,isHttpResponse:!0})})}},n);let{params:r,data:s,formData:c,json:l,method:d,headers:w,baseUrl:x,fetchOptions:u,checkSuccess:a,afterRequest:i,errorHandler:g,errorMessage:k,responseConverter:f,onFetchResponse:y,setLoading:h,overrideMessage:v}=n||{},m=(n==null?void 0:n.defaultErrorMessage)||k;if(u.headers=O(O({},w||{}),u.headers||{}),r&&(u.method=d||"GET",e=`${e}${e.indexOf("?")>=0?"&":"?"}${M(r)}`),s)Object.assign(u,{method:d||"POST",body:M(s),headers:O({"Content-Type":"application/x-www-form-urlencoded;charset=utf-8"},u.headers||{})});else if(c){let o=c;if(!(c instanceof FormData)){o=new FormData;for(let $ in c)o.append($,c[$])}Object.assign(u,{method:d||"POST",body:o})}else l&&Object.assign(u,{method:d||"POST",body:JSON.stringify(l),headers:O({"Content-Type":"application/json;charset=utf-8"},u.headers||{})});let p=null;h==null||h(!0);try{let o=`${/^(http|\/\/)/g.test(e)?"":x||""}${e}`;o.indexOf("//")===0&&location.protocol==="blob:"&&(o=`${(b=location.pathname.split(":"))==null?void 0:b[0]}:${o}`),p=await fetch(o,u).then(y)}catch(o){console.error(o),h==null||h(!1),i==null||i(!1,o.response);let $=typeof v=="function"?v(o.response):v;g==null||g($!=null?$:((C=o.response)==null?void 0:C.message)||m,o.response,n);return}if(h==null||h(!1),p=f?f(p):p,a!=null&&a(p))return i==null||i(!0,p),p.data;{i==null||i(!1,p);let o=typeof v=="function"?v(p):v;g==null||g(o!=null?o:p.message||m,p,n);return}},j=function(e){let n=T(this.overrideDefaultOptions,e),t=(r,s)=>R(r,T(n,s));return t.overrideDefaultOptions=n,t.create=j.bind(t),t};R.create=j.bind(R);var le=function(e,n){let t=n;return n||(t=e,e=R),(r,s)=>e(r,O(O({},t||{}),s||{}))};var ge=(e,n)=>{if(!e)return"";if(typeof e=="number")e=new Date(e);else if(typeof e=="string")if(/^\d{12,13}$/g.test(e))e=new Date(parseInt(e,10));else if(/^.{10}T.{8,12}Z?$/g.test(e))e=new Date(e);else return e;if(!(e instanceof Date))throw new Error("formatDate error: not date.");if(isNaN(e==null?void 0:e.getFullYear()))throw new Error("formatDate error: invalid date.");n=n||"yyyy-MM-dd HH:mm:ss";let t={y:e.getFullYear(),M:e.getMonth()+1,d:e.getDate(),q:Math.floor((e.getMonth()+3)/3),w:e.getDay(),H:e.getHours(),h:e.getHours()%12===0?12:e.getHours()%12,m:e.getMinutes(),s:e.getSeconds(),S:e.getMilliseconds()},r=["\u5929","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"];for(let s in t)n=n.replace(new RegExp(`${s}+`,"g"),c=>{let l=`${t[s]}`;if(s==="w")return`${c.length>2?"\u661F\u671F":"\u5468"}${r[l]}`;for(let d=0,w=l.length;d<c.length-w;d++)l=`0${l}`;return c.length===1?l:l.substring(l.length-c.length)});return n},pe=(e,n)=>{n=n||"yyyy-MM-dd";let t={y:0,M:1,d:0,H:0,h:0,m:0,s:0,S:0};n.replace(/([^yMdHmsS]*?)(([yMdHmsS])\3*)([^yMdHmsS]*?)/g,(s,c,l,d,w)=>(e=e.replace(new RegExp(`${c}(\\d{${l.length}})${w}`),(x,u)=>(t[d]=parseInt(u,10),"")),"")),t.M--;let r=new Date(t.y,t.M,t.d,t.H,t.m,t.s);return t.S!==0&&r.setMilliseconds(t.S),r},fe=e=>new Promise(n=>setTimeout(n,e||0));var ye=(json,indent,leftBracesInSameLine)=>{function getIndentStr(e){let n="";for(let t=0;t<e;t++)n+=indent||" ";return n}function format(e,n){n=n===void 0?0:n;let t="";if(typeof e=="object"&&e!=null){let r=e instanceof Array,s=0;t+=`${r?"[":"{"}
52
+ `;for(let c in e){t+=s++>0?`,
53
+ `:"";let l=typeof e[c]=="object"&&e[c]!=null,d=getIndentStr(n+1);t+=r&&l?"":d,t+=r?"":`"${c}": ${l&&!leftBracesInSameLine?`
54
+ `:""}`,t+=!l||l&&leftBracesInSameLine&&!r?"":d,t+=format(e[c],n+1)}t+=`
55
+ ${getIndentStr(n)}${r?"]":"}"}`}else{let r=typeof e=="string"?'"':"";t+=`${r}${e}${r}`}return t}return format(eval(`(${json})`))},N=(e,n)=>typeof e=="number"?(typeof n=="undefined"&&(n=e,e=0),e+Math.floor(Math.random()*(n-e))):e instanceof Array?typeof n=="undefined"?e.length===0?null:e.length===1?e[0]:e[Math.floor(Math.random()*e.length)]:(e.sort(()=>Math.random()>.5?1:-1),e.slice(0,n)):Math.random(),he=(e,n)=>{e=e||18;let t="ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz0123456789".split("");n==="number"&&(t="0123456789".split(""));let r="";for(let s=0;s<e;s++)r+=N(t);return r},be=(e,n)=>e.replace(/([A-Z])/g,(t,r)=>`${n||"_"}${r.toLowerCase()}`),we=(e,n)=>e.replace(new RegExp(`${n||"_"}(\\w)`,"g"),(t,r)=>r.toUpperCase());export{le as Request,W as copyToClipboard,X as createEnum,B as decodeHtml,Q as deepCopy,ae as delParam,A as encodeHtml,ge as formatDate,ye as formatJson,K as getIdCardLastChar,H as getParam,re as getParamInt,se as getParams,N as getRandom,he as getRandomStr,I as hideLoading,Y as initWindowMessage,ne as keyCodes,pe as parseDate,R as request,oe as setParam,Z as showLoading,fe as sleep,we as toHump,be as toUnderline,M as toUrlParams,ee as validateIdCard};
package/docs/404.html CHANGED
@@ -4,13 +4,13 @@
4
4
  <meta charset="UTF-8">
5
5
  <meta name="generator" content="Docusaurus v2.4.3">
6
6
  <title data-rh="true">找不到页面 | youtil文档</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/404.html"><meta data-rh="true" name="docusaurus_locale" content="zh-Hans"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="zh-Hans"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="找不到页面 | youtil文档"><link data-rh="true" rel="icon" href="https://img.alicdn.com/imgextra/i2/O1CN01jUf9ZP1aKwVvEc58W_!!6000000003312-73-tps-160-160.ico"><link data-rh="true" rel="canonical" href="https://your-docusaurus-test-site.com/404.html"><link data-rh="true" rel="alternate" href="https://your-docusaurus-test-site.com/404.html" hreflang="zh-Hans"><link data-rh="true" rel="alternate" href="https://your-docusaurus-test-site.com/404.html" hreflang="x-default"><link rel="stylesheet" href="/assets/css/styles.077146e6.css">
7
- <link rel="preload" href="/assets/js/runtime~main.91fe50fb.js" as="script">
8
- <link rel="preload" href="/assets/js/main.98944413.js" as="script">
7
+ <link rel="preload" href="/assets/js/runtime~main.1ee1dff9.js" as="script">
8
+ <link rel="preload" href="/assets/js/main.15afa47b.js" as="script">
9
9
  </head>
10
10
  <body class="navigation-with-keyboard">
11
11
  <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
12
12
  <div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/static/1.jpg" alt="" class="themedImage_ToTc themedImage--light_HNdA"><img src="/static/1.jpg" alt="" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">youtil (油梯)</b></a></div><div class="navbar__items navbar__items--right"><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="切换浅色/暗黑模式(当前为浅色模式)" aria-label="切换浅色/暗黑模式(当前为浅色模式)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><main class="container margin-vert--xl"><div class="row"><div class="col col--6 col--offset-3"><h1 class="hero__title">找不到页面</h1><p>我们找不到您要找的页面。</p><p>请联系原始链接来源网站的所有者,并告知他们链接已损坏。</p></div></div></main></div></div>
13
- <script src="/assets/js/runtime~main.91fe50fb.js"></script>
14
- <script src="/assets/js/main.98944413.js"></script>
13
+ <script src="/assets/js/runtime~main.1ee1dff9.js"></script>
14
+ <script src="/assets/js/main.15afa47b.js"></script>
15
15
  </body>
16
16
  </html>
package/docs/CNAME ADDED
@@ -0,0 +1 @@
1
+ youtil.haoji.me
@@ -4,15 +4,15 @@
4
4
  <meta charset="UTF-8">
5
5
  <meta name="generator" content="Docusaurus v2.4.3">
6
6
  <title data-rh="true">copyToClipboard | youtil文档</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/api/functions/copyToClipboard"><meta data-rh="true" name="docusaurus_locale" content="zh-Hans"><meta data-rh="true" name="docsearch:language" content="zh-Hans"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="copyToClipboard | youtil文档"><meta data-rh="true" name="description" content="youtil"><meta data-rh="true" property="og:description" content="youtil"><link data-rh="true" rel="icon" href="https://img.alicdn.com/imgextra/i2/O1CN01jUf9ZP1aKwVvEc58W_!!6000000003312-73-tps-160-160.ico"><link data-rh="true" rel="canonical" href="https://your-docusaurus-test-site.com/api/functions/copyToClipboard"><link data-rh="true" rel="alternate" href="https://your-docusaurus-test-site.com/api/functions/copyToClipboard" hreflang="zh-Hans"><link data-rh="true" rel="alternate" href="https://your-docusaurus-test-site.com/api/functions/copyToClipboard" hreflang="x-default"><link rel="stylesheet" href="/assets/css/styles.077146e6.css">
7
- <link rel="preload" href="/assets/js/runtime~main.91fe50fb.js" as="script">
8
- <link rel="preload" href="/assets/js/main.98944413.js" as="script">
7
+ <link rel="preload" href="/assets/js/runtime~main.1ee1dff9.js" as="script">
8
+ <link rel="preload" href="/assets/js/main.15afa47b.js" as="script">
9
9
  </head>
10
10
  <body class="navigation-with-keyboard">
11
11
  <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
12
- <div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/static/1.jpg" alt="" class="themedImage_ToTc themedImage--light_HNdA"><img src="/static/1.jpg" alt="" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">youtil (油梯)</b></a></div><div class="navbar__items navbar__items--right"><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="切换浅色/暗黑模式(当前为浅色模式)" aria-label="切换浅色/暗黑模式(当前为浅色模式)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="回到顶部" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebarViewport_Xe31"><div class="sidebar_njMd"><nav aria-label="文档侧边栏" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/">首页</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/request">request</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/time">测试</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/loading">loading</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/api/">README</a><button aria-label="打开/收起侧边栏菜单「README」" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/api/functions/copyToClipboard">functions</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/api/functions/copyToClipboard">copyToClipboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/createEnum">createEnum</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/decodeHtml">decodeHtml</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/deepCopy">deepCopy</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/delParam">delParam</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/encodeHtml">encodeHtml</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/formatDate">formatDate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/formatJson">formatJson</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getIdCardLastChar">getIdCardLastChar</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getParam">getParam</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getParamInt">getParamInt</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getParams">getParams</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getRandom">getRandom</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getRandomStr">getRandomStr</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/hideLoading">hideLoading</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/initWindowMessage">initWindowMessage</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/parseDate">parseDate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/request">request</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/setParam">setParam</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/showLoading">showLoading</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/sleep">sleep</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/toHump">toHump</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/toUnderline">toUnderline</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/toUrlParams">toUrlParams</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/validateIdCard">validateIdCard</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/api/globals">globals</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/api/interfaces/IRequestOptions">interfaces</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/api/variables/Request">variables</a></div></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="页面路径"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="主页面" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/api/"><span itemprop="name">README</span></a><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">functions</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">copyToClipboard</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">本页总览</button></div><div class="theme-doc-markdown markdown"><header><h1>copyToClipboard</h1></header><p><a href="/api/"><strong>youtil</strong></a></p><hr><p><a href="/api/globals">youtil</a> / copyToClipboard</p><h1>Function: copyToClipboard()</h1><blockquote><p><strong>copyToClipboard</strong>(<code>text</code>, <code>onFailure</code>, <code>supportSilent</code>): <code>Promise</code>\&lt;<code>void</code>&gt;</p></blockquote><p>Defined in: <a href="https://github.com/sxei/youtil/blob/9ed40274f152c481747c0d8f4cd2063727f76538/src/other.ts#L58" target="_blank" rel="noopener noreferrer">other.ts:58</a></p><p>复制一段文本到剪贴板,如果失败会抛出异常,推荐使用姿势:
12
+ <div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/static/1.jpg" alt="" class="themedImage_ToTc themedImage--light_HNdA"><img src="/static/1.jpg" alt="" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">youtil (油梯)</b></a></div><div class="navbar__items navbar__items--right"><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="切换浅色/暗黑模式(当前为浅色模式)" aria-label="切换浅色/暗黑模式(当前为浅色模式)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="回到顶部" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebarViewport_Xe31"><div class="sidebar_njMd"><nav aria-label="文档侧边栏" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/">首页</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/request">request</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/time">测试</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/loading">loading</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/api/">README</a><button aria-label="打开/收起侧边栏菜单「README」" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/api/functions/copyToClipboard">functions</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/api/functions/copyToClipboard">copyToClipboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/createEnum">createEnum</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/decodeHtml">decodeHtml</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/deepCopy">deepCopy</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/delParam">delParam</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/encodeHtml">encodeHtml</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/formatDate">formatDate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/formatJson">formatJson</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getIdCardLastChar">getIdCardLastChar</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getParam">getParam</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getParamInt">getParamInt</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getParams">getParams</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getRandom">getRandom</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getRandomStr">getRandomStr</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/hideLoading">hideLoading</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/initWindowMessage">initWindowMessage</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/parseDate">parseDate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/request">request</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/setParam">setParam</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/showLoading">showLoading</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/sleep">sleep</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/toHump">toHump</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/toUnderline">toUnderline</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/toUrlParams">toUrlParams</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/validateIdCard">validateIdCard</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/api/globals">globals</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/api/interfaces/IRequestOptions">interfaces</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/api/variables/Request">variables</a></div></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="页面路径"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="主页面" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/api/"><span itemprop="name">README</span></a><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">functions</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">copyToClipboard</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">本页总览</button></div><div class="theme-doc-markdown markdown"><header><h1>copyToClipboard</h1></header><p><a href="/api/"><strong>youtil</strong></a></p><hr><p><a href="/api/globals">youtil</a> / copyToClipboard</p><h1>Function: copyToClipboard()</h1><blockquote><p><strong>copyToClipboard</strong>(<code>text</code>, <code>onFailure</code>, <code>supportSilent</code>): <code>Promise</code>\&lt;<code>void</code>&gt;</p></blockquote><p>Defined in: <a href="https://github.com/sxei/youtil/blob/8e9577520240aa8b6f6b2cd2200d03ed8000ea52/src/other.ts#L58" target="_blank" rel="noopener noreferrer">other.ts:58</a></p><p>复制一段文本到剪贴板,如果失败会抛出异常,推荐使用姿势:
13
13
  await copyTextToClipboard(&#x27;要复制的文本&#x27;, message =&gt; alert(<code>复制到剪贴板失败:${message}</code>));
14
14
  alert(&#x27;复制到剪贴板成功!&#x27;);</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="parameters">Parameters<a href="#parameters" class="hash-link" aria-label="Parameters的直接链接" title="Parameters的直接链接">​</a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="text">text<a href="#text" class="hash-link" aria-label="text的直接链接" title="text的直接链接">​</a></h3><p><code>string</code></p><p>要复制的文本</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="onfailure">onFailure<a href="#onfailure" class="hash-link" aria-label="onFailure的直接链接" title="onFailure的直接链接">​</a></h3><p>(<code>message</code>) =&gt; <code>void</code></p><p>失败回调,接受一个 message 参数</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="supportsilent">supportSilent<a href="#supportsilent" class="hash-link" aria-label="supportSilent的直接链接" title="supportSilent的直接链接">​</a></h3><p><code>boolean</code></p><p>是否支持后台静默复制,如果是则优先采用 execCommand</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="returns">Returns<a href="#returns" class="hash-link" aria-label="Returns的直接链接" title="Returns的直接链接">​</a></h2><p><code>Promise</code>\&lt;<code>void</code>&gt;</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="文件选项卡"><a class="pagination-nav__link pagination-nav__link--prev" href="/api/"><div class="pagination-nav__sublabel">上一页</div><div class="pagination-nav__label">README</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/api/functions/createEnum"><div class="pagination-nav__sublabel">下一页</div><div class="pagination-nav__label">createEnum</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#parameters" class="table-of-contents__link toc-highlight">Parameters</a><ul><li><a href="#text" class="table-of-contents__link toc-highlight">text</a></li><li><a href="#onfailure" class="table-of-contents__link toc-highlight">onFailure</a></li><li><a href="#supportsilent" class="table-of-contents__link toc-highlight">supportSilent</a></li></ul></li><li><a href="#returns" class="table-of-contents__link toc-highlight">Returns</a></li></ul></div></div></div></div></main></div></div></div>
15
- <script src="/assets/js/runtime~main.91fe50fb.js"></script>
16
- <script src="/assets/js/main.98944413.js"></script>
15
+ <script src="/assets/js/runtime~main.1ee1dff9.js"></script>
16
+ <script src="/assets/js/main.15afa47b.js"></script>
17
17
  </body>
18
18
  </html>
@@ -4,12 +4,12 @@
4
4
  <meta charset="UTF-8">
5
5
  <meta name="generator" content="Docusaurus v2.4.3">
6
6
  <title data-rh="true">createEnum | youtil文档</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/api/functions/createEnum"><meta data-rh="true" name="docusaurus_locale" content="zh-Hans"><meta data-rh="true" name="docsearch:language" content="zh-Hans"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="createEnum | youtil文档"><meta data-rh="true" name="description" content="youtil"><meta data-rh="true" property="og:description" content="youtil"><link data-rh="true" rel="icon" href="https://img.alicdn.com/imgextra/i2/O1CN01jUf9ZP1aKwVvEc58W_!!6000000003312-73-tps-160-160.ico"><link data-rh="true" rel="canonical" href="https://your-docusaurus-test-site.com/api/functions/createEnum"><link data-rh="true" rel="alternate" href="https://your-docusaurus-test-site.com/api/functions/createEnum" hreflang="zh-Hans"><link data-rh="true" rel="alternate" href="https://your-docusaurus-test-site.com/api/functions/createEnum" hreflang="x-default"><link rel="stylesheet" href="/assets/css/styles.077146e6.css">
7
- <link rel="preload" href="/assets/js/runtime~main.91fe50fb.js" as="script">
8
- <link rel="preload" href="/assets/js/main.98944413.js" as="script">
7
+ <link rel="preload" href="/assets/js/runtime~main.1ee1dff9.js" as="script">
8
+ <link rel="preload" href="/assets/js/main.15afa47b.js" as="script">
9
9
  </head>
10
10
  <body class="navigation-with-keyboard">
11
11
  <script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}()</script><div id="__docusaurus">
12
- <div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/static/1.jpg" alt="" class="themedImage_ToTc themedImage--light_HNdA"><img src="/static/1.jpg" alt="" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">youtil (油梯)</b></a></div><div class="navbar__items navbar__items--right"><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="切换浅色/暗黑模式(当前为浅色模式)" aria-label="切换浅色/暗黑模式(当前为浅色模式)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="回到顶部" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebarViewport_Xe31"><div class="sidebar_njMd"><nav aria-label="文档侧边栏" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/">首页</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/request">request</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/time">测试</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/loading">loading</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/api/">README</a><button aria-label="打开/收起侧边栏菜单「README」" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/api/functions/copyToClipboard">functions</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/copyToClipboard">copyToClipboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/api/functions/createEnum">createEnum</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/decodeHtml">decodeHtml</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/deepCopy">deepCopy</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/delParam">delParam</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/encodeHtml">encodeHtml</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/formatDate">formatDate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/formatJson">formatJson</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getIdCardLastChar">getIdCardLastChar</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getParam">getParam</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getParamInt">getParamInt</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getParams">getParams</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getRandom">getRandom</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getRandomStr">getRandomStr</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/hideLoading">hideLoading</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/initWindowMessage">initWindowMessage</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/parseDate">parseDate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/request">request</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/setParam">setParam</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/showLoading">showLoading</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/sleep">sleep</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/toHump">toHump</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/toUnderline">toUnderline</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/toUrlParams">toUrlParams</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/validateIdCard">validateIdCard</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/api/globals">globals</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/api/interfaces/IRequestOptions">interfaces</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/api/variables/Request">variables</a></div></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="页面路径"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="主页面" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/api/"><span itemprop="name">README</span></a><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">functions</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">createEnum</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">本页总览</button></div><div class="theme-doc-markdown markdown"><header><h1>createEnum</h1></header><p><a href="/api/"><strong>youtil</strong></a></p><hr><p><a href="/api/globals">youtil</a> / createEnum</p><h1>Function: createEnum()</h1><blockquote><p><strong>createEnum</strong>\&lt;<code>T</code>&gt;<!-- -->(<code>items</code>): <code>EnumType</code>\&lt;<code>T</code>&gt;</p></blockquote><p>Defined in: <a href="https://github.com/sxei/youtil/blob/9ed40274f152c481747c0d8f4cd2063727f76538/src/enum.ts#L29" target="_blank" rel="noopener noreferrer">enum.ts:29</a></p><p>创建一个枚举,支持多种高级用法:
12
+ <div role="region" aria-label="跳到主要内容"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">跳到主要内容</a></div><nav aria-label="主导航" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/static/1.jpg" alt="" class="themedImage_ToTc themedImage--light_HNdA"><img src="/static/1.jpg" alt="" class="themedImage_ToTc themedImage--dark_i4oU"></div><b class="navbar__title text--truncate">youtil (油梯)</b></a></div><div class="navbar__items navbar__items--right"><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type="button" disabled="" title="切换浅色/暗黑模式(当前为浅色模式)" aria-label="切换浅色/暗黑模式(当前为浅色模式)" aria-live="polite"><svg viewBox="0 0 24 24" width="24" height="24" class="lightToggleIcon_pyhR"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" class="darkToggleIcon_wfgR"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg></button></div><div class="searchBox_ZlJk"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="回到顶部" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><aside class="theme-doc-sidebar-container docSidebarContainer_b6E3"><div class="sidebarViewport_Xe31"><div class="sidebar_njMd"><nav aria-label="文档侧边栏" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/">首页</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/request">request</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/time">测试</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/loading">loading</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--active" aria-expanded="true" href="/api/">README</a><button aria-label="打开/收起侧边栏菜单「README」" type="button" class="clean-btn menu__caret"></button></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" aria-expanded="true" tabindex="0" href="/api/functions/copyToClipboard">functions</a></div><ul style="display:block;overflow:visible;height:auto" class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/copyToClipboard">copyToClipboard</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/api/functions/createEnum">createEnum</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/decodeHtml">decodeHtml</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/deepCopy">deepCopy</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/delParam">delParam</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/encodeHtml">encodeHtml</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/formatDate">formatDate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/formatJson">formatJson</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getIdCardLastChar">getIdCardLastChar</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getParam">getParam</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getParamInt">getParamInt</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getParams">getParams</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getRandom">getRandom</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/getRandomStr">getRandomStr</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/hideLoading">hideLoading</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/initWindowMessage">initWindowMessage</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/parseDate">parseDate</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/request">request</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/setParam">setParam</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/showLoading">showLoading</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/sleep">sleep</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/toHump">toHump</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/toUnderline">toUnderline</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/toUrlParams">toUrlParams</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/api/functions/validateIdCard">validateIdCard</a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/api/globals">globals</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/api/interfaces/IRequestOptions">interfaces</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" aria-expanded="false" tabindex="0" href="/api/variables/Request">variables</a></div></li></ul></li></ul></nav></div></div></aside><main class="docMainContainer_gTbr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="页面路径"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="主页面" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item"><a class="breadcrumbs__link" itemprop="item" href="/api/"><span itemprop="name">README</span></a><meta itemprop="position" content="1"></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">functions</span><meta itemprop="position" content="2"></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">createEnum</span><meta itemprop="position" content="3"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">本页总览</button></div><div class="theme-doc-markdown markdown"><header><h1>createEnum</h1></header><p><a href="/api/"><strong>youtil</strong></a></p><hr><p><a href="/api/globals">youtil</a> / createEnum</p><h1>Function: createEnum()</h1><blockquote><p><strong>createEnum</strong>\&lt;<code>T</code>&gt;<!-- -->(<code>items</code>): <code>EnumType</code>\&lt;<code>T</code>&gt;</p></blockquote><p>Defined in: <a href="https://github.com/sxei/youtil/blob/8e9577520240aa8b6f6b2cd2200d03ed8000ea52/src/enum.ts#L29" target="_blank" rel="noopener noreferrer">enum.ts:29</a></p><p>创建一个枚举,支持多种高级用法:
13
13
  const enums = createEnum(<!-- -->[{ key: &#x27;MAN&#x27;, label: &#x27;男&#x27;, value: 1 }]<!-- -->)
14
14
  console.log(enums.MAN) // 1
15
15
  console.log(enums.pick(&#x27;MAN&#x27;)) // 对象
@@ -17,7 +17,7 @@ console.log(enums.pick(1)) // 对象
17
17
  console.log(enums.pickLabel(&#x27;MAN&#x27;)) // 男
18
18
  console.log(enums.pickValue(&#x27;MAN&#x27;)) // 1
19
19
  console.log(enums) // 数组对象</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="type-parameters">Type Parameters<a href="#type-parameters" class="hash-link" aria-label="Type Parameters的直接链接" title="Type Parameters的直接链接">​</a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="t">T<a href="#t" class="hash-link" aria-label="T的直接链接" title="T的直接链接">​</a></h3><p><code>T</code> <em>extends</em> readonly <code>EnumItem</code>\&lt;<code>string</code>, <code>string</code> <!-- -->|<!-- --> <code>number</code>&gt;<!-- -->[]</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="parameters">Parameters<a href="#parameters" class="hash-link" aria-label="Parameters的直接链接" title="Parameters的直接链接">​</a></h2><h3 class="anchor anchorWithStickyNavbar_LWe7" id="items">items<a href="#items" class="hash-link" aria-label="items的直接链接" title="items的直接链接">​</a></h3><p><code>T</code></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="returns">Returns<a href="#returns" class="hash-link" aria-label="Returns的直接链接" title="Returns的直接链接">​</a></h2><p><code>EnumType</code>\&lt;<code>T</code>&gt;</p></div></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="文件选项卡"><a class="pagination-nav__link pagination-nav__link--prev" href="/api/functions/copyToClipboard"><div class="pagination-nav__sublabel">上一页</div><div class="pagination-nav__label">copyToClipboard</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/api/functions/decodeHtml"><div class="pagination-nav__sublabel">下一页</div><div class="pagination-nav__label">decodeHtml</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#type-parameters" class="table-of-contents__link toc-highlight">Type Parameters</a><ul><li><a href="#t" class="table-of-contents__link toc-highlight">T</a></li></ul></li><li><a href="#parameters" class="table-of-contents__link toc-highlight">Parameters</a><ul><li><a href="#items" class="table-of-contents__link toc-highlight">items</a></li></ul></li><li><a href="#returns" class="table-of-contents__link toc-highlight">Returns</a></li></ul></div></div></div></div></main></div></div></div>
20
- <script src="/assets/js/runtime~main.91fe50fb.js"></script>
21
- <script src="/assets/js/main.98944413.js"></script>
20
+ <script src="/assets/js/runtime~main.1ee1dff9.js"></script>
21
+ <script src="/assets/js/main.15afa47b.js"></script>
22
22
  </body>
23
23
  </html>