Files
waf-platform/EdgeAdmin/web/views/@default/ns/clusters/cluster/index.js

98 lines
2.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Tea.context(function () {
// 显示的统计项
this.windowWidth = window.innerWidth
this.miniWidth = 760
this.columnWidth1 = 750
this.columnWidth2 = 850
this.columnWidth3 = 950
this.columnWidth4 = 1050
this.columnWidth5 = 1100
let that = this
window.addEventListener("resize", function () {
that.windowWidth = window.innerWidth
})
this.$delay(function () {
this.checkPorts()
})
this.deleteNode = function (nodeId) {
teaweb.confirm("确定要删除这个节点吗?", function () {
this.$post("/ns/clusters/cluster/deleteNode")
.params({
nodeId: nodeId
})
.refresh();
})
}
this.upNode = function (nodeId) {
teaweb.confirm("确定要手动上线此节点吗?", function () {
this.$post("/ns/clusters/cluster/node/up")
.params({
nodeId: nodeId
})
.refresh()
})
}
let checkingPort = ""
this.checkPorts = function () {
let ipList = []
this.nodes.forEach(function (node) {
if (node.isOn) {
if (node.ipAddresses != null && node.ipAddresses.length > 0) {
node.ipAddresses.forEach(function (addr) {
if (addr.isOn && addr.canAccess && addr.isUp && addr.ip.length > 0 && !ipList.$contains(addr.ip)) {
ipList.push(addr.ip)
}
})
}
}
})
if (ipList.length > 0) {
this.$post(".checkPorts")
.params({
clusterId: this.clusterId,
ip: ipList
})
.success(function (resp) {
let results = resp.data.results
if (results.length > 0) {
checkingPort = resp.data.port
let errorMap = {}
let hasErrors = false
results.forEach(function (result) {
if (!result.isOk) {
errorMap[result.ip] = result
hasErrors = true
}
})
if (hasErrors) {
this.nodes.forEach(function (node) {
if (node.isOn) {
if (node.ipAddresses != null && node.ipAddresses.length > 0) {
node.ipAddresses.forEach(function (addr, index) {
if (addr.isOn && addr.canAccess && addr.isUp && addr.ip.length > 0) {
if (typeof errorMap[addr.ip] == "object") {
addr.hasError = true
addr.err = errorMap[addr.ip].err
Vue.set(node.ipAddresses, index, addr)
}
}
})
}
}
})
}
}
})
}
}
this.showPortError = function (addr) {
teaweb.popupTip("udp://" + addr.ip + ":" + checkingPort + " 端口连接错误(提示:" + addr.err + "),请检查:<br/>1节点IP地址是否填写正确<br/>2节点程序edge-dns是否已正确安装<br/>3是否已在防火墙和安全策略中正确设置 " + checkingPort + "/udp 端口;<br/>4如在客户端手动测试正常可以忽略此提示。")
}
})