perf: 支持从提供商导入域名列表

This commit is contained in:
xiaojunnuo
2026-01-20 00:13:05 +08:00
parent 5ec9916817
commit f4423638a2
12 changed files with 138 additions and 23 deletions
@@ -1,6 +1,7 @@
import { AbstractDnsProvider, CreateRecordOptions, IsDnsProvider, RemoveRecordOptions } from '@certd/plugin-cert';
import { AbstractDnsProvider, CreateRecordOptions, DomainRecord, IsDnsProvider, RemoveRecordOptions } from '@certd/plugin-cert';
import { AliyunAccess } from '../../plugin-lib/aliyun/access/aliyun-access.js';
import { AliyunClient } from '../../plugin-lib/aliyun/index.js';
import { Pager, PageRes } from '@certd/pipeline';
@IsDnsProvider({
@@ -153,6 +154,33 @@ export class AliyunDnsProvider extends AbstractDnsProvider {
throw e
}
}
async getDomainListPage(pager: Pager) :Promise<PageRes<DomainRecord>> {
const params = {
RegionId: 'cn-hangzhou',
PageSize: pager.pageSize,
PageNumber: pager.pageNo,
};
const requestOption = {
method: 'POST',
};
const ret = await this.client.request(
'DescribeDomains',
params,
requestOption
);
const list = ret.Domains?.Domain?.map(item => ({
id: item.DomainId,
domain: item.DomainName,
})) || []
return {
list,
total: ret.TotalCount,
}
}
}
new AliyunDnsProvider();