|
@@ -0,0 +1,34 @@
|
|
|
+/**
|
|
|
+ * 生成uuid工具
|
|
|
+ *
|
|
|
+ */
|
|
|
+export class SUuid {
|
|
|
+ /**
|
|
|
+ * 默认生成32位uuid
|
|
|
+ *
|
|
|
+ * @param len 要生成的uuid的长度
|
|
|
+ * @param radix 生成uuid的基数
|
|
|
+ * */
|
|
|
+ static uuid(len: number, radix: number): string {
|
|
|
+ const chars = "0123456789abcdef".split("");
|
|
|
+ let uuid = [],
|
|
|
+ i;
|
|
|
+ radix = radix || chars.length;
|
|
|
+ if (len) {
|
|
|
+ for (i = 0; i < len; i++) {
|
|
|
+ uuid[i] = chars[0 | (Math.random() * radix)];
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ let r;
|
|
|
+ uuid[8] = uuid[13] = uuid[18] = uuid[23] = "";
|
|
|
+ uuid[14] = "4";
|
|
|
+ for (i = 0; i < 32; i++) {
|
|
|
+ if (!uuid[i]) {
|
|
|
+ r = 0 | (Math.random() * 16);
|
|
|
+ uuid[i] = chars[i == 19 ? (r & 0x3) | 0x8 : r];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return uuid.join("");
|
|
|
+ } // Function uuid()
|
|
|
+} // Class SUuid()
|