UniqueId.js
758 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
* UniqueId
* Created by lintry on 2018/8/14.
*/
const crypto_utils = require('kml-crypto-utils');
/**
* 唯一键值生成器
*/
class UniqueId {
constructor (join_char) {
this.join_char = join_char || '-';
}
/**
* 根据参数合成唯一ID
* @param args
* @returns {string}
*/
hash (...args) {
if (!args || !args.length) {
throw new Error('参数不能为空');
}
let keys = [];
args.forEach(arg => {
if (Array.isArray(arg)) {
keys.concat(arg.sort());
} else {
keys.push(arg);
}
});
return crypto_utils.MD5(args.join(this.join_char));
}
}
module.exports = UniqueId;