diff --git a/packages/core/pipeline/src/notification/api.ts b/packages/core/pipeline/src/notification/api.ts index c6bd9971..86ea5d46 100644 --- a/packages/core/pipeline/src/notification/api.ts +++ b/packages/core/pipeline/src/notification/api.ts @@ -122,7 +122,9 @@ export abstract class BaseNotification implements INotification { return await this.doSend({ userId: 0, title: "【Certd】测试通知【*.foo.com】,标题长度测试、测试、测试", - content: "测试通知,*.foo.com", + content: `测试通知,*.foo.com +换行测试 + `, pipeline: { id: 1, title: "证书申请成功【测试流水线】", diff --git a/packages/ui/certd-client/src/views/certd/monitor/site/crud.tsx b/packages/ui/certd-client/src/views/certd/monitor/site/crud.tsx index 4138f93a..6c27916b 100644 --- a/packages/ui/certd-client/src/views/certd/monitor/site/crud.tsx +++ b/packages/ui/certd-client/src/views/certd/monitor/site/crud.tsx @@ -235,9 +235,10 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat show: false }, column: { - width: 100, + width: 110, sorter: true, - show: false + show: true, + align: "center" } }, certExpiresTime: { 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 68d04c97..52e8bd99 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 @@ -173,9 +173,7 @@ export class SiteInfoService extends BaseService { body: { url, title: `站点证书检查出错<${site.name}>`, - content: `站点名称: ${site.name} \n -站点域名: ${site.domain} \n -错误信息:${site.error}`, + content: `站点名称: ${site.name} \n站点域名: ${site.domain} \n错误信息:${site.error}`, }, }, site.userId @@ -188,11 +186,7 @@ export class SiteInfoService extends BaseService { const expires = site.certExpiresTime; const validDays = dayjs(expires).diff(dayjs(), 'day'); const url = await this.notificationService.getBindUrl('#/monitor/site'); - const content = `站点名称: ${site.name} \n -站点域名: ${site.domain} \n -证书域名: ${site.certDomains} \n -证书颁发者: ${site.certProvider} \n -过期时间: ${dayjs(site.certExpiresTime).format('YYYY-MM-DD')} \n`; + const content = `站点名称: ${site.name} \n站点域名: ${site.domain} \n证书域名: ${site.certDomains} \n证书颁发者: ${site.certProvider} \n过期时间: ${dayjs(site.certExpiresTime).format('YYYY-MM-DD')} \n`; if (validDays >= 0 && validDays < tipDays) { // 发通知 await this.notificationService.send( diff --git a/packages/ui/certd-server/src/plugins/plugin-notification/webhook/index.ts b/packages/ui/certd-server/src/plugins/plugin-notification/webhook/index.ts index 02b473ae..4e2fba05 100644 --- a/packages/ui/certd-server/src/plugins/plugin-notification/webhook/index.ts +++ b/packages/ui/certd-server/src/plugins/plugin-notification/webhook/index.ts @@ -78,7 +78,7 @@ export class WebhookNotification extends BaseNotification { col: { span: 24, }, - helper: `根据实际的webhook接口,构建一个json对象作为参数,支持变量:{title}、{content}、{url},变量用{}包裹,字符串需要双引号\n如果是get方式,将作为query参数拼接到url上`, + helper: `根据对应的webhook接口文档,构建一个json对象作为参数(默认值只是一个示例,一般不是正确的参数)\n支持变量:{title}、{content}、{url},变量用{}包裹\n字符串需要双引号,使用\\n换行\n如果是get方式,将作为query参数拼接到url上`, required: true, }) template = ''; @@ -98,8 +98,10 @@ export class WebhookNotification extends BaseNotification { let bodyStr = target; const keys = Object.keys(body); for (const key of keys) { - const value = urlEncode ? encodeURIComponent(body[key]) : body[key]; + let value = urlEncode ? encodeURIComponent(body[key]) : body[key]; + value = value.replaceAll(`\n`, "\\n"); bodyStr = bodyStr.replaceAll(`{${key}}`, value); + } return bodyStr; }