mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-04 05:00:25 +08:00
优化网站服务列表页在海量域名时的加载速度
This commit is contained in:
@@ -90,15 +90,16 @@ func (this *IndexAction) RunGet(params struct {
|
|||||||
|
|
||||||
// 服务列表
|
// 服务列表
|
||||||
serversResp, err := this.RPC().ServerRPC().ListEnabledServersMatch(this.AdminContext(), &pb.ListEnabledServersMatchRequest{
|
serversResp, err := this.RPC().ServerRPC().ListEnabledServersMatch(this.AdminContext(), &pb.ListEnabledServersMatchRequest{
|
||||||
Offset: page.Offset,
|
Offset: page.Offset,
|
||||||
Size: page.Size,
|
Size: page.Size,
|
||||||
NodeClusterId: params.ClusterId,
|
NodeClusterId: params.ClusterId,
|
||||||
ServerGroupId: params.GroupId,
|
ServerGroupId: params.GroupId,
|
||||||
Keyword: params.Keyword,
|
Keyword: params.Keyword,
|
||||||
AuditingFlag: params.AuditingFlag,
|
AuditingFlag: params.AuditingFlag,
|
||||||
TrafficOutDesc: params.TrafficOutOrder == "desc",
|
TrafficOutDesc: params.TrafficOutOrder == "desc",
|
||||||
TrafficOutAsc: params.TrafficOutOrder == "asc",
|
TrafficOutAsc: params.TrafficOutOrder == "asc",
|
||||||
UserId: params.UserId,
|
UserId: params.UserId,
|
||||||
|
IgnoreServerNames: true,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
this.ErrorPage(err)
|
this.ErrorPage(err)
|
||||||
@@ -176,27 +177,35 @@ func (this *IndexAction) RunGet(params struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 域名列表
|
// 域名列表
|
||||||
var serverNames = []*serverconfigs.ServerNameConfig{}
|
|
||||||
if server.IsAuditing || (server.AuditingResult != nil && !server.AuditingResult.IsOk) {
|
if server.IsAuditing || (server.AuditingResult != nil && !server.AuditingResult.IsOk) {
|
||||||
server.ServerNamesJSON = server.AuditingServerNamesJSON
|
server.ServerNamesJSON = server.AuditingServerNamesJSON
|
||||||
|
|
||||||
|
if len(config.ServerNames) == 0 {
|
||||||
|
// 审核中的域名
|
||||||
|
if len(server.ServerNamesJSON) > 0 {
|
||||||
|
var serverNames = []*serverconfigs.ServerNameConfig{}
|
||||||
|
err = json.Unmarshal(server.ServerNamesJSON, &serverNames)
|
||||||
|
if err != nil {
|
||||||
|
this.ErrorPage(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
config.ServerNames = serverNames
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
var auditingIsOk = true
|
var auditingIsOk = true
|
||||||
if !server.IsAuditing && server.AuditingResult != nil && !server.AuditingResult.IsOk {
|
if !server.IsAuditing && server.AuditingResult != nil && !server.AuditingResult.IsOk {
|
||||||
auditingIsOk = false
|
auditingIsOk = false
|
||||||
}
|
}
|
||||||
if len(server.ServerNamesJSON) > 0 {
|
var firstServerName = ""
|
||||||
err = json.Unmarshal(server.ServerNamesJSON, &serverNames)
|
for _, serverNameConfig := range config.ServerNames {
|
||||||
if err != nil {
|
if len(serverNameConfig.Name) > 0 {
|
||||||
this.ErrorPage(err)
|
firstServerName = serverNameConfig.Name
|
||||||
return
|
break
|
||||||
}
|
}
|
||||||
}
|
if len(serverNameConfig.SubNames) > 0 {
|
||||||
var countServerNames = 0
|
firstServerName = serverNameConfig.SubNames[0]
|
||||||
for _, serverName := range serverNames {
|
break
|
||||||
if len(serverName.SubNames) == 0 {
|
|
||||||
countServerNames++
|
|
||||||
} else {
|
|
||||||
countServerNames += len(serverName.SubNames)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -232,8 +241,8 @@ func (this *IndexAction) RunGet(params struct {
|
|||||||
"ports": portMaps,
|
"ports": portMaps,
|
||||||
"serverTypeName": serverconfigs.FindServerType(server.Type).GetString("name"),
|
"serverTypeName": serverconfigs.FindServerType(server.Type).GetString("name"),
|
||||||
"groups": groupMaps,
|
"groups": groupMaps,
|
||||||
"serverNames": serverNames,
|
"firstServerName": firstServerName,
|
||||||
"countServerNames": countServerNames,
|
"countServerNames": server.CountServerNames,
|
||||||
"isAuditing": server.IsAuditing,
|
"isAuditing": server.IsAuditing,
|
||||||
"auditingIsOk": auditingIsOk,
|
"auditingIsOk": auditingIsOk,
|
||||||
"user": userMap,
|
"user": userMap,
|
||||||
|
|||||||
@@ -80,9 +80,8 @@
|
|||||||
</td>
|
</td>
|
||||||
<td>{{server.cluster.name}}</td>
|
<td>{{server.cluster.name}}</td>
|
||||||
<td>
|
<td>
|
||||||
<span v-if="server.serverNames.length > 0">
|
<span v-if="server.firstServerName.length > 0">
|
||||||
<span v-if="server.serverNames[0].subNames == null || server.serverNames[0].subNames.length == 0"><keyword :v-word="keyword">{{server.serverNames[0].name}}</keyword></span>
|
<keyword :v-word="keyword">{{server.firstServerName}}</keyword>
|
||||||
<span v-else><keyword :v-word="keyword">{{server.serverNames[0].subNames[0]}}</keyword></span>
|
|
||||||
<span v-if="server.countServerNames > 1">等{{server.countServerNames}}个域名 <popup-icon :href="'/servers/serverNamesPopup?serverId=' + server.id" height="20em"></popup-icon></span>
|
<span v-if="server.countServerNames > 1">等{{server.countServerNames}}个域名 <popup-icon :href="'/servers/serverNamesPopup?serverId=' + server.id" height="20em"></popup-icon></span>
|
||||||
</span>
|
</span>
|
||||||
<span v-else class="disabled">-</span>
|
<span v-else class="disabled">-</span>
|
||||||
|
|||||||
Reference in New Issue
Block a user