From 19e1df1e5d94fa5c9d6581ac02955ff0ed2da112 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sun, 13 Jul 2025 23:58:07 +0800 Subject: [PATCH] chore: --- .../modules/cert/service/domain-service.ts | 4 +- .../cname/service/cname-record-service.ts | 54 +++++++++++++------ 2 files changed, 39 insertions(+), 19 deletions(-) diff --git a/packages/ui/certd-server/src/modules/cert/service/domain-service.ts b/packages/ui/certd-server/src/modules/cert/service/domain-service.ts index 1a3426bc..2c8ec6e7 100644 --- a/packages/ui/certd-server/src/modules/cert/service/domain-service.ts +++ b/packages/ui/certd-server/src/modules/cert/service/domain-service.ts @@ -154,7 +154,7 @@ export class DomainService extends BaseService { } continue } - const cnameRecord:CnameRecordEntity = cnameMap[mainDomain] + const cnameRecord:CnameRecordEntity = cnameMap[domain] if (cnameRecord) { domainVerifiers[domain] = { domain, @@ -168,7 +168,7 @@ export class DomainService extends BaseService { } continue } - const httpRecord = httpMap[mainDomain] + const httpRecord = httpMap[domain] if (httpRecord) { domainVerifiers[domain] = { domain, diff --git a/packages/ui/certd-server/src/modules/cname/service/cname-record-service.ts b/packages/ui/certd-server/src/modules/cname/service/cname-record-service.ts index 10c5764f..fd09c65f 100644 --- a/packages/ui/certd-server/src/modules/cname/service/cname-record-service.ts +++ b/packages/ui/certd-server/src/modules/cname/service/cname-record-service.ts @@ -1,19 +1,27 @@ -import {Inject, Provide, Scope, ScopeEnum} from '@midwayjs/core'; -import {InjectEntityModel} from '@midwayjs/typeorm'; -import {Repository} from 'typeorm'; -import {AccessService, BaseService, PlusService, ValidateException} from '@certd/lib-server'; -import {CnameRecordEntity, CnameRecordStatusType} from '../entity/cname-record.js'; -import {createDnsProvider, IDnsProvider} from '@certd/plugin-cert'; -import {CnameProvider, CnameRecord} from '@certd/pipeline'; -import {cache, http, isDev, logger, utils} from '@certd/basic'; -import {getAuthoritativeDnsResolver, walkTxtRecord} from '@certd/acme-client'; -import {CnameProviderService} from './cname-provider-service.js'; -import {CnameProviderEntity} from '../entity/cname-provider.js'; -import {CommonDnsProvider} from './common-provider.js'; -import {DomainParser} from "@certd/plugin-cert/dist/dns-provider/domain-parser.js"; -import punycode from 'punycode.js' -import {SubDomainService} from "../../pipeline/service/sub-domain-service.js"; -import {SubDomainsGetter} from "../../pipeline/service/getter/sub-domain-getter.js"; +import { Inject, Provide, Scope, ScopeEnum } from "@midwayjs/core"; +import { InjectEntityModel } from "@midwayjs/typeorm"; +import { Repository } from "typeorm"; +import { + AccessService, + BaseService, + PlusService, + SysInstallInfo, + SysSettingsService, + ValidateException +} from "@certd/lib-server"; +import { CnameRecordEntity, CnameRecordStatusType } from "../entity/cname-record.js"; +import { createDnsProvider, IDnsProvider } from "@certd/plugin-cert"; +import { CnameProvider, CnameRecord } from "@certd/pipeline"; +import { cache, http, isDev, logger, utils } from "@certd/basic"; +import { getAuthoritativeDnsResolver, walkTxtRecord } from "@certd/acme-client"; +import { CnameProviderService } from "./cname-provider-service.js"; +import { CnameProviderEntity } from "../entity/cname-provider.js"; +import { CommonDnsProvider } from "./common-provider.js"; +import { DomainParser } from "@certd/plugin-cert/dist/dns-provider/domain-parser.js"; +import punycode from "punycode.js"; +import { SubDomainService } from "../../pipeline/service/sub-domain-service.js"; +import { SubDomainsGetter } from "../../pipeline/service/getter/sub-domain-getter.js"; + type CnameCheckCacheValue = { validating: boolean; pass: boolean; @@ -35,6 +43,8 @@ export class CnameRecordService extends BaseService { @Inject() cnameProviderService: CnameProviderService; + @Inject() + sysSettingsService: SysSettingsService; @Inject() accessService: AccessService; @@ -101,7 +111,17 @@ export class CnameRecordService extends BaseService { } param.hostRecord = hostRecord; - const cnameKey = utils.id.simpleNanoId().toLowerCase(); + let cnameKey = utils.id.simpleNanoId(8).toLowerCase(); + + let userIdHash = "" + if(param.cnameProviderId < 0){ + //公共cname服务 + userIdHash = utils.hash.md5(`userId_${userId}`).substring(0, 8) + }else{ + const installInfo = await this.sysSettingsService.getSetting(SysInstallInfo) + userIdHash = utils.hash.md5(installInfo.siteId).substring(0, 8) + } + cnameKey = `${userIdHash}-${cnameKey}`; const safeDomain = param.domain.replaceAll('.', '-'); param.recordValue = `${safeDomain}.${cnameKey}.${cnameProvider.domain}`; }