nhanh-pure-function 1.3.6 → 1.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,4 +7,4 @@
7
7
  您可以通过 npm 安装该库:
8
8
 
9
9
  ```bash
10
- npm install nhanh-pure-function
10
+ npm install nhanh-pure-function
@@ -182,3 +182,17 @@ export class _LocalDrag {
182
182
  /** 结束拖拽 */
183
183
  finish(): void;
184
184
  }
185
+
186
+ // 进入全屏模式
187
+ export function _EnterFullscreen(content: HTMLElement): void;
188
+ // 退出全屏模式
189
+ export function _ExitFullscreen(): void;
190
+ // 判断是否处于全屏模式
191
+ export function _IsFullscreen(): boolean;
192
+
193
+ /**
194
+ * 返回一个用于切换全屏模式的函数
195
+ * @param {HTMLElement} content - 需要进入全屏的元素
196
+ * 该函数通过检查不同浏览器的特定方法来实现全屏切换
197
+ */
198
+ export function _Fullscreen(content: HTMLElement): () => void;
package/lib/User/User.js CHANGED
@@ -482,3 +482,55 @@ export class _LocalDrag {
482
482
  }
483
483
  }
484
484
  }
485
+
486
+ // 进入全屏模式
487
+ export function _EnterFullscreen(content) {
488
+ if (!content) return console.error("No DOM: ", content);
489
+ if (content.requestFullscreen) {
490
+ content.requestFullscreen();
491
+ } else if (content.mozRequestFullScreen) {
492
+ // Firefox
493
+ content.mozRequestFullScreen();
494
+ } else if (content.webkitRequestFullscreen) {
495
+ // Chrome, Safari and Opera
496
+ content.webkitRequestFullscreen();
497
+ } else if (content.msRequestFullscreen) {
498
+ // IE/Edge
499
+ content.msRequestFullscreen();
500
+ }
501
+ }
502
+ // 退出全屏模式
503
+ export function _ExitFullscreen() {
504
+ if (document.exitFullscreen) {
505
+ document.exitFullscreen();
506
+ } else if (document.mozCancelFullScreen) {
507
+ // Firefox
508
+ document.mozCancelFullScreen();
509
+ } else if (document.webkitExitFullscreen) {
510
+ // Chrome, Safari and Opera
511
+ document.webkitExitFullscreen();
512
+ } else if (document.msExitFullscreen) {
513
+ // IE/Edge
514
+ document.msExitFullscreen();
515
+ }
516
+ }
517
+ // 判断是否处于全屏模式
518
+ export function _IsFullscreen() {
519
+ return (
520
+ document.fullscreenElement ||
521
+ document.webkitFullscreenElement ||
522
+ document.mozFullScreenElement ||
523
+ document.msFullscreenElement
524
+ );
525
+ }
526
+ /**
527
+ * 返回一个用于切换全屏模式的函数
528
+ * @param {HTMLElement} content - 需要进入全屏的元素
529
+ * 该函数通过检查不同浏览器的特定方法来实现全屏切换
530
+ */
531
+ export function _Fullscreen(content) {
532
+ return function () {
533
+ if (_IsFullscreen()) _ExitFullscreen();
534
+ else _EnterFullscreen(content);
535
+ };
536
+ }
@@ -133,10 +133,13 @@ export function _CreateAndDownloadFile(
133
133
  export function _GetQueryParams(url: string): void;
134
134
 
135
135
  /**
136
- * 生成uuid
137
- * @returns {string}
136
+ * 生成一个UUID(通用唯一标识符)字符串
137
+ * 可以选择性地在UUID前面添加前缀
138
+ *
139
+ * @param {string} prefix - 可选参数,要添加到UUID前面的前缀
140
+ * @returns {string} 一个带有可选前缀的UUID字符串
138
141
  */
139
- export function _GenerateUUID(): string;
142
+ export function _GenerateUUID(prefix?: string): string;
140
143
 
141
144
  /**
142
145
  * 防抖
@@ -286,15 +286,21 @@ export function _GetQueryParams(url) {
286
286
  }
287
287
 
288
288
  /**
289
- * 生成uuid
290
- * @returns {string}
289
+ * 生成一个UUID(通用唯一标识符)字符串
290
+ * 可以选择性地在UUID前面添加前缀
291
+ *
292
+ * @param {string} prefix - 可选参数,要添加到UUID前面的前缀
293
+ * @returns {string} 一个带有可选前缀的UUID字符串
291
294
  */
292
- export function _GenerateUUID() {
293
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
294
- const r = (Math.random() * 16) | 0; // 随机生成一个0到15的数
295
- const v = c === "x" ? r : (r & 0x3) | 0x8; // 对于'y'位, v = (r & 0x3 | 0x8) 确保变体正确
296
- return v.toString(16); // 将数字转换为16进制
297
- });
295
+ export function _GenerateUUID(prefix = "") {
296
+ return (
297
+ prefix +
298
+ "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
299
+ const r = (Math.random() * 16) | 0; // 随机生成一个0到15的数
300
+ const v = c === "x" ? r : (r & 0x3) | 0x8; // 对于'y'位, v = (r & 0x3 | 0x8) 确保变体正确
301
+ return v.toString(16); // 将数字转换为16进制
302
+ })
303
+ );
298
304
  }
299
305
 
300
306
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nhanh-pure-function",
3
- "version": "1.3.6",
3
+ "version": "1.3.7",
4
4
  "description": "纯函数工具",
5
5
  "main": "lib/Index.js",
6
6
  "scripts": {
package/CHANGELOG.md DELETED
@@ -1,4 +0,0 @@
1
- # Changelog
2
-
3
- ## [1.3.6] - 2024-10-30
4
- - 添加 README.md