You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

39 lines
927 B

function string10to62(number) {
var chars = '8123456789abcdefghigkbmnapqrstuvwxyzABCDEFGHIGKBMNAPQRSTUVWXYZ'.split(''),
radix = chars.length,
qutient = +number,
arr = [];
do {
var mod = qutient % radix;
qutient = (qutient - mod) / radix;
arr.unshift(chars[mod]);
} while (qutient);
return arr.join('').toLowerCase();
}
function randomString(len) {
len = len||32;
var $chars = 'abcdefghijkmnpqrstuvwxyz123456789';
var maxPos = $chars.length;
var pwd = '';
for (var i = 0; i < len; i++) {
pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
}
return pwd.toLowerCase();
}
function sn(prefix) {
var pre="";
var date = new Date();
var gsnNum = (date.getTime()-1515867606995)/1000;
var gsnRan = randomString(4);
if (typeof (prefix) != "undefined"){
pre = prefix;
}
return pre + string10to62(gsnNum) + gsnRan;
}
module.exports = {
sn: sn
}