DNS服务商增加厂家筛选

This commit is contained in:
GoEdgeLab
2022-05-07 20:41:20 +08:00
parent ce497e8822
commit 532a3e4d5e
2 changed files with 44 additions and 7 deletions

View File

@@ -20,9 +20,11 @@ func (this *IndexAction) Init() {
func (this *IndexAction) RunGet(params struct { func (this *IndexAction) RunGet(params struct {
Keyword string Keyword string
Domain string Domain string
ProviderType string
}) { }) {
this.Data["keyword"] = params.Keyword this.Data["keyword"] = params.Keyword
this.Data["domain"] = params.Domain this.Data["domain"] = params.Domain
this.Data["providerType"] = params.ProviderType
// 格式化域名 // 格式化域名
var domain = params.Domain var domain = params.Domain
@@ -33,6 +35,7 @@ func (this *IndexAction) RunGet(params struct {
AdminId: this.AdminId(), AdminId: this.AdminId(),
Keyword: params.Keyword, Keyword: params.Keyword,
Domain: domain, Domain: domain,
Type: params.ProviderType,
}) })
if err != nil { if err != nil {
this.ErrorPage(err) this.ErrorPage(err)
@@ -46,6 +49,7 @@ func (this *IndexAction) RunGet(params struct {
AdminId: this.AdminId(), AdminId: this.AdminId(),
Keyword: params.Keyword, Keyword: params.Keyword,
Domain: domain, Domain: domain,
Type: params.ProviderType,
Offset: page.Offset, Offset: page.Offset,
Size: page.Size, Size: page.Size,
}) })
@@ -53,7 +57,7 @@ func (this *IndexAction) RunGet(params struct {
this.ErrorPage(err) this.ErrorPage(err)
return return
} }
providerMaps := []maps.Map{} var providerMaps = []maps.Map{}
for _, provider := range providersResp.DnsProviders { for _, provider := range providersResp.DnsProviders {
dataUpdatedTime := "" dataUpdatedTime := ""
if provider.DataUpdatedAt > 0 { if provider.DataUpdatedAt > 0 {
@@ -61,7 +65,9 @@ func (this *IndexAction) RunGet(params struct {
} }
// 域名 // 域名
countDomainsResp, err := this.RPC().DNSDomainRPC().CountAllEnabledDNSDomainsWithDNSProviderId(this.AdminContext(), &pb.CountAllEnabledDNSDomainsWithDNSProviderIdRequest{DnsProviderId: provider.Id}) countDomainsResp, err := this.RPC().DNSDomainRPC().CountAllEnabledDNSDomainsWithDNSProviderId(this.AdminContext(), &pb.CountAllEnabledDNSDomainsWithDNSProviderIdRequest{
DnsProviderId: provider.Id,
})
if err != nil { if err != nil {
this.ErrorPage(err) this.ErrorPage(err)
return return
@@ -79,5 +85,30 @@ func (this *IndexAction) RunGet(params struct {
} }
this.Data["providers"] = providerMaps this.Data["providers"] = providerMaps
// 类型
typesResponse, err := this.RPC().DNSProviderRPC().FindAllDNSProviderTypes(this.AdminContext(), &pb.FindAllDNSProviderTypesRequest{})
if err != nil {
this.ErrorPage(err)
return
}
var providerTypeMaps = []maps.Map{}
for _, providerType := range typesResponse.ProviderTypes {
countProvidersWithTypeResp, err := this.RPC().DNSProviderRPC().CountAllEnabledDNSProviders(this.AdminContext(), &pb.CountAllEnabledDNSProvidersRequest{
Type: providerType.Code,
})
if err != nil {
this.ErrorPage(err)
return
}
if countProvidersWithTypeResp.Count > 0 {
providerTypeMaps = append(providerTypeMaps, maps.Map{
"name": providerType.Name,
"code": providerType.Code,
"count": countProvidersWithTypeResp.Count,
})
}
}
this.Data["providerTypes"] = providerTypeMaps
this.Show() this.Show()
} }

View File

@@ -14,10 +14,16 @@
<div class="ui field"> <div class="ui field">
<input type="text" name="domain" placeholder="域名..." v-model="domain"/> <input type="text" name="domain" placeholder="域名..." v-model="domain"/>
</div> </div>
<div class="ui field" v-if="providerTypes.length > 0">
<select class="ui dropdown auto-width" name="providerType" v-model="providerType">
<option value="">[DNS厂家]</option>
<option v-for="p in providerTypes" :value="p.code">{{p.name}}({{p.count}})</option>
</select>
</div>
<div class="ui field"> <div class="ui field">
<button class="ui button" type="submit">搜索</button> <button class="ui button" type="submit">搜索</button>
&nbsp; &nbsp;
<a :href="Tea.url('.')" v-if="keyword.length > 0 || domain.length > 0">[清除条件]</a> <a :href="Tea.url('.')" v-if="keyword.length > 0 || domain.length > 0 || providerType.length > 0">[清除条件]</a>
</div> </div>
</div> </div>
</form> </form>
@@ -28,13 +34,13 @@
<thead> <thead>
<tr> <tr>
<th>账号说明</th> <th>账号说明</th>
<th class="width10">服务商</th> <th class="three wide">服务商</th>
<th class="width5 center">域名</th> <th class="width5 center">域名</th>
<th class="two op">操作</th> <th class="two op">操作</th>
</tr> </tr>
</thead> </thead>
<tr v-for="(provider, index) in providers"> <tr v-for="(provider, index) in providers">
<td><a :href="'/dns/providers/provider?providerId=' + provider.id">{{provider.name}}</a></td> <td><a :href="'/dns/providers/provider?providerId=' + provider.id"><keyword :v-word="keyword">{{provider.name}}</keyword></a></td>
<td>{{provider.typeName}}</td> <td>{{provider.typeName}}</td>
<td class="center"> <td class="center">
<span v-if="provider.countDomains == 0" class="disabled">0</span> <span v-if="provider.countDomains == 0" class="disabled">0</span>