deploy-ease-platform/frontend/src/pages/Workflow/Design/nodes/NotificationNode.tsx
2025-10-23 23:00:14 +08:00

86 lines
2.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import {ConfigurableNodeDefinition, NodeType, NodeCategory, defineNodeOutputs} from './types';
import { DataSourceType } from "@/domain/dataSource";
/**
* 通知节点定义
* 用于发送各种类型的通知(邮件、钉钉、企业微信等)
*/
export const NotificationNodeDefinition: ConfigurableNodeDefinition = {
nodeCode: "NOTIFICATION",
nodeName: "通知",
nodeType: NodeType.NOTIFICATION,
category: NodeCategory.TASK,
description: "发送通知消息到指定渠道",
// 渲染配置
renderConfig: {
shape: 'rounded-rect',
size: {width: 120, height: 60},
icon: {
type: 'emoji',
content: '🔔',
size: 24
},
theme: {
primary: '#f59e0b',
secondary: '#d97706',
selectedBorder: '#3b82f6',
hoverBorder: '#f59e0b',
gradient: ['#ffffff', '#fef3c7']
},
handles: {
input: true,
output: true
},
features: {
showBadge: true,
showHoverMenu: true
}
},
// 基本配置Schema仅业务配置元数据已移至固定表单
inputMappingSchema: {
type: "object",
title: "输入",
description: "当前节点所需数据配置",
properties: {
// notificationType: {
// type: "string",
// title: "通知类型",
// description: "选择通知发送的渠道",
// enum: ["EMAIL", "DINGTALK", "WECHAT_WORK", "SMS"],
// enumNames: ["邮件", "钉钉", "企业微信", "短信"],
// default: "EMAIL"
// },
// notificationChannelType: {
// type: "string",
// title: "通知类型",
// description: "选择通知发送的渠道",
// 'x-dataSource': DataSourceType.NOTIFICATION_CHANNEL_TYPES
// },
notificationChannel: {
type: "number",
title: "通知渠道",
description: "选择通知发送的渠道",
'x-dataSource': DataSourceType.NOTIFICATION_CHANNELS
},
title: {
type: "string",
title: "通知标题",
description: "通知消息的标题",
default: "工作流通知"
},
content: {
type: "string",
title: "通知内容",
description: "通知消息的正文内容,支持变量表达式",
format: "textarea",
default: ""
}
},
required: ["notificationChannel", "title", "content"]
},
outputs: defineNodeOutputs()
};