uuid.ts 673 B

123456789101112131415161718192021222324252627
  1. const hexList: string[] = []
  2. for (let i = 0; i <= 15; i++)
  3. hexList[i] = i.toString(16)
  4. export function buildUUID(): string {
  5. let uuid = ''
  6. for (let i = 1; i <= 36; i++) {
  7. if (i === 9 || i === 14 || i === 19 || i === 24)
  8. uuid += '-'
  9. else if (i === 15)
  10. uuid += 4
  11. else if (i === 20)
  12. uuid += hexList[(Math.random() * 4) | 8]
  13. else
  14. uuid += hexList[(Math.random() * 16) | 0]
  15. }
  16. return uuid.replace(/-/g, '')
  17. }
  18. let unique = 0
  19. export function buildShortUUID(prefix = ''): string {
  20. const time = Date.now()
  21. const random = Math.floor(Math.random() * 1000000000)
  22. unique++
  23. return `${prefix}_${random}${unique}${String(time)}`
  24. }