这是个假的uuid,不依赖任何依赖库,eslint安安静静,复制后可直接使用
export default function uuid(len: number | undefined, radix = 62): string {
const chars: string[] =
'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
if (len !== undefined) {
let result = '';
for (let i = 0; i < len; i += 1) {
result += chars[Math.floor(Math.random() * radix)];
}
return result;
}
let result = '';
for (let i = 0; i < 36; i += 1) {
if (i === 8 || i === 13 || i === 18 || i === 23) {
result += '-';
} else if (i === 14) {
result += '4';
} else {
let randomValue = Math.floor(Math.random() * 16);
if (i === 19) {
if (randomValue < 8) {
randomValue += 8;
}
}
result += chars[randomValue];
}
}
return result;
}
里面的动作你直接扔gpt看吧,不想写注释.关于大小写或数字字母什么的你改下"charts"就行.
使用方法
先引入
import uuid from '@/utils/generateUuid';
完了直接用就行了 uuid(18)
里面的数字是生成uuid的长度