mirror of
https://github.com/certd/certd.git
synced 2026-05-16 21:27:34 +08:00
perf: 多个dns 提供商支持导入域名
This commit is contained in:
@@ -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,将其自动注册到系统中
|
||||
|
||||
Reference in New Issue
Block a user