mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-03 20:40:26 +08:00
107 lines
2.1 KiB
JavaScript
107 lines
2.1 KiB
JavaScript
Tea.context(function () {
|
|
this.serverType = "httpProxy"
|
|
this.tlsProtocolName = ""
|
|
this.origins = []
|
|
this.defaultAddresses = []
|
|
|
|
this.success = NotifySuccess("保存成功", "/servers");
|
|
|
|
this.fail = function (resp) {
|
|
if (resp.errors != null && resp.errors.length > 0) {
|
|
let isFiltered = false
|
|
|
|
let that = this
|
|
resp.errors.forEach(function (err) {
|
|
if (err.param == "emptyDomain") {
|
|
isFiltered = true
|
|
teaweb.warn(err.messages[0], function () {
|
|
that.$refs.serverNameBox.addServerName()
|
|
})
|
|
} else if (err.param == "emptyOrigin") {
|
|
isFiltered = true
|
|
teaweb.warn(err.messages[0], function () {
|
|
that.addOrigin()
|
|
})
|
|
}
|
|
})
|
|
|
|
if (isFiltered) {
|
|
return
|
|
}
|
|
}
|
|
Tea.failResponse(resp)
|
|
}
|
|
|
|
this.changeServerType = function () {
|
|
this.origins = []
|
|
this.tlsProtocolName = ""
|
|
this.addDefaultAddresses()
|
|
}
|
|
|
|
// 初始化调用
|
|
this.$delay(function () {
|
|
this.changeServerType()
|
|
})
|
|
|
|
this.addOrigin = function () {
|
|
teaweb.popup("/servers/addOriginPopup?serverType=" + this.serverType, {
|
|
width: "45em",
|
|
height: "27em",
|
|
callback: function (resp) {
|
|
this.origins.push(resp.data.origin);
|
|
}
|
|
})
|
|
}
|
|
|
|
this.removeOrigin = function (index) {
|
|
this.origins.$remove(index)
|
|
}
|
|
|
|
this.addDefaultAddresses = function () {
|
|
// 默认绑定的端口地址
|
|
this.defaultAddresses = []
|
|
if (this.serverType == "httpProxy" || this.serverType == "httpWeb") {
|
|
this.defaultAddresses.push({
|
|
"host": "",
|
|
"portRange": "80",
|
|
"protocol": "http"
|
|
})
|
|
this.defaultAddresses.push({
|
|
"host": "",
|
|
"portRange": "443",
|
|
"protocol": "https"
|
|
})
|
|
this.tlsProtocolName = "https"
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 用户相关
|
|
*/
|
|
this.userId = 0
|
|
this.plans = []
|
|
|
|
this.changeUserId = function (v) {
|
|
this.userId = v
|
|
|
|
if (this.userId == 0) {
|
|
this.plans = []
|
|
return
|
|
}
|
|
|
|
this.$post("/servers/users/plans")
|
|
.params({
|
|
userId: this.userId
|
|
})
|
|
.success(function (resp) {
|
|
this.plans = resp.data.plans
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 证书相关
|
|
*/
|
|
this.findServerNames = function () {
|
|
return this.$refs.serverNameBox.allServerNames()
|
|
}
|
|
}) |