-
Notifications
You must be signed in to change notification settings - Fork 0
/
initConfig.js
64 lines (62 loc) · 1.61 KB
/
initConfig.js
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
const path = require("path");
const obj = {
htmlStr: {
type: "string",
require: true,
},
host: {
type:"string",
require: true
},
targetAttr: {
type: "string",
defaultValue: "src"
},
selector: {
type: "string",
require: true,
},
setImgName: {
type: "function",
defaultValue(imgUrl, index) {
let targetImgName = `${index}-${Math.random().toString(16).substr(2, 5)}${Math.random().toString(16).substr(2, 5)}`;
let ext = path.extname(imgUrl);
if (!ext) {
ext = ".jpg"
}
targetImgName = `${targetImgName}${ext}`;
return targetImgName;
}
},
saveDir: {
type: "string",
require: true,
},
imgNum: {
type: "number",
defaultValue: 9999,
},
sortRandom: {
type: "boolean",
defaultValue: false,
}
}
module.exports = (config) => {
if (!config || typeof config !== "object") {
throw Error("配置必须是个对象");
}
let initConfigKeys = Object.keys(obj);
for (let configName of initConfigKeys) {
const { require, defaultValue, type } = obj[configName];
if (require && config[configName] == null) {
throw Error(`${configName}参数必传`)
}
if (defaultValue != null && config[configName] == null) {
config[configName] = defaultValue;
continue;
}
if (typeof config[configName] !== type) {
throw Error(`${configName}类型错误`)
}
};
}