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

98 lines
1.9 KiB
JavaScript
Raw Normal View History

2020-07-29 19:34:54 +08:00
Tea.context(function () {
this.serverType = "httpProxy"
2020-08-21 12:32:16 +08:00
this.tlsProtocolName = ""
this.origins = []
this.defaultAddresses = []
2020-08-21 12:32:16 +08:00
2020-07-29 19:34:54 +08:00
this.success = NotifySuccess("保存成功", "/servers");
2020-08-21 12:32:16 +08:00
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)
}
2020-08-21 12:32:16 +08:00
this.changeServerType = function () {
this.origins = []
this.tlsProtocolName = ""
this.addDefaultAddresses()
}
// 初始化调用
this.$delay(function () {
this.changeServerType()
})
2020-08-21 12:32:16 +08:00
this.addOrigin = function () {
teaweb.popup("/servers/addOriginPopup?serverType=" + this.serverType, {
2020-09-16 09:09:10 +08:00
callback: function (resp) {
2020-08-21 12:32:16 +08:00
this.origins.push(resp.data.origin);
}
})
}
2020-08-21 12:32:16 +08:00
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"
}
}
2021-11-09 15:36:18 +08:00
/**
* 用户相关
*/
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
})
}
})