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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
var serverSample = {
serverKey: '',
serverName: '',
serverType: '',
ipAddress: '',
snmpVersion: '',
snmpPort: -1,
trapPort: -1,
delFlag: -1,
modifyTime: '',
status: -1
}
class ServerMgrImplement {
//根据key值查找服务器
findServerByKey (serverCollection, serverKey) {
return serverCollection[serverKey]
}
// 查找SDNC服务器
getSDNCServer (serverCollection) {
let SDNCServerList = {}
for (var serverKey in serverCollection) {
let server = this.findServerByKey(serverCollection, serverKey)
if (server.serverType === "0") {
SDNCServerList[serverKey] = server
}
}
return SDNCServerList
}
// 获取SDNC以外的服务器
getOtherServer (serverCollection) {
let otherServerList = {}
for (var serverKey in serverCollection) {
let server = this.findServerByKey(serverCollection, serverKey)
if (server.serverType !== "0") {
otherServerList[serverKey] = server
}
}
return otherServerList
}
// 结构体转换数组
serverAsArray (serverCollection) {
return Object.values(serverCollection)
}
}
let implementMethods = new ServerMgrImplement()
var staticMethods = {
creatServerSample: function () {
return Object.freeze(Object.assign({}, serverSample))
}
}
function ServerManager (serverCollection) {
// 根据key值寻找服务器
function findServerByKey (serverKey) {
return implementMethods.findServerByKey(serverCollection, serverKey)
}
// 获取SDNC服务器
function getSDNCServer () {
return implementMethods.getSDNCServer(serverCollection)
}
// 结构体转数组
function asArray () {
return implementMethods.serverAsArray(serverCollection)
}
// 获取SDNC以外的服务器
function getOtherServer () {
return implementMethods.getOtherServer(serverCollection)
}
return Object.freeze(Object.assign(
{
findServerByKey,
getSDNCServer,
getOtherServer,
asArray
},
staticMethods
))
}
export default ServerManager