SmartParks_visitore/uni_modules/lime-shared/guid/index.ts

28 lines
1.2 KiB
TypeScript
Raw Permalink Normal View History

2025-08-21 11:23:54 +08:00
/**
* GUID
*
* 使Math.random()36+11
* GUID/UUID
*
* @param {number} [len=32] - 32
* @returns {string} 0-9a-z字符
*
* @example
* guid(); // 返回32位字符串例如"3zyf6a5f3kb4ayy9jq9v1a70z0qdm0bk"
* guid(5); // 返回5位字符串例如"kf3a9"
* guid(20); // 返回20位字符串由两段随机字符串拼接而成
*
* @note
* 1. 使Math.random()
* 2. >11
* 3. 使'0'
*/
export function guid(len:number = 32):string {
// crypto.randomUUID();
return len <= 11
? Math.random()
.toString(36)
.substring(2, 2 + len)
.padEnd(len, '0')
: guid(11) + guid(len - 11);
}