diff --git a/packages/core/basic/src/utils/util.request.ts b/packages/core/basic/src/utils/util.request.ts index 17d39bf7..2bf994d4 100644 --- a/packages/core/basic/src/utils/util.request.ts +++ b/packages/core/basic/src/utils/util.request.ts @@ -47,6 +47,21 @@ export class HttpError extends Error { } export const HttpCommonError = HttpError; + +let defaultAgents = createAgent(); + +export function setGlobalProxy(opts: { httpProxy?: string; httpsProxy?: string }) { + logger.info('setGlobalProxy:', opts); + if (opts.httpProxy) { + process.env.HTTP_PROXY = opts.httpProxy; + } + if (opts.httpsProxy) { + process.env.HTTPS_PROXY = opts.httpsProxy; + } + + defaultAgents = createAgent(); +} + /** * @description 创建请求实例 */ @@ -54,7 +69,6 @@ export function createAxiosService({ logger }: { logger: Logger }) { // 创建一个 axios 实例 const service = axios.create(); - const defaultAgents = createAgent(); // 请求拦截 service.interceptors.request.use( (config: any) => { diff --git a/packages/libs/lib-server/src/system/settings/service/models.ts b/packages/libs/lib-server/src/system/settings/service/models.ts index 8296349b..cd887fc9 100644 --- a/packages/libs/lib-server/src/system/settings/service/models.ts +++ b/packages/libs/lib-server/src/system/settings/service/models.ts @@ -24,13 +24,21 @@ export class SysPrivateSettings extends BaseSettings { static __key__ = 'sys.private'; jwtKey?: string; encryptSecret?: string; + + httpsProxy? = ''; + httpProxy? = ''; + + removeSecret() { + delete this.jwtKey; + delete this.encryptSecret; + } } export class SysInstallInfo extends BaseSettings { static __title__ = '系统安装信息'; static __key__ = 'sys.install'; static __access__ = 'private'; - installTime: number; + installTime?: number; siteId?: string; bindUserId?: number; bindUrl?: string; diff --git a/packages/libs/lib-server/src/system/settings/service/sys-settings-service.ts b/packages/libs/lib-server/src/system/settings/service/sys-settings-service.ts index 9d52eba4..9d6c73a0 100644 --- a/packages/libs/lib-server/src/system/settings/service/sys-settings-service.ts +++ b/packages/libs/lib-server/src/system/settings/service/sys-settings-service.ts @@ -7,6 +7,7 @@ import { BaseSettings, SysPrivateSettings, SysPublicSettings } from './models.js import * as _ from 'lodash-es'; import { BaseService } from '../../../basic/index.js'; import { isComm } from '@certd/pipeline'; +import { setGlobalProxy } from '@certd/basic'; /** * 设置 @@ -118,8 +119,25 @@ export class SysSettingsService extends BaseService { await this.saveSetting(bean); } + async getPrivateSettings(): Promise { + return await this.getSetting(SysPrivateSettings); + } + async savePrivateSettings(bean: SysPrivateSettings) { - this.saveSetting(bean); + await this.saveSetting(bean); + + //让设置生效 + await this.reloadPrivateSettings(); + } + + async reloadPrivateSettings() { + const bean = await this.getPrivateSettings(); + if (bean.httpProxy || bean.httpsProxy) { + setGlobalProxy({ + httpProxy: bean.httpProxy, + httpsProxy: bean.httpsProxy, + }); + } } async updateByKey(key: string, setting: any) { diff --git a/packages/plugins/plugin-cert/src/plugin/cert-plugin/base.ts b/packages/plugins/plugin-cert/src/plugin/cert-plugin/base.ts index 97b24892..41a68e2c 100644 --- a/packages/plugins/plugin-cert/src/plugin/cert-plugin/base.ts +++ b/packages/plugins/plugin-cert/src/plugin/cert-plugin/base.ts @@ -195,6 +195,7 @@ export abstract class CertApplyBasePlugin extends AbstractTaskPlugin { async condition() { if (this.forceUpdate) { this.logger.info("强制更新证书选项已勾选,准备申请新证书"); + this.logger.warn("申请完之后,切记取消强制更新,避免申请过多证书。"); return null; } diff --git a/packages/ui/certd-client/src/api/modules/api.basic.ts b/packages/ui/certd-client/src/api/modules/api.basic.ts index 20248c4b..0d2e3a69 100644 --- a/packages/ui/certd-client/src/api/modules/api.basic.ts +++ b/packages/ui/certd-client/src/api/modules/api.basic.ts @@ -8,11 +8,11 @@ export type SiteEnv = { }; }; export type SiteInfo = { - title: string; - slogan: string; - logo: string; - loginLogo: string; - icpNo: string; + title?: string; + slogan?: string; + logo?: string; + loginLogo?: string; + icpNo?: string; licenseTo?: string; licenseToUrl?: string; }; diff --git a/packages/ui/certd-client/src/layout/layout-framework.vue b/packages/ui/certd-client/src/layout/layout-framework.vue index 66eebe3a..bf0d2c87 100644 --- a/packages/ui/certd-client/src/layout/layout-framework.vue +++ b/packages/ui/certd-client/src/layout/layout-framework.vue @@ -77,10 +77,10 @@ {{ siteInfo.licenseTo }} -