优化界面

This commit is contained in:
GoEdgeLab
2020-12-23 19:44:10 +08:00
parent cb006446a3
commit 119882b6d7
14 changed files with 92 additions and 32 deletions

View File

@@ -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)

View File

@@ -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

View File

@@ -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)

View File

@@ -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
} }
// 分组 // 分组

View File

@@ -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>

View File

@@ -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>

View File

@@ -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;
} }

View File

@@ -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;
} }

View File

@@ -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>

View File

@@ -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>

View File

@@ -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}} -&gt; {{dnsRecordValue}}
<p class="comment">通过设置A记录可以将集群上的服务请求转发到不同线路的节点上。</p>
</td>
</tr>
<tr> <tr>
<td>所属区域</td> <td>所属区域</td>
<td> <td>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>