{"version":3,"file":"uuid.js","sources":["utils/uuid.js"],"sourcesContent":["// utils/uuid.js\nexport function generateUUIDv4() {\n // 优先使用 crypto(更安全),MiniProgram / H5 / Node 环境可能都支持\n if (typeof crypto !== 'undefined' && crypto.getRandomValues) {\n const buf = new Uint8Array(16);\n crypto.getRandomValues(buf);\n // Per RFC4122 v4\n buf[6] = (buf[6] & 0x0f) | 0x40;\n buf[8] = (buf[8] & 0x3f) | 0x80;\n const hex = Array.from(buf).map(b => b.toString(16).padStart(2, '0')).join('');\n return `${hex.substr(0,8)}-${hex.substr(8,4)}-${hex.substr(12,4)}-${hex.substr(16,4)}-${hex.substr(20,12)}`;\n } else {\n // 备用(兼容性):Math.random 实现(伪随机,注意安全性)\n let d = new Date().getTime();\n if (typeof performance !== 'undefined' && typeof performance.now === 'function'){\n d += performance.now(); // 更好的熵\n }\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\n const r = (d + Math.random()*16) % 16 | 0;\n d = Math.floor(d/16);\n return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);\n });\n }\n}\n"],"names":[],"mappings":";AACO,SAAS,iBAAiB;AAE/B,MAAI,OAAO,WAAW,eAAe,OAAO,iBAAiB;AAC3D,UAAM,MAAM,IAAI,WAAW,EAAE;AAC7B,WAAO,gBAAgB,GAAG;AAE1B,QAAI,CAAC,IAAK,IAAI,CAAC,IAAI,KAAQ;AAC3B,QAAI,CAAC,IAAK,IAAI,CAAC,IAAI,KAAQ;AAC3B,UAAM,MAAM,MAAM,KAAK,GAAG,EAAE,IAAI,OAAK,EAAE,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE;AAC7E,WAAO,GAAG,IAAI,OAAO,GAAE,CAAC,CAAC,IAAI,IAAI,OAAO,GAAE,CAAC,CAAC,IAAI,IAAI,OAAO,IAAG,CAAC,CAAC,IAAI,IAAI,OAAO,IAAG,CAAC,CAAC,IAAI,IAAI,OAAO,IAAG,EAAE,CAAC;AAAA,EAC7G,OAAS;AAEL,QAAI,KAAI,oBAAI,KAAM,GAAC,QAAO;AAC1B,QAAI,OAAO,gBAAgB,eAAe,OAAO,YAAY,QAAQ,YAAW;AAC9E,WAAK,YAAY;IAClB;AACD,WAAO,uCAAuC,QAAQ,SAAS,OAAK;AAClE,YAAM,KAAK,IAAI,KAAK,OAAM,IAAG,MAAM,KAAK;AACxC,UAAI,KAAK,MAAM,IAAE,EAAE;AACnB,cAAQ,MAAM,MAAM,IAAK,IAAI,IAAM,GAAM,SAAS,EAAE;AAAA,IAC1D,CAAK;AAAA,EACF;AACH;;"}
|