diff options
Diffstat (limited to 'web/assets/js/util')
| -rw-r--r-- | web/assets/js/util/utils.js | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/web/assets/js/util/utils.js b/web/assets/js/util/utils.js index d174bac1..f726e72e 100644 --- a/web/assets/js/util/utils.js +++ b/web/assets/js/util/utils.js @@ -100,12 +100,22 @@ class RandomUtil { } static randomShortId() { - let str = ''; - for (let i = 0; i < 8; ++i) { - str += seq[this.randomInt(16)]; + const lengths = [2, 4, 6, 8, 10, 12, 14, 16]; + for (let i = lengths.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + [lengths[i], lengths[j]] = [lengths[j], lengths[i]]; } - return str; - } + + let shortIds = []; + for (let length of lengths) { + let shortId = ''; + for (let i = 0; i < length; i++) { + shortId += seq[this.randomInt(16)]; + } + shortIds.push(shortId); + } + return shortIds; + } static randomLowerAndNum(len) { let str = ''; |
