diff --git a/README.md b/README.md
index 536cfd84..eca6b1dd 100644
--- a/README.md
+++ b/README.md
@@ -29,11 +29,11 @@ https://certd.handsfree.work/
## 三、使用教程
本案例演示,如何配置自动申请证书,并部署到阿里云CDN,然后快要到期前自动更新证书并重新部署
-
-
-
-
-
+
+
+
+
+
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
-------> [点我查看详细使用步骤演示](./step.md) <--------
diff --git a/packages/core/pipeline/src/core/license.ts b/packages/core/pipeline/src/core/license.ts
index eb923ed8..7914a28e 100644
--- a/packages/core/pipeline/src/core/license.ts
+++ b/packages/core/pipeline/src/core/license.ts
@@ -1,5 +1,5 @@
import { logger } from "../utils/index.js";
-import { setLogger, isPlus } from "@certd/plus-core";
+import { setLogger, isPlus, isComm } from "@certd/plus-core";
setLogger(logger);
export * from "@certd/plus-core";
@@ -8,3 +8,9 @@ export function checkPlus() {
throw new Error("此为专业版功能,请升级到专业版");
}
}
+
+export function checkComm() {
+ if (!isComm()) {
+ throw new Error("此为商业版功能,请升级到商业版");
+ }
+}
diff --git a/packages/libs/lib-server/src/system/index.ts b/packages/libs/lib-server/src/system/index.ts
index f5425503..22dd66d2 100644
--- a/packages/libs/lib-server/src/system/index.ts
+++ b/packages/libs/lib-server/src/system/index.ts
@@ -1 +1,2 @@
export * from './settings/index.js';
+export * from './plus/index.js';
diff --git a/packages/libs/lib-server/src/system/plus/index.ts b/packages/libs/lib-server/src/system/plus/index.ts
new file mode 100644
index 00000000..4d938497
--- /dev/null
+++ b/packages/libs/lib-server/src/system/plus/index.ts
@@ -0,0 +1 @@
+export * from './service/plus-service.js';
diff --git a/packages/ui/certd-server/src/modules/basic/service/plus-service.ts b/packages/libs/lib-server/src/system/plus/service/plus-service.ts
similarity index 94%
rename from packages/ui/certd-server/src/modules/basic/service/plus-service.ts
rename to packages/libs/lib-server/src/system/plus/service/plus-service.ts
index cae5ba00..42bd1257 100644
--- a/packages/ui/certd-server/src/modules/basic/service/plus-service.ts
+++ b/packages/libs/lib-server/src/system/plus/service/plus-service.ts
@@ -1,8 +1,7 @@
import { Config, Init, Inject, Provide, Scope, ScopeEnum } from '@midwayjs/core';
-import { SysSettingsService } from '@certd/lib-server';
-import { SysInstallInfo, SysLicenseInfo } from '@certd/lib-server';
import { AppKey, http, PlusRequestService, verify } from '@certd/pipeline';
import { logger } from '@certd/pipeline';
+import { SysInstallInfo, SysLicenseInfo, SysSettingsService } from '../../settings/index.js';
@Provide()
@Scope(ScopeEnum.Singleton)
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 e9653b4e..df1d1713 100644
--- a/packages/libs/lib-server/src/system/settings/service/models.ts
+++ b/packages/libs/lib-server/src/system/settings/service/models.ts
@@ -14,6 +14,7 @@ export class SysPublicSettings extends BaseSettings {
static __access__ = 'public';
registerEnabled = false;
managerOtherUserPipeline = false;
+ icpNo?: string;
// triggerOnStartup = false;
}
@@ -48,8 +49,7 @@ export class SysSiteInfo extends BaseSettings {
static __title__ = '站点信息';
static __key__ = 'sys.site';
static __access__ = 'public';
- TITLE?: string;
- SLOGAN?: string;
- LOGO?: string;
- ICP_NO?: string;
+ title?: string;
+ slogan?: string;
+ logo?: string;
}
diff --git a/packages/ui/certd-client/.env b/packages/ui/certd-client/.env
index 1bda3480..4c6a5356 100644
--- a/packages/ui/certd-client/.env
+++ b/packages/ui/certd-client/.env
@@ -6,6 +6,6 @@ VITE_APP_SLOGAN=让你的证书永不过期
VITE_APP_COPYRIGHT_YEAR=2021-2024
VITE_APP_COPYRIGHT_NAME=handsfree.work
VITE_APP_COPYRIGHT_URL=https://certd.handsfree.work
-VITE_APP_LOGO=./images/logo/logo.svg
+VITE_APP_LOGO=./assets/images/logo/logo.svg
VITE_APP_PROJECT_PATH=https://github.com/certd/certd
diff --git a/packages/ui/certd-client/index.html b/packages/ui/certd-client/index.html
index e9ab4203..8a75edd7 100644
--- a/packages/ui/certd-client/index.html
+++ b/packages/ui/certd-client/index.html
@@ -5,7 +5,7 @@
Certd-让你的证书永不过期
-
+
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 96df9cb9..f12a65f4 100644
--- a/packages/ui/certd-client/src/api/modules/api.basic.ts
+++ b/packages/ui/certd-client/src/api/modules/api.basic.ts
@@ -3,6 +3,7 @@ import { request } from "../service";
export type SysPublicSetting = {
registerEnabled: boolean;
managerOtherUserPipeline: boolean;
+ icpNo?: string;
};
export type SysInstallInfo = {
diff --git a/packages/ui/certd-client/public/doc/images/1-add.png b/packages/ui/certd-client/src/assets/doc/images/1-add.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/1-add.png
rename to packages/ui/certd-client/src/assets/doc/images/1-add.png
diff --git a/packages/ui/certd-client/public/doc/images/10-1-log.png b/packages/ui/certd-client/src/assets/doc/images/10-1-log.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/10-1-log.png
rename to packages/ui/certd-client/src/assets/doc/images/10-1-log.png
diff --git a/packages/ui/certd-client/public/doc/images/11-1-error.png b/packages/ui/certd-client/src/assets/doc/images/11-1-error.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/11-1-error.png
rename to packages/ui/certd-client/src/assets/doc/images/11-1-error.png
diff --git a/packages/ui/certd-client/public/doc/images/11-2-error.png b/packages/ui/certd-client/src/assets/doc/images/11-2-error.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/11-2-error.png
rename to packages/ui/certd-client/src/assets/doc/images/11-2-error.png
diff --git a/packages/ui/certd-client/public/doc/images/12-1-log-success.png b/packages/ui/certd-client/src/assets/doc/images/12-1-log-success.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/12-1-log-success.png
rename to packages/ui/certd-client/src/assets/doc/images/12-1-log-success.png
diff --git a/packages/ui/certd-client/public/doc/images/12-2-skip-log.png b/packages/ui/certd-client/src/assets/doc/images/12-2-skip-log.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/12-2-skip-log.png
rename to packages/ui/certd-client/src/assets/doc/images/12-2-skip-log.png
diff --git a/packages/ui/certd-client/public/doc/images/13-1-result.png b/packages/ui/certd-client/src/assets/doc/images/13-1-result.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/13-1-result.png
rename to packages/ui/certd-client/src/assets/doc/images/13-1-result.png
diff --git a/packages/ui/certd-client/public/doc/images/13-2-result.png b/packages/ui/certd-client/src/assets/doc/images/13-2-result.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/13-2-result.png
rename to packages/ui/certd-client/src/assets/doc/images/13-2-result.png
diff --git a/packages/ui/certd-client/public/doc/images/13-3-download.png b/packages/ui/certd-client/src/assets/doc/images/13-3-download.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/13-3-download.png
rename to packages/ui/certd-client/src/assets/doc/images/13-3-download.png
diff --git a/packages/ui/certd-client/public/doc/images/14-timer.png b/packages/ui/certd-client/src/assets/doc/images/14-timer.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/14-timer.png
rename to packages/ui/certd-client/src/assets/doc/images/14-timer.png
diff --git a/packages/ui/certd-client/public/doc/images/15-1-email.png b/packages/ui/certd-client/src/assets/doc/images/15-1-email.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/15-1-email.png
rename to packages/ui/certd-client/src/assets/doc/images/15-1-email.png
diff --git a/packages/ui/certd-client/public/doc/images/15-2-email.png b/packages/ui/certd-client/src/assets/doc/images/15-2-email.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/15-2-email.png
rename to packages/ui/certd-client/src/assets/doc/images/15-2-email.png
diff --git a/packages/ui/certd-client/public/doc/images/2-access-provider.png b/packages/ui/certd-client/src/assets/doc/images/2-access-provider.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/2-access-provider.png
rename to packages/ui/certd-client/src/assets/doc/images/2-access-provider.png
diff --git a/packages/ui/certd-client/public/doc/images/3-add-access.png b/packages/ui/certd-client/src/assets/doc/images/3-add-access.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/3-add-access.png
rename to packages/ui/certd-client/src/assets/doc/images/3-add-access.png
diff --git a/packages/ui/certd-client/public/doc/images/4-add-success.png b/packages/ui/certd-client/src/assets/doc/images/4-add-success.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/4-add-success.png
rename to packages/ui/certd-client/src/assets/doc/images/4-add-success.png
diff --git a/packages/ui/certd-client/public/doc/images/5-view.png b/packages/ui/certd-client/src/assets/doc/images/5-view.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/5-view.png
rename to packages/ui/certd-client/src/assets/doc/images/5-view.png
diff --git a/packages/ui/certd-client/public/doc/images/6-1-add-task.png b/packages/ui/certd-client/src/assets/doc/images/6-1-add-task.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/6-1-add-task.png
rename to packages/ui/certd-client/src/assets/doc/images/6-1-add-task.png
diff --git a/packages/ui/certd-client/public/doc/images/6-2-add-task.png b/packages/ui/certd-client/src/assets/doc/images/6-2-add-task.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/6-2-add-task.png
rename to packages/ui/certd-client/src/assets/doc/images/6-2-add-task.png
diff --git a/packages/ui/certd-client/public/doc/images/6-3-add-task.png b/packages/ui/certd-client/src/assets/doc/images/6-3-add-task.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/6-3-add-task.png
rename to packages/ui/certd-client/src/assets/doc/images/6-3-add-task.png
diff --git a/packages/ui/certd-client/public/doc/images/7-1-add-host-task.png b/packages/ui/certd-client/src/assets/doc/images/7-1-add-host-task.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/7-1-add-host-task.png
rename to packages/ui/certd-client/src/assets/doc/images/7-1-add-host-task.png
diff --git a/packages/ui/certd-client/public/doc/images/7-2-add-host-task.png b/packages/ui/certd-client/src/assets/doc/images/7-2-add-host-task.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/7-2-add-host-task.png
rename to packages/ui/certd-client/src/assets/doc/images/7-2-add-host-task.png
diff --git a/packages/ui/certd-client/public/doc/images/7-3-add-host-task.png b/packages/ui/certd-client/src/assets/doc/images/7-3-add-host-task.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/7-3-add-host-task.png
rename to packages/ui/certd-client/src/assets/doc/images/7-3-add-host-task.png
diff --git a/packages/ui/certd-client/public/doc/images/8-1-add-host-task.png b/packages/ui/certd-client/src/assets/doc/images/8-1-add-host-task.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/8-1-add-host-task.png
rename to packages/ui/certd-client/src/assets/doc/images/8-1-add-host-task.png
diff --git a/packages/ui/certd-client/public/doc/images/8-2-add-host-task.png b/packages/ui/certd-client/src/assets/doc/images/8-2-add-host-task.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/8-2-add-host-task.png
rename to packages/ui/certd-client/src/assets/doc/images/8-2-add-host-task.png
diff --git a/packages/ui/certd-client/public/doc/images/8-4-add-host-task.png b/packages/ui/certd-client/src/assets/doc/images/8-4-add-host-task.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/8-4-add-host-task.png
rename to packages/ui/certd-client/src/assets/doc/images/8-4-add-host-task.png
diff --git a/packages/ui/certd-client/public/doc/images/8-5-add-host-task.png b/packages/ui/certd-client/src/assets/doc/images/8-5-add-host-task.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/8-5-add-host-task.png
rename to packages/ui/certd-client/src/assets/doc/images/8-5-add-host-task.png
diff --git a/packages/ui/certd-client/public/doc/images/9-start.png b/packages/ui/certd-client/src/assets/doc/images/9-start.png
similarity index 100%
rename from packages/ui/certd-client/public/doc/images/9-start.png
rename to packages/ui/certd-client/src/assets/doc/images/9-start.png
diff --git a/packages/ui/certd-client/public/icons/demo.css b/packages/ui/certd-client/src/assets/icons/demo.css
similarity index 100%
rename from packages/ui/certd-client/public/icons/demo.css
rename to packages/ui/certd-client/src/assets/icons/demo.css
diff --git a/packages/ui/certd-client/public/icons/demo_index.html b/packages/ui/certd-client/src/assets/icons/demo_index.html
similarity index 100%
rename from packages/ui/certd-client/public/icons/demo_index.html
rename to packages/ui/certd-client/src/assets/icons/demo_index.html
diff --git a/packages/ui/certd-client/public/icons/iconfont.css b/packages/ui/certd-client/src/assets/icons/iconfont.css
similarity index 100%
rename from packages/ui/certd-client/public/icons/iconfont.css
rename to packages/ui/certd-client/src/assets/icons/iconfont.css
diff --git a/packages/ui/certd-client/public/icons/iconfont.js b/packages/ui/certd-client/src/assets/icons/iconfont.js
similarity index 100%
rename from packages/ui/certd-client/public/icons/iconfont.js
rename to packages/ui/certd-client/src/assets/icons/iconfont.js
diff --git a/packages/ui/certd-client/public/icons/iconfont.json b/packages/ui/certd-client/src/assets/icons/iconfont.json
similarity index 100%
rename from packages/ui/certd-client/public/icons/iconfont.json
rename to packages/ui/certd-client/src/assets/icons/iconfont.json
diff --git a/packages/ui/certd-client/public/icons/iconfont.svg b/packages/ui/certd-client/src/assets/icons/iconfont.svg
similarity index 100%
rename from packages/ui/certd-client/public/icons/iconfont.svg
rename to packages/ui/certd-client/src/assets/icons/iconfont.svg
diff --git a/packages/ui/certd-client/public/images/logo/logo.svg b/packages/ui/certd-client/src/assets/images/logo/logo.svg
similarity index 100%
rename from packages/ui/certd-client/public/images/logo/logo.svg
rename to packages/ui/certd-client/src/assets/images/logo/logo.svg
diff --git a/packages/ui/certd-client/public/images/logo/rect-black.svg b/packages/ui/certd-client/src/assets/images/logo/rect-black.svg
similarity index 100%
rename from packages/ui/certd-client/public/images/logo/rect-black.svg
rename to packages/ui/certd-client/src/assets/images/logo/rect-black.svg
diff --git a/packages/ui/certd-client/public/images/logo/square.svg b/packages/ui/certd-client/src/assets/images/logo/square.svg
similarity index 100%
rename from packages/ui/certd-client/public/images/logo/square.svg
rename to packages/ui/certd-client/src/assets/images/logo/square.svg
diff --git a/packages/ui/certd-client/public/images/plugin.png b/packages/ui/certd-client/src/assets/images/plugin.png
similarity index 100%
rename from packages/ui/certd-client/public/images/plugin.png
rename to packages/ui/certd-client/src/assets/images/plugin.png
diff --git a/packages/ui/certd-client/public/images/preview.png b/packages/ui/certd-client/src/assets/images/preview.png
similarity index 100%
rename from packages/ui/certd-client/public/images/preview.png
rename to packages/ui/certd-client/src/assets/images/preview.png
diff --git a/packages/ui/certd-client/src/components/tutorial/tutorial-steps.vue b/packages/ui/certd-client/src/components/tutorial/tutorial-steps.vue
index 548b0110..b66baec7 100644
--- a/packages/ui/certd-client/src/components/tutorial/tutorial-steps.vue
+++ b/packages/ui/certd-client/src/components/tutorial/tutorial-steps.vue
@@ -43,27 +43,27 @@ const steps = ref([
description: "演示证书申请任务如何配置",
items: [
{
- image: "/doc/images/1-add.png",
+ image: "/assets/doc/images/1-add.png",
title: "创建证书流水线",
descriptions: ["点击添加流水线,选择证书申请"]
},
{
- image: "/doc/images/2-access-provider.png",
+ image: "/assets/doc/images/2-access-provider.png",
title: "DNS授权",
descriptions: ["证书申请需要给域名添加TXT解析记录来验证域名所有权"]
},
{
- image: "/doc/images/3-add-access.png",
+ image: "/assets/doc/images/3-add-access.png",
title: "第一次使用,需要添加DNS授权",
descriptions: ["选择DNS授权,确认创建"]
},
// {
- // image: "/doc/images/3-add-access.png",
+ // image: "/assets/doc/images/3-add-access.png",
// title: "确定创建流水线",
// descriptions: ["选择DNS授权,信息填写无误,确认创建"]
// },
{
- image: "/doc/images/4-add-success.png",
+ image: "/assets/doc/images/4-add-success.png",
title: "流水线创建成功",
descriptions: ["此时证书申请任务已经建好,点击手动触发即可测试证书申请", "接下来演示如何添加部署任务"]
}
@@ -74,52 +74,52 @@ const steps = ref([
description: "演示部署到阿里云CDN和Nginx",
items: [
{
- image: "/doc/images/6-1-add-task.png",
+ image: "/assets/doc/images/6-1-add-task.png",
title: "添加部署任务",
descriptions: ["演示第一个部署任务,部署到阿里云CDN"]
},
{
- image: "/doc/images/6-2-add-task.png",
+ image: "/assets/doc/images/6-2-add-task.png",
title: "选择任务插件",
descriptions: ["可以搜索插件,这里选择阿里云CDN插件"]
},
{
- image: "/doc/images/6-3-add-task.png",
+ image: "/assets/doc/images/6-3-add-task.png",
title: "配置任务参数",
descriptions: ["填写CDN的域名和证书ID", "任务保存之后,阿里云CDN的部署任务就配置好了"]
},
{
- image: "/doc/images/7-1-add-host-task.png",
+ image: "/assets/doc/images/7-1-add-host-task.png",
title: "添加主机部署任务",
descriptions: ["接下来演示配置第二个部署任务,部署到主机", "部署到主机分两步: 1. 上传证书到主机 2. 运行主机命令"]
},
{
- image: "/doc/images/7-2-add-host-task.png",
+ image: "/assets/doc/images/7-2-add-host-task.png",
title: "配置上传到主机任务",
descriptions: ["填写上传到主机任务参数", "比如证书保存路径"]
},
{
- image: "/doc/images/7-3-add-host-task.png",
+ image: "/assets/doc/images/7-3-add-host-task.png",
title: "添加主机ssh登录授权",
descriptions: ["填写主机ip、用户名、密码,授权只需添加一次,后续其他任务可以复用"]
},
{
- image: "/doc/images/8-1-add-host-task.png",
+ image: "/assets/doc/images/8-1-add-host-task.png",
title: "上传到主机任务配置完成",
descriptions: ["接下来配置主机执行脚本,去部署证书"]
},
{
- image: "/doc/images/8-2-add-host-task.png",
+ image: "/assets/doc/images/8-2-add-host-task.png",
title: "选择添加主机远程命令任务",
descriptions: ["选择主机远程命令任务"]
},
{
- image: "/doc/images/8-4-add-host-task.png",
+ image: "/assets/doc/images/8-4-add-host-task.png",
title: "填写证书部署脚本",
descriptions: ["选择主机授权,编写部署脚本,这里演示部署到nginx,需要重启nginx,让证书生效"]
},
{
- image: "/doc/images/8-5-add-host-task.png",
+ image: "/assets/doc/images/8-5-add-host-task.png",
title: "上传到主机任务的两个步骤配置完成",
descriptions: ["接下来测试运行"]
}
@@ -130,47 +130,47 @@ const steps = ref([
description: "演示流水线运行,查看日志,成功后跳过等",
items: [
{
- image: "/doc/images/9-start.png",
+ image: "/assets/doc/images/9-start.png",
title: "运行测试一下",
descriptions: ["之前是把证书上传到主机,接下来要运行命令,去部署证书"]
},
{
- image: "/doc/images/10-1-log.png",
+ image: "/assets/doc/images/10-1-log.png",
title: "查看日志",
descriptions: ["点击任务可以查看状态和日志"]
},
{
- image: "/doc/images/11-1-error.png",
+ image: "/assets/doc/images/11-1-error.png",
title: "执行失败如何排查",
descriptions: ["查看错误日志"]
},
{
- image: "/doc/images/11-2-error.png",
+ image: "/assets/doc/images/11-2-error.png",
title: "执行失败如何排查",
descriptions: ["查看错误日志,这里报的是nginx容器不存在,修改命令改成正确的nginx容器名称"]
},
{
- image: "/doc/images/12-1-log-success.png",
+ image: "/assets/doc/images/12-1-log-success.png",
title: "执行成功",
descriptions: ["修改正确后,重新点击手动触发,重新运行一次,执行成功"]
},
{
- image: "/doc/images/12-2-skip-log.png",
+ image: "/assets/doc/images/12-2-skip-log.png",
title: "成功后自动跳过",
descriptions: ["可以看到成功过的将会自动跳过,不会重复执行,只有当参数变更或者证书更新了,才会重新运行"]
},
{
- image: "/doc/images/13-1-result.png",
+ image: "/assets/doc/images/13-1-result.png",
title: "查看证书部署成功",
descriptions: ["访问nginx上的网站,可以看到证书已经部署成功"]
},
{
- image: "/doc/images/13-2-result.png",
+ image: "/assets/doc/images/13-2-result.png",
title: "阿里云CDN也部署成功",
descriptions: ["阿里云CDN上已经更新证书,证书名称已certd开头"]
},
{
- image: "/doc/images/13-3-download.png",
+ image: "/assets/doc/images/13-3-download.png",
title: "还可以下载证书,手动部署",
descriptions: ["如果还没有好用的部署插件,没办法自动部署,你还可以下载证书,手动部署"]
}
@@ -181,7 +181,7 @@ const steps = ref([
description: "自动运行",
items: [
{
- image: "/doc/images/14-timer.png",
+ image: "/assets/doc/images/14-timer.png",
title: "设置定时执行",
descriptions: [
"流水线测试成功,接下来配置定时触发,以后每天定时执行就不用管了",
@@ -189,7 +189,7 @@ const steps = ref([
]
},
{
- image: "/doc/images/15-1-email.png",
+ image: "/assets/doc/images/15-1-email.png",
title: "设置邮件通知",
descriptions: ["建议选择监听'错误时'和'错误转成功'两种即可,在意外失败时可以尽快去排查问题,(免费版需要配置邮件服务器)"]
}
diff --git a/packages/ui/certd-client/src/layout/layout-framework.vue b/packages/ui/certd-client/src/layout/layout-framework.vue
index 1e09b78b..bafa66e4 100644
--- a/packages/ui/certd-client/src/layout/layout-framework.vue
+++ b/packages/ui/certd-client/src/layout/layout-framework.vue
@@ -2,7 +2,7 @@