package notify import ( "time" "go.uber.org/zap/zapcore" ) // DefaultTimeFormat 定义了所有通知中统一使用的时间格式。 const DefaultTimeFormat = "2006-01-02 15:04:05" // NotifierType 定义了通知器的类型。 type NotifierType string const ( // NotifierTypeSMTP 表示 SMTP 邮件通知器。 NotifierTypeSMTP NotifierType = "邮件" // NotifierTypeWeChat 表示企业微信通知器。 NotifierTypeWeChat NotifierType = "企业微信" // NotifierTypeLark 表示飞书通知器。 NotifierTypeLark NotifierType = "飞书" // NotifierTypeLog 表示日志通知器,作为最终的告警记录渠道。 NotifierTypeLog NotifierType = "日志" ) // AlarmContent 定义了通知的内容 type AlarmContent struct { // 通知标题 Title string // 通知信息 Message string // 通知级别 Level zapcore.Level // 通知时间 Timestamp time.Time } // Notifier 定义了通知发送器的接口 type Notifier interface { // Send 发送通知 Send(content AlarmContent, toAddr string) error // Type 返回通知器的类型 Type() NotifierType }