From 273ab6139f5807f4d7fe865cc353b97f51b9a668 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sat, 12 Oct 2024 16:49:49 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E6=96=B0=E5=A2=9E=E4=BB=A3=E7=90=86?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/core/basic/src/utils/util.request.ts | 16 +++- .../src/system/settings/service/models.ts | 10 ++- .../settings/service/sys-settings-service.ts | 20 ++++- .../src/plugin/cert-plugin/base.ts | 1 + .../certd-client/src/api/modules/api.basic.ts | 10 +-- .../src/layout/layout-framework.vue | 7 +- .../src/layout/layout-outside.vue | 10 ++- .../src/store/modules/settings.ts | 10 +-- .../src/views/sys/settings/api.ts | 41 ++++++++-- .../src/views/sys/settings/index.vue | 70 ++++++++-------- .../src/modules/auto/auto-init-site.ts | 2 + .../src/modules/sys/plus/plus-controller.ts | 82 +++++++++---------- .../controller/sys-settings-controller.ts | 23 ++++-- 13 files changed, 189 insertions(+), 113 deletions(-) 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 }} -