mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-07 15:20:25 +08:00
优化界面
This commit is contained in:
@@ -95,6 +95,19 @@ func (this *CreateNodeAction) RunPost(params struct {
|
|||||||
this.Fail("请选择所在集群")
|
this.Fail("请选择所在集群")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IP地址
|
||||||
|
ipAddresses := []maps.Map{}
|
||||||
|
if len(params.IpAddressesJSON) > 0 {
|
||||||
|
err := json.Unmarshal(params.IpAddressesJSON, &ipAddresses)
|
||||||
|
if err != nil {
|
||||||
|
this.ErrorPage(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(ipAddresses) == 0 {
|
||||||
|
this.Fail("请至少输入一个IP地址")
|
||||||
|
}
|
||||||
|
|
||||||
dnsRouteCodes := []string{}
|
dnsRouteCodes := []string{}
|
||||||
if len(params.DnsRoutesJSON) > 0 {
|
if len(params.DnsRoutesJSON) > 0 {
|
||||||
err := json.Unmarshal(params.DnsRoutesJSON, &dnsRouteCodes)
|
err := json.Unmarshal(params.DnsRoutesJSON, &dnsRouteCodes)
|
||||||
@@ -133,13 +146,6 @@ func (this *CreateNodeAction) RunPost(params struct {
|
|||||||
nodeId := createResp.NodeId
|
nodeId := createResp.NodeId
|
||||||
|
|
||||||
// IP地址
|
// IP地址
|
||||||
ipAddresses := []maps.Map{}
|
|
||||||
if len(params.IpAddressesJSON) > 0 {
|
|
||||||
err = json.Unmarshal(params.IpAddressesJSON, &ipAddresses)
|
|
||||||
if err != nil {
|
|
||||||
this.ErrorPage(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
for _, address := range ipAddresses {
|
for _, address := range ipAddresses {
|
||||||
addressId := address.GetInt64("id")
|
addressId := address.GetInt64("id")
|
||||||
if addressId > 0 {
|
if addressId > 0 {
|
||||||
@@ -160,7 +166,6 @@ func (this *CreateNodeAction) RunPost(params struct {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// 创建日志
|
// 创建日志
|
||||||
defer this.CreateLog(oplogs.LevelInfo, "创建节点 %d", nodeId)
|
defer this.CreateLog(oplogs.LevelInfo, "创建节点 %d", nodeId)
|
||||||
|
|||||||
@@ -77,7 +77,11 @@ func (this *NodeAction) RunGet(params struct {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
dnsRouteMaps := []maps.Map{}
|
dnsRouteMaps := []maps.Map{}
|
||||||
|
recordName := ""
|
||||||
|
recordValue := ""
|
||||||
if dnsInfoResp.Node != nil {
|
if dnsInfoResp.Node != nil {
|
||||||
|
recordName = dnsInfoResp.Node.NodeClusterDNSName + "." + dnsInfoResp.Node.DnsDomainName
|
||||||
|
recordValue = dnsInfoResp.Node.IpAddr
|
||||||
for _, dnsInfo := range dnsInfoResp.Node.Routes {
|
for _, dnsInfo := range dnsInfoResp.Node.Routes {
|
||||||
dnsRouteMaps = append(dnsRouteMaps, maps.Map{
|
dnsRouteMaps = append(dnsRouteMaps, maps.Map{
|
||||||
"name": dnsInfo.Name,
|
"name": dnsInfo.Name,
|
||||||
@@ -86,6 +90,8 @@ func (this *NodeAction) RunGet(params struct {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.Data["dnsRoutes"] = dnsRouteMaps
|
this.Data["dnsRoutes"] = dnsRouteMaps
|
||||||
|
this.Data["dnsRecordName"] = recordName
|
||||||
|
this.Data["dnsRecordValue"] = recordValue
|
||||||
|
|
||||||
// 登录信息
|
// 登录信息
|
||||||
var loginMap maps.Map = nil
|
var loginMap maps.Map = nil
|
||||||
|
|||||||
@@ -224,6 +224,19 @@ func (this *UpdateAction) RunPost(params struct {
|
|||||||
this.Fail("请选择所在集群")
|
this.Fail("请选择所在集群")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IP地址
|
||||||
|
ipAddresses := []maps.Map{}
|
||||||
|
if len(params.IPAddressesJSON) > 0 {
|
||||||
|
err := json.Unmarshal(params.IPAddressesJSON, &ipAddresses)
|
||||||
|
if err != nil {
|
||||||
|
this.ErrorPage(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(ipAddresses) == 0 {
|
||||||
|
this.Fail("请至少输入一个IP地址")
|
||||||
|
}
|
||||||
|
|
||||||
dnsRouteCodes := []string{}
|
dnsRouteCodes := []string{}
|
||||||
if len(params.DnsRoutesJSON) > 0 {
|
if len(params.DnsRoutesJSON) > 0 {
|
||||||
err := json.Unmarshal(params.DnsRoutesJSON, &dnsRouteCodes)
|
err := json.Unmarshal(params.DnsRoutesJSON, &dnsRouteCodes)
|
||||||
|
|||||||
@@ -49,13 +49,27 @@ func (this *IndexAction) RunGet(params struct {
|
|||||||
}
|
}
|
||||||
server := serverResp.Server
|
server := serverResp.Server
|
||||||
if server == nil {
|
if server == nil {
|
||||||
this.NotFound("Server", params.ServerId)
|
this.NotFound("server", params.ServerId)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 用户
|
||||||
|
if server.User != nil {
|
||||||
|
this.Data["user"] = maps.Map{
|
||||||
|
"id": server.User.Id,
|
||||||
|
"fullname": server.User.Fullname,
|
||||||
|
"username": server.User.Username,
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.Data["user"] = nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// 集群
|
||||||
clusterId := int64(0)
|
clusterId := int64(0)
|
||||||
|
this.Data["clusterName"] = ""
|
||||||
if server.NodeCluster != nil {
|
if server.NodeCluster != nil {
|
||||||
clusterId = server.NodeCluster.Id
|
clusterId = server.NodeCluster.Id
|
||||||
|
this.Data["clusterName"] = server.NodeCluster.Name
|
||||||
}
|
}
|
||||||
|
|
||||||
// 分组
|
// 分组
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ Vue.component("http-cache-config-box", {
|
|||||||
<tr>
|
<tr>
|
||||||
<td>缓存策略</td>
|
<td>缓存策略</td>
|
||||||
<td>
|
<td>
|
||||||
<div v-if="vCachePolicy != null">{{vCachePolicy.name}}
|
<div v-if="vCachePolicy != null">{{vCachePolicy.name}} <link-icon :href="'/servers/components/cache/policy?cachePolicyId=' + vCachePolicy.id"></link-icon>
|
||||||
<p class="comment">使用当前服务所在集群的设置。</p>
|
<p class="comment">使用当前服务所在集群的设置。</p>
|
||||||
</div>
|
</div>
|
||||||
<span v-else class="red">当前集群没有设置缓存策略,当前配置无法生效。</span>
|
<span v-else class="red">当前集群没有设置缓存策略,当前配置无法生效。</span>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ Vue.component("http-firewall-config-box", {
|
|||||||
<tr>
|
<tr>
|
||||||
<td>WAF策略</td>
|
<td>WAF策略</td>
|
||||||
<td>
|
<td>
|
||||||
<div v-if="vFirewallPolicy != null">{{vFirewallPolicy.name}}
|
<div v-if="vFirewallPolicy != null">{{vFirewallPolicy.name}} <link-icon :href="'/servers/components/waf/policy?firewallPolicyId=' + vFirewallPolicy.id"></link-icon>
|
||||||
<p class="comment">使用当前服务所在集群的设置。</p>
|
<p class="comment">使用当前服务所在集群的设置。</p>
|
||||||
</div>
|
</div>
|
||||||
<span v-else class="red">当前集群没有设置WAF策略,当前配置无法生效。</span>
|
<span v-else class="red">当前集群没有设置WAF策略,当前配置无法生效。</span>
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ tbody {
|
|||||||
}
|
}
|
||||||
p.comment,
|
p.comment,
|
||||||
div.comment {
|
div.comment {
|
||||||
color: rgba(0, 0, 0, 0.3);
|
color: rgba(0, 0, 0, 0.5);
|
||||||
padding-top: 0.4em;
|
padding-top: 0.4em;
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ tbody {
|
|||||||
}
|
}
|
||||||
|
|
||||||
p.comment, div.comment {
|
p.comment, div.comment {
|
||||||
color: rgba(0, 0, 0, 0.3);
|
color: rgba(0, 0, 0, 0.5);
|
||||||
padding-top: 0.4em;
|
padding-top: 0.4em;
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,12 +18,14 @@
|
|||||||
<td>所属区域</td>
|
<td>所属区域</td>
|
||||||
<td>
|
<td>
|
||||||
<node-region-selector></node-region-selector>
|
<node-region-selector></node-region-selector>
|
||||||
|
<p class="comment">设置区域后才能根据区域进行流量统计和计费。</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>所属分组</td>
|
<td>所属分组</td>
|
||||||
<td>
|
<td>
|
||||||
<node-group-selector :v-cluster-id="clusterId"></node-group-selector>
|
<node-group-selector :v-cluster-id="clusterId"></node-group-selector>
|
||||||
|
<p class="comment">仅用来筛选服务。</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>IP地址</td>
|
<td>IP地址 *</td>
|
||||||
<td>
|
<td>
|
||||||
<node-ip-addresses-box></node-ip-addresses-box>
|
<node-ip-addresses-box></node-ip-addresses-box>
|
||||||
<p class="comment">用于访问节点和域名解析等。</p>
|
<p class="comment">用于访问节点和域名解析等。</p>
|
||||||
@@ -31,12 +31,14 @@
|
|||||||
<td>所属区域</td>
|
<td>所属区域</td>
|
||||||
<td>
|
<td>
|
||||||
<node-region-selector></node-region-selector>
|
<node-region-selector></node-region-selector>
|
||||||
|
<p class="comment">设置区域后才能根据区域进行流量统计和计费。</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>所属分组</td>
|
<td>所属分组</td>
|
||||||
<td>
|
<td>
|
||||||
<node-group-selector :v-cluster-id="clusterId"></node-group-selector>
|
<node-group-selector :v-cluster-id="clusterId"></node-group-selector>
|
||||||
|
<p class="comment">仅用来筛选服务。</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -35,6 +35,12 @@
|
|||||||
<span class="ui label tiny basic" v-for="route in dnsRoutes">{{route.name}}</span>
|
<span class="ui label tiny basic" v-for="route in dnsRoutes">{{route.name}}</span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr v-if="dnsRecordName.length > 0 && dnsRecordValue.length > 0">
|
||||||
|
<td>DNS记录</td>
|
||||||
|
<td>{{dnsRecordName}} -> {{dnsRecordValue}}
|
||||||
|
<p class="comment">通过设置A记录可以将集群上的服务请求转发到不同线路的节点上。</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>所属区域</td>
|
<td>所属区域</td>
|
||||||
<td>
|
<td>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>IP地址</td>
|
<td>IP地址 *</td>
|
||||||
<td>
|
<td>
|
||||||
<node-ip-addresses-box :v-ip-addresses="ipAddresses"></node-ip-addresses-box>
|
<node-ip-addresses-box :v-ip-addresses="ipAddresses"></node-ip-addresses-box>
|
||||||
<p class="comment">用于访问节点和域名解析等。</p>
|
<p class="comment">用于访问节点和域名解析等。</p>
|
||||||
@@ -39,12 +39,14 @@
|
|||||||
<td>所属区域</td>
|
<td>所属区域</td>
|
||||||
<td>
|
<td>
|
||||||
<node-region-selector :v-region="node.region"></node-region-selector>
|
<node-region-selector :v-region="node.region"></node-region-selector>
|
||||||
|
<p class="comment">设置区域后才能根据区域进行流量统计和计费。</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>所属分组</td>
|
<td>所属分组</td>
|
||||||
<td>
|
<td>
|
||||||
<node-group-selector :v-cluster-id="clusterId" :v-group="node.group"></node-group-selector>
|
<node-group-selector :v-cluster-id="clusterId" :v-group="node.group"></node-group-selector>
|
||||||
|
<p class="comment">仅用来筛选服务。</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -6,6 +6,13 @@
|
|||||||
<form method="post" class="ui form" data-tea-action="$" data-tea-success="success">
|
<form method="post" class="ui form" data-tea-action="$" data-tea-success="success">
|
||||||
<input type="hidden" name="serverId" :value="server.id"/>
|
<input type="hidden" name="serverId" :value="server.id"/>
|
||||||
<table class="ui table selectable definition">
|
<table class="ui table selectable definition">
|
||||||
|
<tr>
|
||||||
|
<td>所属用户</td>
|
||||||
|
<td>
|
||||||
|
<span v-if="user != null">{{user.fullname}} <span class="small">({{user.username}})</span><link-icon :href="'/users/user?userId=' + user.id"></link-icon></span>
|
||||||
|
<span v-else class="disabled">-</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="title">服务名称 *</td>
|
<td class="title">服务名称 *</td>
|
||||||
<td>
|
<td>
|
||||||
@@ -15,7 +22,10 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>部署的集群 *</td>
|
<td>部署的集群 *</td>
|
||||||
<td>
|
<td>
|
||||||
<select class="ui dropdown auto-width" name="clusterId" v-model="server.clusterId">
|
<div v-if="user != null">{{clusterName}}
|
||||||
|
<p class="comment">此选项跟随用户设置,不能单独修改。</p>
|
||||||
|
</div>
|
||||||
|
<select class="ui dropdown auto-width" name="clusterId" v-model="server.clusterId" v-show="user == null">
|
||||||
<option v-for="cluster in clusters" :value="cluster.id">{{cluster.name}}</option>
|
<option v-for="cluster in clusters" :value="cluster.id">{{cluster.name}}</option>
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
<td>关联集群 *</td>
|
<td>关联集群 *</td>
|
||||||
<td>
|
<td>
|
||||||
<cluster-selector :v-cluster-id="clusterId"></cluster-selector>
|
<cluster-selector :v-cluster-id="clusterId"></cluster-selector>
|
||||||
<p class="comment">用户发布的网站服务会自动部署到此集群。</p>
|
<p class="comment">用户发布的网站服务会自动部署到此集群,修改此选项会同步修改当前用户下的所有服务。</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
Reference in New Issue
Block a user