feat: now server part supports multiple channels for the same type (#50)

This commit is contained in:
JustSong
2023-05-05 10:43:56 +08:00
parent b291ed43ca
commit 3a8d625201
21 changed files with 601 additions and 298 deletions
+24 -38
View File
@@ -5,45 +5,31 @@ import (
"message-pusher/model"
)
const (
TypeEmail = "email"
TypeWeChatTestAccount = "test"
TypeWeChatCorpAccount = "corp_app"
TypeCorp = "corp"
TypeLark = "lark"
TypeDing = "ding"
TypeTelegram = "telegram"
TypeDiscord = "discord"
TypeBark = "bark"
TypeClient = "client"
TypeNone = "none"
)
func SendMessage(message *model.Message, user *model.User) error {
switch message.Channel {
case TypeEmail:
return SendEmailMessage(message, user)
case TypeWeChatTestAccount:
return SendWeChatTestMessage(message, user)
case TypeWeChatCorpAccount:
return SendWeChatCorpMessage(message, user)
case TypeCorp:
return SendCorpMessage(message, user)
case TypeLark:
return SendLarkMessage(message, user)
case TypeDing:
return SendDingMessage(message, user)
case TypeBark:
return SendBarkMessage(message, user)
case TypeClient:
return SendClientMessage(message, user)
case TypeTelegram:
return SendTelegramMessage(message, user)
case TypeDiscord:
return SendDiscordMessage(message, user)
case TypeNone:
func SendMessage(message *model.Message, user *model.User, channel_ *model.Channel) error {
switch channel_.Type {
case model.TypeEmail:
return SendEmailMessage(message, user, channel_)
case model.TypeWeChatTestAccount:
return SendWeChatTestMessage(message, user, channel_)
case model.TypeWeChatCorpAccount:
return SendWeChatCorpMessage(message, user, channel_)
case model.TypeCorp:
return SendCorpMessage(message, user, channel_)
case model.TypeLark:
return SendLarkMessage(message, user, channel_)
case model.TypeDing:
return SendDingMessage(message, user, channel_)
case model.TypeBark:
return SendBarkMessage(message, user, channel_)
case model.TypeClient:
return SendClientMessage(message, user, channel_)
case model.TypeTelegram:
return SendTelegramMessage(message, user, channel_)
case model.TypeDiscord:
return SendDiscordMessage(message, user, channel_)
case model.TypeNone:
return nil
default:
return errors.New("不支持的消息通道:" + message.Channel)
return errors.New("不支持的消息通道:" + channel_.Type)
}
}