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 1da84c35..e16ff77b 100644
--- a/packages/libs/lib-server/src/system/settings/service/models.ts
+++ b/packages/libs/lib-server/src/system/settings/service/models.ts
@@ -204,3 +204,5 @@ export class SysSafeSetting extends BaseSettings {
autoHiddenTimes: 5,
};
}
+
+
diff --git a/packages/ui/certd-client/src/router/source/modules/certd.ts b/packages/ui/certd-client/src/router/source/modules/certd.ts
index a9c992be..15d42512 100644
--- a/packages/ui/certd-client/src/router/source/modules/certd.ts
+++ b/packages/ui/certd-client/src/router/source/modules/certd.ts
@@ -143,6 +143,17 @@ export const certdResources = [
keepAlive: true,
},
},
+ {
+ title: "站点监控设置",
+ name: "SiteMonitorSetting",
+ path: "/certd/monitor/setting",
+ component: "/certd/monitor/site/setting/index.vue",
+ meta: {
+ icon: "ion:videocam-outline",
+ auth: true,
+ isMenu: true,
+ },
+ },
{
title: "认证安全设置",
name: "UserSecurity",
diff --git a/packages/ui/certd-client/src/views/certd/access/crud.tsx b/packages/ui/certd-client/src/views/certd/access/crud.tsx
index 77c34caf..ff6ad138 100644
--- a/packages/ui/certd-client/src/views/certd/access/crud.tsx
+++ b/packages/ui/certd-client/src/views/certd/access/crud.tsx
@@ -35,10 +35,15 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
pageRequest,
addRequest,
editRequest,
- delRequest
+ delRequest,
+ },
+ table: {
+ remove: {
+ confirmMessage: "授权如果已经被使用,可能会导致流水线无法正常运行,请谨慎操作",
+ },
},
rowHandle: {
- width: 200
+ width: 200,
},
columns: {
id: {
@@ -46,24 +51,24 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
key: "id",
type: "number",
column: {
- width: 100
+ width: 100,
},
form: {
- show: false
- }
+ show: false,
+ },
},
name: {
title: "名称",
type: "text",
search: {
- show: true
+ show: true,
},
form: {
- rules: [{ required: true, message: "必填项" }]
+ rules: [{ required: true, message: "必填项" }],
},
column: {
- width: 300
- }
+ width: 300,
+ },
},
from: {
title: "级别",
@@ -71,29 +76,29 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
dict: dict({
data: [
{ label: "系统", value: "sys" },
- { label: "用户", value: "user" }
- ]
+ { label: "用户", value: "user" },
+ ],
}),
search: {
- show: false
+ show: false,
},
form: {
- show: false
+ show: false,
},
column: {
width: 100,
align: "center",
component: {
- color: "auto"
+ color: "auto",
},
- order: 10
+ order: 10,
},
valueBuilder: ({ row, key, value }) => {
row[key] = row.userId > 0 ? "user" : "sys";
- }
+ },
},
- ...commonColumnsDefine
- }
- }
+ ...commonColumnsDefine,
+ },
+ },
};
}
diff --git a/packages/ui/certd-client/src/views/certd/monitor/site/api.ts b/packages/ui/certd-client/src/views/certd/monitor/site/api.ts
index d8ae199e..f5e7a64f 100644
--- a/packages/ui/certd-client/src/views/certd/monitor/site/api.ts
+++ b/packages/ui/certd-client/src/views/certd/monitor/site/api.ts
@@ -7,7 +7,7 @@ export const siteInfoApi = {
return await request({
url: apiPrefix + "/page",
method: "post",
- data: query
+ data: query,
});
},
@@ -15,7 +15,7 @@ export const siteInfoApi = {
return await request({
url: apiPrefix + "/add",
method: "post",
- data: obj
+ data: obj,
});
},
@@ -23,7 +23,7 @@ export const siteInfoApi = {
return await request({
url: apiPrefix + "/update",
method: "post",
- data: obj
+ data: obj,
});
},
@@ -31,7 +31,7 @@ export const siteInfoApi = {
return await request({
url: apiPrefix + "/delete",
method: "post",
- params: { id }
+ params: { id },
});
},
@@ -39,20 +39,20 @@ export const siteInfoApi = {
return await request({
url: apiPrefix + "/info",
method: "post",
- params: { id }
+ params: { id },
});
},
async DoCheck(id: number) {
return await request({
url: apiPrefix + "/check",
method: "post",
- data: { id }
+ data: { id },
});
},
async CheckAll() {
return await request({
url: apiPrefix + "/checkAll",
- method: "post"
+ method: "post",
});
- }
+ },
};
diff --git a/packages/ui/certd-client/src/views/certd/monitor/site/index.vue b/packages/ui/certd-client/src/views/certd/monitor/site/index.vue
index 60db2b2a..b3521df3 100644
--- a/packages/ui/certd-client/src/views/certd/monitor/site/index.vue
+++ b/packages/ui/certd-client/src/views/certd/monitor/site/index.vue
@@ -4,7 +4,10 @@
站点证书监控
-
每天0点,检查网站证书的过期时间,到期前10天时将发出提醒(使用默认通知渠道);
+
+ 每天0点,检查网站证书的过期时间,到期前10天时将发出提醒(使用默认通知渠道);
+ 站点监控设置
+
基础版限制1条,专业版以上无限制,当前
diff --git a/packages/ui/certd-client/src/views/certd/monitor/site/setting/api.ts b/packages/ui/certd-client/src/views/certd/monitor/site/setting/api.ts
new file mode 100644
index 00000000..2a96d9f1
--- /dev/null
+++ b/packages/ui/certd-client/src/views/certd/monitor/site/setting/api.ts
@@ -0,0 +1,24 @@
+// @ts-ignore
+import { request } from "/src/api/service";
+const apiPrefix = "/monitor/site/setting";
+export type UserSiteMonitorSetting = {
+ notificationId?: number;
+};
+
+export async function SiteMonitorSettingsGet() {
+ const res = await request({
+ url: apiPrefix + "/get",
+ method: "post",
+ });
+ if (!res) {
+ return {};
+ }
+ return res as UserSiteMonitorSetting;
+}
+export async function SiteMonitorSettingsSave(data: UserSiteMonitorSetting) {
+ await request({
+ url: apiPrefix + "/save",
+ method: "post",
+ data: data,
+ });
+}
diff --git a/packages/ui/certd-client/src/views/certd/monitor/site/setting/index.vue b/packages/ui/certd-client/src/views/certd/monitor/site/setting/index.vue
new file mode 100644
index 00000000..1bb62400
--- /dev/null
+++ b/packages/ui/certd-client/src/views/certd/monitor/site/setting/index.vue
@@ -0,0 +1,63 @@
+
+
+
+ 站点监控设置
+
+
+
+
+
+
+
+
diff --git a/packages/ui/certd-server/src/controller/user/monitor/site-info-controller.ts b/packages/ui/certd-server/src/controller/user/monitor/site-info-controller.ts
index 90135e2c..b7a6ee2c 100644
--- a/packages/ui/certd-server/src/controller/user/monitor/site-info-controller.ts
+++ b/packages/ui/certd-server/src/controller/user/monitor/site-info-controller.ts
@@ -1,7 +1,9 @@
-import { ALL, Body, Controller, Inject, Post, Provide, Query } from '@midwayjs/core';
-import { Constants, CrudController } from '@certd/lib-server';
-import { AuthService } from '../../../modules/sys/authority/service/auth-service.js';
-import { SiteInfoService } from '../../../modules/monitor/service/site-info-service.js';
+import { ALL, Body, Controller, Inject, Post, Provide, Query } from "@midwayjs/core";
+import { Constants, CrudController } from "@certd/lib-server";
+import { AuthService } from "../../../modules/sys/authority/service/auth-service.js";
+import { SiteInfoService } from "../../../modules/monitor/service/site-info-service.js";
+import { UserSiteMonitorSetting } from "../../../modules/mine/service/models.js";
+import { merge } from "lodash-es";
/**
*/
@@ -94,4 +96,23 @@ export class SiteInfoController extends CrudController {
await this.service.checkAllByUsers(userId);
return this.ok();
}
+
+
+
+ @Post("/setting/get", { summary: Constants.per.authOnly })
+ async get() {
+ const userId = this.getUserId();
+ const setting = await this.service.getSetting(userId)
+ return this.ok(setting);
+ }
+
+ @Post("/setting/save", { summary: Constants.per.authOnly })
+ async save(@Body(ALL) bean: any) {
+ const userId = this.getUserId();
+ const setting = new UserSiteMonitorSetting();
+ merge(setting, bean);
+
+ await this.service.saveSetting(userId, setting);
+ return this.ok({});
+ }
}
diff --git a/packages/ui/certd-server/src/modules/mine/service/models.ts b/packages/ui/certd-server/src/modules/mine/service/models.ts
index 2d31bf10..0d589aab 100644
--- a/packages/ui/certd-server/src/modules/mine/service/models.ts
+++ b/packages/ui/certd-server/src/modules/mine/service/models.ts
@@ -19,3 +19,10 @@ export class UserTwoFactorSetting extends BaseSettings {
}
+
+export class UserSiteMonitorSetting extends BaseSettings {
+ static __title__ = "站点监控设置";
+ static __key__ = "user.site.monitor";
+
+ notificationId?:number= 0;
+}
diff --git a/packages/ui/certd-server/src/modules/monitor/service/site-info-service.ts b/packages/ui/certd-server/src/modules/monitor/service/site-info-service.ts
index 996c9d9c..29485ddb 100644
--- a/packages/ui/certd-server/src/modules/monitor/service/site-info-service.ts
+++ b/packages/ui/certd-server/src/modules/monitor/service/site-info-service.ts
@@ -10,6 +10,8 @@ import { PeerCertificate } from 'tls';
import { NotificationService } from '../../pipeline/service/notification-service.js';
import { isComm, isPlus } from '@certd/plus-core';
import { UserSuiteService } from '@certd/commercial-core';
+import { UserSettingsService } from "../../mine/service/user-settings-service.js";
+import { UserSiteMonitorSetting } from "../../mine/service/models.js";
@Provide()
@Scope(ScopeEnum.Request, { allowDowngrade: true })
@@ -26,6 +28,10 @@ export class SiteInfoService extends BaseService {
@Inject()
userSuiteService: UserSuiteService;
+ @Inject()
+ userSettingsService: UserSettingsService;
+
+
//@ts-ignore
getRepository() {
return this.repository;
@@ -236,4 +242,12 @@ export class SiteInfoService extends BaseService {
await utils.sleep(200);
}
}
+
+ async getSetting(userId: number){
+ return await this.userSettingsService.getSetting(userId, UserSiteMonitorSetting);
+ }
+
+ async saveSetting(userId: number, bean: UserSiteMonitorSetting) {
+ await this.userSettingsService.saveSetting(userId, bean);
+ }
}