Files
EdgeAdmin/web/views/@default/servers/addOriginPopup.js

103 lines
2.3 KiB
JavaScript
Raw Normal View History

2021-06-07 16:23:37 +08:00
Tea.context(function () {
this.addr = ""
this.protocol = ""
2023-06-07 17:24:56 +08:00
this.isOSS = false
2021-06-07 16:23:37 +08:00
this.addrError = ""
2023-05-28 15:17:33 +08:00
// 当前网站协议
2022-06-29 21:56:44 +08:00
this.isHTTP = (this.serverType == "httpProxy" || this.serverType == "httpWeb")
2021-06-07 16:23:37 +08:00
if (this.serverType == "httpProxy") {
this.protocol = "http"
2022-06-29 21:56:44 +08:00
} else if (this.serverType == "tcpProxy") {
this.protocol = "tcp"
} else if (this.serverType == "udpProxy") {
this.protocol = "udp"
2021-06-07 16:23:37 +08:00
}
this.changeProtocol = function () {
2023-06-07 17:24:56 +08:00
this.isOSS = this.protocol.startsWith("oss:")
if (this.protocol == "http") {
this.detectHTTPS()
} else {
this.adviceHTTPS = false
}
2021-06-07 16:23:37 +08:00
this.checkPort()
}
this.changeAddr = function () {
this.adviceHTTPS = false
2021-06-07 16:23:37 +08:00
if (this.serverType == "httpProxy") {
if (this.addr.startsWith("http://")) {
this.protocol = "http"
} else if (this.addr.startsWith("https://")) {
this.protocol = "https"
}
}
this.checkPort()
}
this.checkPort = function () {
this.addrError = ""
// HTTP
if (this.protocol == "http") {
if (this.addr.endsWith(":443")) {
this.addrError = "443通常是HTTPS协议端口请确认源站协议选择是否正确。"
} else if (this.addr.endsWith(":8443")) {
this.addrError = "8443通常是HTTPS协议端口请确认源站协议选择是否正确。"
2021-06-07 16:23:37 +08:00
}
}
// HTTPS
if (this.protocol == "https") {
if (this.addr.endsWith(":80")) {
this.addrError = "80通常是HTTP协议端口请确认源站协议选择是否正确。"
} else if (this.addr.endsWith(":8080")) {
this.addrError = "8080通常是HTTP协议端口请确认源站协议选择是否正确。"
2021-06-07 16:23:37 +08:00
}
}
}
this.adviceHTTPS = false
var isDetectingHTTPS = false
this.detectHTTPS = function () {
if (isDetectingHTTPS) {
return
}
isDetectingHTTPS = true
this.adviceHTTPS = false
if (this.protocol == "http") {
this.$post("/servers/server/settings/origins/detectHTTPS")
.params({
addr: this.addr
})
.success(function (resp) {
this.adviceHTTPS = resp.data.isOk
if (resp.data.isOk) {
this.addr = resp.data.addr
}
})
.done(function () {
isDetectingHTTPS = false
})
} else {
isDetectingHTTPS = false
}
}
this.switchToHTTPS = function () {
this.adviceHTTPS = false
this.protocol = "https"
if (this.addr.endsWith(":80")) {
this.addr = this.addr.substring(0, this.addr.length - (":80").length)
}
}
2021-06-07 16:23:37 +08:00
})