@ssports_fe/ssutils
Version:
39 lines (32 loc) • 1.06 kB
JavaScript
const getCookie = require('./getCookie');
const setCookie = require('./setCookie');
function isEmpty(str) {
let ret = true;
if (str && typeof (str) !== 'undefined' && str !== null && str !== 'null' && str !== 'undefined' && str !== '' && str !== '0') {
ret = false;
}
return ret;
}
/**
*
* @desc 生成32位随机数
* @return {String}
*/
const getUUID = function() {
let uuid = getCookie('cuuid');
if (isEmpty(uuid)) {
let s = [];
let hexDigits = '0123456789abcdef';
for (let i = 0; i < 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
}
s[14] = '4'; // bits 12-15 of the time_hi_and_version field to 0010
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
s[8] = s[13] = s[18] = s[23] = '-';
uuid = s.join('');
uuid = uuid.replace(/-/g, '');
setCookie('cuuid', uuid, { path: '/', expires: 365 });
}
return uuid;
};
module.exports = getUUID;