chore: utils

This commit is contained in:
yangsy
2025-08-14 12:50:20 +08:00
parent 638f3c20d1
commit 2c270139fc

29
src/utils/random-num.ts Normal file
View File

@@ -0,0 +1,29 @@
export function randomNum(len: number, radix: number) {
const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
const uuid = [] as string[];
radix = radix || chars.length;
if (len) {
// Compact form
for (let i = 0; i < len; i++) {
uuid[i] = chars[0 | (Math.random() * radix)];
}
} else {
// rfc4122, version 4 form
let r;
// rfc4122 requires these characters
uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
uuid[14] = '4';
// Fill in random data. At i==19 set the high bits of clock sequence as
// per rfc4122, sec. 4.1.5
for (let i = 0; i < 36; i++) {
if (!uuid[i]) {
r = 0 | (Math.random() * 16);
uuid[i] = chars[i === 19 ? (r & 0x3) | 0x8 : r];
}
}
}
return uuid.join('') + new Date().getTime();
}