perf: 多个dns 提供商支持导入域名

This commit is contained in:
xiaojunnuo
2026-01-23 16:56:01 +08:00
parent 7eb9694221
commit d3c0914ac1
12 changed files with 131 additions and 28 deletions
@@ -1,5 +1,5 @@
import { HttpRequestConfig } from '@certd/basic';
import { IsAccess, AccessInput, BaseAccess } from '@certd/pipeline';
import { IsAccess, AccessInput, BaseAccess, PageSearch, Pager } from '@certd/pipeline';
import qs from 'qs';
import iconv from 'iconv-lite';
/**
@@ -133,7 +133,7 @@ export class WestAccess extends BaseAccess {
return "ok";
}
await this.getDomainList();
await this.getDomainList({pageNo:1,pageSize:1});
return "ok";
}
@@ -166,14 +166,15 @@ export class WestAccess extends BaseAccess {
return res;
}
async getDomainList() {
async getDomainList(req: PageSearch) {
const pager = new Pager(req)
const res = await this.doRequest({
url: '/v2/domain',
method: 'GET',
data:{
act:'getdomains',
limit:1,
page:1
limit: pager.pageSize,
page: pager.pageNo,
}
});
return res;
@@ -1,6 +1,7 @@
import { AbstractDnsProvider, CreateRecordOptions, IsDnsProvider, RemoveRecordOptions } from '@certd/plugin-cert';
import { WestDnsProviderDomain } from './dns-provider-domain.js';
import { PageRes, PageSearch } from '@certd/pipeline';
import { AbstractDnsProvider, CreateRecordOptions, DomainRecord, IsDnsProvider, RemoveRecordOptions } from '@certd/plugin-cert';
import { WestAccess } from './access.js';
import { WestDnsProviderDomain } from './dns-provider-domain.js';
type westRecord = {
// 这里定义Record记录的数据结构,跟对应云平台接口返回值一样即可,一般是拿到id就行,用于删除txt解析记录,清理申请痕迹
@@ -128,6 +129,10 @@ export class WestDnsProvider extends AbstractDnsProvider<westRecord> {
const result = res.result;
this.logger.info('删除域名解析成功:', fullRecord, value, JSON.stringify(result));
}
async getDomainListPage(req: PageSearch): Promise<PageRes<DomainRecord>> {
return await this.access.getDomainList(req);
}
}
//TODO 实例化这个provider,将其自动注册到系统中