Blame view

Yi.Vben5.Vue3/packages/utils/src/helpers/uuid.ts 816 Bytes
515fceeb   “wangming”   框架初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
  const hexList: string[] = [];
  for (let i = 0; i <= 15; i++) {
    hexList[i] = i.toString(16);
  }
  
  export function buildUUID(): string {
    let uuid = '';
    for (let i = 1; i <= 36; i++) {
      switch (i) {
        case 9:
        case 14:
        case 19:
        case 24: {
          uuid += '-';
  
          break;
        }
        case 15: {
          uuid += 4;
  
          break;
        }
        case 20: {
          uuid += hexList[(Math.random() * 4) | 8];
  
          break;
        }
        default: {
          uuid += hexList[Math.trunc(Math.random() * 16)];
        }
      }
    }
    return uuid.replaceAll('-', '');
  }
  
  let unique = 0;
  export function buildShortUUID(prefix = ''): string {
    const time = Date.now();
    const random = Math.floor(Math.random() * 1_000_000_000);
    unique++;
    return `${prefix}_${random}${unique}${String(time)}`;
  }