Merge branch 'v2-dev' into v2-invite

This commit is contained in:
xiaojunnuo
2026-05-30 21:53:15 +08:00
119 changed files with 294 additions and 193 deletions
+1 -1
View File
@@ -1,2 +1,2 @@
link-workspace-packages=deep
prefer-workspace-packages=true
prefer-workspace-packages=true
+7
View File
@@ -3,6 +3,13 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.40.5](https://github.com/certd/certd/compare/v1.40.4...v1.40.5) (2026-05-26)
### Bug Fixes
* 修复阿里云证书订单orderid 选择出错的问题 ([af9047b](https://github.com/certd/certd/commit/af9047bf3c54ce71b11727ccc6220288ed1f57be))
* 修复查询阿里云cdn Dcdn 域名太多无法选择的bug ([346fb73](https://github.com/certd/certd/commit/346fb730a37e035576f5d9ea5c0d74c052b34aeb))
## [1.40.4](https://github.com/certd/certd/compare/v1.40.3...v1.40.4) (2026-05-24)
### Bug Fixes
@@ -54,7 +54,7 @@ input:
action: onGetNodes
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -54,7 +54,7 @@ input:
action: onGetNodes
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -83,7 +83,7 @@ input:
action: onGetSSLIds
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -51,7 +51,7 @@ input:
action: onGetWebsiteList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -66,13 +66,13 @@ input:
component:
name: remote-select
vModel: value
mode: default
mode: tags
type: plugin
typeName: AliyunDeployCertToALB
action: onGetRegionList
search: false
pager: false
multi: false
single: true
watches:
- certDomains
- accessId
@@ -101,7 +101,7 @@ input:
action: onGetLoadBalanceList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -130,7 +130,7 @@ input:
action: onGetListenerList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -116,7 +116,7 @@ input:
action: onGetProductList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -146,7 +146,7 @@ input:
action: onGetContactList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -80,7 +80,7 @@ input:
action: onGetSiteList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -111,7 +111,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -62,12 +62,12 @@ input:
component:
name: remote-select
vModel: value
mode: default
mode: tags
type: plugin
action: onGetAcceleratorList
search: false
pager: false
multi: false
single: true
watches:
- certDomains
- accessId
@@ -95,7 +95,7 @@ input:
action: onGetListenerList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -137,7 +137,7 @@ input:
action: onGetAdditionalDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -66,13 +66,13 @@ input:
component:
name: remote-select
vModel: value
mode: default
mode: tags
type: plugin
typeName: AliyunDeployCertToNLB
action: onGetRegionList
search: false
pager: false
multi: false
single: true
watches:
- certDomains
- accessId
@@ -101,7 +101,7 @@ input:
action: onGetLoadBalanceList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -130,7 +130,7 @@ input:
action: onGetListenerList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -66,12 +66,12 @@ input:
component:
name: remote-select
vModel: value
mode: default
mode: tags
type: plugin
action: onGetRegionList
search: false
pager: false
multi: false
single: true
watches:
- certDomains
- accessId
@@ -99,7 +99,7 @@ input:
action: onGetLoadBalanceList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -127,7 +127,7 @@ input:
action: onGetListenerList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -169,7 +169,7 @@ input:
action: onGetExtensionDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -68,7 +68,7 @@ input:
action: onGetDomainList
search: true
pager: true
multi: true
single: false
watches:
- certDomains
- accessId
@@ -84,7 +84,7 @@ input:
action: onGetCnameList
search: true
pager: true
multi: true
single: false
watches:
- certDomains
- accessId
@@ -84,7 +84,7 @@ input:
action: onGetCloudResourceList
search: true
pager: true
multi: true
single: false
watches:
- certDomains
- accessId
@@ -51,7 +51,7 @@ input:
action: onGetCertList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -71,7 +71,7 @@ input:
action: onGetDistributions
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -133,7 +133,7 @@ input:
action: onGetDistributions
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -63,7 +63,7 @@ input:
action: onGetCertList
search: true
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -92,7 +92,7 @@ input:
action: onGetSiteList
search: true
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -80,7 +80,7 @@ input:
action: onGetOrderList
search: false
pager: true
multi: true
single: true
pageSize: 50
watches:
- certDomains
@@ -51,7 +51,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -76,7 +76,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -101,7 +101,7 @@ input:
action: onGetSiteList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -56,7 +56,7 @@ input:
action: onGetRegionList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -85,7 +85,7 @@ input:
action: onGetGroupList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -114,7 +114,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -53,7 +53,7 @@ input:
action: onGetRegionList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -94,7 +94,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -98,9 +98,10 @@ input:
type: plugin
typeName: DeployCertToAliyunCDN
action: onGetDomainList
search: false
search: true
pager: true
multi: true
single: false
pageSize: 100
watches:
- certDomains
- accessId
@@ -68,9 +68,10 @@ input:
mode: tags
type: plugin
action: onGetDomainList
search: false
search: true
pager: true
multi: true
single: false
pageSize: 100
watches:
- certDomains
- accessId
@@ -71,7 +71,7 @@ input:
action: onGetDomainList
search: true
pager: true
multi: true
single: false
watches:
- certDomains
- accessId
@@ -149,7 +149,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -88,7 +88,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -53,7 +53,7 @@ input:
action: onGetZoneList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -82,7 +82,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -53,7 +53,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -51,7 +51,7 @@ input:
action: onGetServerList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -51,7 +51,7 @@ input:
action: onGetCertList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -50,7 +50,7 @@ input:
action: onGetCertList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -56,7 +56,7 @@ input:
action: onGetCertList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -61,7 +61,7 @@ input:
action: onGetCertList
search: true
pager: true
multi: true
single: false
watches:
- certDomains
- accessId
@@ -63,7 +63,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -50,13 +50,13 @@ input:
component:
name: remote-select
vModel: value
mode: default
mode: tags
type: plugin
typeName: HauweiDeployCertToELB
action: onGetProjectList
search: false
pager: false
multi: false
single: true
watches:
- certDomains
- accessId
@@ -84,7 +84,7 @@ input:
action: onGetCertList
search: true
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -56,7 +56,7 @@ input:
action: onGetBucketList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -83,7 +83,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -51,7 +51,7 @@ input:
action: onGetSiteList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -53,7 +53,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -53,7 +53,7 @@ input:
action: onGetCertList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -51,7 +51,7 @@ input:
action: onGetCertList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -37,7 +37,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -26,7 +26,7 @@ input:
action: onGetCertList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -27,7 +27,7 @@ input:
action: onGetCertList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -51,7 +51,7 @@ input:
action: onGetCertList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -50,7 +50,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -35,7 +35,7 @@ input:
action: onGetCertList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -52,7 +52,7 @@ input:
action: onGetProxyHostOptions
search: true
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -51,7 +51,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -52,7 +52,7 @@ input:
action: onGetCertList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -34,7 +34,7 @@ input:
action: onGetNodeList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -53,7 +53,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -51,7 +51,7 @@ input:
action: onGetCertList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -54,7 +54,7 @@ input:
action: onGetCertIds
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -85,7 +85,7 @@ input:
action: onGetInstanceList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -54,7 +54,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -28,7 +28,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -52,7 +52,7 @@ input:
action: onGetCertList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -52,7 +52,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -46,12 +46,12 @@ input:
component:
name: remote-select
vModel: value
mode: default
mode: tags
type: plugin
action: onGetRegionList
search: false
pager: false
multi: false
single: true
watches:
- certDomains
- accessId
@@ -78,7 +78,7 @@ input:
action: onGetCertList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -51,7 +51,7 @@ input:
action: onGetBucketList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -78,7 +78,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -51,7 +51,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -52,7 +52,7 @@ input:
action: onGetCdnList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -74,7 +74,7 @@ input:
action: onGetListenerList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -68,7 +68,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -84,7 +84,7 @@ input:
action: onGetListenerList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -61,7 +61,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -52,7 +52,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -89,7 +89,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -68,12 +68,12 @@ input:
component:
name: remote-select
vModel: value
mode: default
mode: tags
type: plugin
action: onGetClusterList
search: false
pager: false
multi: false
single: true
watches:
- certDomains
- accessId
@@ -61,12 +61,12 @@ input:
component:
name: remote-select
vModel: value
mode: default
mode: tags
type: plugin
action: onGetSpaceList
search: false
pager: false
multi: false
single: true
watches:
- certDomains
- accessId
@@ -109,7 +109,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -51,7 +51,7 @@ input:
action: onGetCertList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -51,7 +51,7 @@ input:
action: onGetVhostList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -37,7 +37,7 @@ input:
action: onGetDomainList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
@@ -51,7 +51,7 @@ input:
action: onGetCertList
search: false
pager: false
multi: true
single: false
watches:
- certDomains
- accessId
+14 -14
View File
@@ -1,6 +1,6 @@
{
"name": "@certd/ui-server",
"version": "1.40.4",
"version": "1.40.5",
"description": "fast-server base midway",
"private": true,
"type": "module",
@@ -53,20 +53,20 @@
"@aws-sdk/client-sts": "^3.990.0",
"@azure/arm-dns": "^5.1.0",
"@azure/identity": "^4.13.1",
"@certd/acme-client": "^1.40.4",
"@certd/basic": "^1.40.4",
"@certd/commercial-core": "^1.40.4",
"@certd/acme-client": "^1.40.5",
"@certd/basic": "^1.40.5",
"@certd/commercial-core": "^1.40.5",
"@certd/cv4pve-api-javascript": "^8.4.2",
"@certd/jdcloud": "^1.40.4",
"@certd/lib-huawei": "^1.40.4",
"@certd/lib-k8s": "^1.40.4",
"@certd/lib-server": "^1.40.4",
"@certd/midway-flyway-js": "^1.40.4",
"@certd/pipeline": "^1.40.4",
"@certd/plugin-cert": "^1.40.4",
"@certd/plugin-lib": "^1.40.4",
"@certd/plugin-plus": "^1.40.4",
"@certd/plus-core": "^1.40.4",
"@certd/jdcloud": "^1.40.5",
"@certd/lib-huawei": "^1.40.5",
"@certd/lib-k8s": "^1.40.5",
"@certd/lib-server": "^1.40.5",
"@certd/midway-flyway-js": "^1.40.5",
"@certd/pipeline": "^1.40.5",
"@certd/plugin-cert": "^1.40.5",
"@certd/plugin-lib": "^1.40.5",
"@certd/plugin-plus": "^1.40.5",
"@certd/plus-core": "^1.40.5",
"@google-cloud/dns": "^5.3.1",
"@google-cloud/publicca": "^1.3.0",
"@huaweicloud/huaweicloud-sdk-cdn": "3.1.185",
@@ -104,6 +104,8 @@ export class DeployCertToAliyunCDN extends AbstractTaskPlugin {
action: DeployCertToAliyunCDN.prototype.onGetDomainList.name,
watches: ['certDomains', 'accessId'],
required: true,
pageSize: 100,
search:true,
mergeScript: `
return {
show: ctx.compute(({form})=>{
@@ -256,9 +258,10 @@ export class DeployCertToAliyunCDN extends AbstractTaskPlugin {
const pager = new Pager(data)
const params = {
// 'DomainName': 'aaa',
DomainName: data.searchKey,
PageSize: pager.pageSize || 100,
PageNumber: pager.pageNo || 1,
DomainSearchType: "fuzzy_match"
};
const requestOption = {
@@ -275,7 +278,7 @@ export class DeployCertToAliyunCDN extends AbstractTaskPlugin {
total: 0,
};
}
const total = res?.Domains?.TotalCount || 0;
const total = res?.TotalCount || 0;
const options = pageData.map((item: any) => {
return {
value: item.DomainName,
@@ -1,4 +1,4 @@
import { AbstractTaskPlugin, CertTargetItem, IsTaskPlugin, PageSearch, pluginGroups, RunStrategy, TaskInput, TaskOutput } from '@certd/pipeline';
import { AbstractTaskPlugin, CertTargetItem, IsTaskPlugin, Pager, PageSearch, pluginGroups, RunStrategy, TaskInput, TaskOutput } from '@certd/pipeline';
import {
createCertDomainGetterInputDefine,
createRemoteSelectInputDefine
@@ -76,6 +76,8 @@ export class DeployCertToAliyunDCDN extends AbstractTaskPlugin {
action: DeployCertToAliyunDCDN.prototype.onGetDomainList.name,
watches: ['certDomains', 'accessId'],
required: true,
pageSize: 100,
search:true,
pager:true,
mergeScript: `
return {
@@ -196,10 +198,12 @@ export class DeployCertToAliyunDCDN extends AbstractTaskPlugin {
const access = await this.getAccess<AliyunAccess>(this.accessId);
const client = await this.getClient(access);
const pager = new Pager(data)
const params = {
PageNumber: data.pageNo || 1,
PageSize: 500,
DomainName: data.searchKey,
PageSize: pager.pageSize || 200,
PageNumber: pager.pageNo || 1,
DomainSearchType: "fuzzy_match"
};
const requestOption = {
@@ -210,7 +214,7 @@ export class DeployCertToAliyunDCDN extends AbstractTaskPlugin {
const res = await client.request('DescribeDcdnUserDomains', params, requestOption);
this.checkRet(res);
const pageData = res?.Domains?.PageData || [];
const total = res?.Domains?.TotalCount || 0;
const total = res?.TotalCount || 0;
const options = pageData.map((item: any) => {
return {
@@ -332,15 +332,22 @@ export class AcmeService {
value: recordValue,
};
this.logger.info("添加 TXT 解析记录", JSON.stringify(recordReq));
const recordRes = await dnsProvider.createRecord(recordReq);
this.logger.info("添加 TXT 解析记录成功", JSON.stringify(recordRes));
return {
recordReq,
recordRes,
dnsProvider,
challenge,
keyAuthorization,
};
try {
const recordRes = await dnsProvider.createRecord(recordReq);
this.logger.info("添加 TXT 解析记录成功", JSON.stringify(recordRes));
return {
recordReq,
recordRes,
dnsProvider,
challenge,
keyAuthorization,
};
} catch (e: any) {
//@ts-ignore
e.message = `[${dnsProvider?.constructor?.name}错误] ${e.message}`;
throw e
}
};
const doDnsPersistVerify = async (challenge: any, plan: DnsPersistVerifyPlan) => {
@@ -230,7 +230,7 @@ export class CertApplyPlugin extends CertApplyBasePlugin {
if(form.challengeType === 'cname' ){
return '请按照上面的提示,给要申请证书的域名添加CNAME记录,添加后,点击验证,验证成功后不要删除记录,申请和续期证书会一直用它'
}else if (form.challengeType === 'http'){
return '请按照上面的提示,给每个域名设置文件上传配置,证书申请过程中会上传校验文件到网站根目录的.well-known/acme-challenge/目录下'
return '请按照上面的提示,给每个域名设置文件上传配置,证书申请过程中会上传校验文件到网站根目录文件夹下,请确保该校验文件可以公网http访问到'
}else if (form.challengeType === 'dnses'){
return '给每个域名单独配置dns提供商'
}else if (form.challengeType === 'dns-persist'){
@@ -62,7 +62,7 @@ export class NginxProxyManagerDeploy extends AbstractTaskPlugin {
action: "onGetProxyHostOptions",
search: true,
pager: false,
multi: true,
single: false,
watches: ["certDomains", "accessId"],
},
helper: "选择要绑定此证书的一个或多个代理主机。",
@@ -8,8 +8,8 @@ describe("VolcengineDeployToVKE", () => {
it("uses a single-select cluster field", () => {
const clusterInput = (VolcengineDeployToVKE as any).define.input.clusterId;
assert.equal(clusterInput.component.multi, false);
assert.equal(clusterInput.component.mode, "default");
assert.equal(clusterInput.component.single, true);
assert.equal(clusterInput.component.mode, "tags");
});
it("sends the configured string ClusterId", async () => {