From f26f29d84e0a68831a6af14dab3eec5500496d2e Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 28 五月 2025 16:48:52 +0800
Subject: [PATCH] 初始化项目

---
 uview-ui/libs/function/guid.js |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/uview-ui/libs/function/guid.js b/uview-ui/libs/function/guid.js
new file mode 100644
index 0000000..8497664
--- /dev/null
+++ b/uview-ui/libs/function/guid.js
@@ -0,0 +1,41 @@
+/**
+ * 鏈畻娉曟潵婧愪簬绠�涔﹀紑婧愪唬鐮侊紝璇﹁锛歨ttps://www.jianshu.com/p/fdbf293d0a85
+ * 鍏ㄥ眬鍞竴鏍囪瘑绗︼紙uuid锛孏lobally Unique Identifier锛�,涔熺О浣� uuid(Universally Unique IDentifier) 
+ * 涓�鑸敤浜庡涓粍浠朵箣闂�,缁欏畠涓�涓敮涓�鐨勬爣璇嗙,鎴栬�卾-for寰幆鐨勬椂鍊�,濡傛灉浣跨敤鏁扮粍鐨刬ndex鍙兘浼氬鑷存洿鏂板垪琛ㄥ嚭鐜伴棶棰�
+ * 鏈�鍙兘鐨勬儏鍐垫槸宸︽粦鍒犻櫎item鎴栬�呭鏌愭潯淇℃伅娴�"涓嶅枩娆�"骞跺幓鎺夊畠鐨勬椂鍊�,浼氬鑷寸粍浠跺唴鐨勬暟鎹彲鑳藉嚭鐜伴敊涔�
+ * v-for鐨勬椂鍊�,鎺ㄨ崘浣跨敤鍚庣杩斿洖鐨刬d鑰屼笉鏄惊鐜殑index
+ * @param {Number} len uuid鐨勯暱搴�
+ * @param {Boolean} firstU 灏嗚繑鍥炵殑棣栧瓧姣嶇疆涓�"u"
+ * @param {Nubmer} radix 鐢熸垚uuid鐨勫熀鏁�(鎰忓懗鐫�杩斿洖鐨勫瓧绗︿覆閮芥槸杩欎釜鍩烘暟),2-浜岃繘鍒�,8-鍏繘鍒�,10-鍗佽繘鍒�,16-鍗佸叚杩涘埗
+ */
+function guid(len = 32, firstU = true, radix = null) {
+	let chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
+	let uuid = [];
+	radix = radix || chars.length;
+
+	if (len) {
+		// 濡傛灉鎸囧畾uuid闀垮害,鍙槸鍙栭殢鏈虹殑瀛楃,0|x涓轰綅杩愮畻,鑳藉幓鎺墄鐨勫皬鏁颁綅,杩斿洖鏁存暟浣�
+		for (let i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix];
+	} else {
+		let r;
+		// rfc4122鏍囧噯瑕佹眰杩斿洖鐨剈uid涓�,鏌愪簺浣嶄负鍥哄畾鐨勫瓧绗�
+		uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
+		uuid[14] = '4';
+
+		for (let i = 0; i < 36; i++) {
+			if (!uuid[i]) {
+				r = 0 | Math.random() * 16;
+				uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
+			}
+		}
+	}
+	// 绉婚櫎绗竴涓瓧绗�,骞剁敤u鏇夸唬,鍥犱负绗竴涓瓧绗︿负鏁板�兼椂,璇uuid涓嶈兘鐢ㄤ綔id鎴栬�卌lass
+	if (firstU) {
+		uuid.shift();
+		return 'u' + uuid.join('');
+	} else {
+		return uuid.join('');
+	}
+}
+
+export default guid;

--
Gitblit v1.9.3