修复DNSPod只能取前100个域名的问题

This commit is contained in:
GoEdgeLab
2022-09-17 17:16:30 +08:00
parent 8e79d2f749
commit adeb805dcb

View File

@@ -55,8 +55,8 @@ func (this *DNSPodProvider) Auth(params maps.Map) error {
// GetDomains 获取所有域名列表 // GetDomains 获取所有域名列表
func (this *DNSPodProvider) GetDomains() (domains []string, err error) { func (this *DNSPodProvider) GetDomains() (domains []string, err error) {
offset := 0 var offset = 0
size := 100 var size = 100
for { for {
domainsResp, err := this.post("/Domain.List", map[string]string{ domainsResp, err := this.post("/Domain.List", map[string]string{
@@ -68,7 +68,7 @@ func (this *DNSPodProvider) GetDomains() (domains []string, err error) {
} }
offset += size offset += size
domainsSlice := domainsResp.GetSlice("domains") var domainsSlice = domainsResp.GetSlice("domains")
if len(domainsSlice) == 0 { if len(domainsSlice) == 0 {
break break
} }
@@ -79,8 +79,8 @@ func (this *DNSPodProvider) GetDomains() (domains []string, err error) {
} }
// 检查是否到头 // 检查是否到头
info := domainsResp.GetMap("info") var info = domainsResp.GetMap("info")
recordTotal := info.GetInt("record_total") var recordTotal = info.GetInt("all_total")
if offset >= recordTotal { if offset >= recordTotal {
break break
} }
@@ -90,8 +90,8 @@ func (this *DNSPodProvider) GetDomains() (domains []string, err error) {
// GetRecords 获取域名列表 // GetRecords 获取域名列表
func (this *DNSPodProvider) GetRecords(domain string) (records []*dnstypes.Record, err error) { func (this *DNSPodProvider) GetRecords(domain string) (records []*dnstypes.Record, err error) {
offset := 0 var offset = 0
size := 100 var size = 100
for { for {
recordsResp, err := this.post("/Record.List", map[string]string{ recordsResp, err := this.post("/Record.List", map[string]string{
"domain": domain, "domain": domain,
@@ -104,7 +104,7 @@ func (this *DNSPodProvider) GetRecords(domain string) (records []*dnstypes.Recor
offset += size offset += size
// 记录 // 记录
recordSlice := recordsResp.GetSlice("records") var recordSlice = recordsResp.GetSlice("records")
for _, record := range recordSlice { for _, record := range recordSlice {
recordMap := maps.NewMap(record) recordMap := maps.NewMap(record)
records = append(records, &dnstypes.Record{ records = append(records, &dnstypes.Record{
@@ -118,8 +118,8 @@ func (this *DNSPodProvider) GetRecords(domain string) (records []*dnstypes.Recor
} }
// 检查是否到头 // 检查是否到头
info := recordsResp.GetMap("info") var info = recordsResp.GetMap("info")
recordTotal := info.GetInt("record_total") var recordTotal = info.GetInt("record_total")
if offset >= recordTotal { if offset >= recordTotal {
break break
} }