main.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package channel
  2. import (
  3. "errors"
  4. "message-pusher/model"
  5. )
  6. const (
  7. TypeEmail = "email"
  8. TypeWeChatTestAccount = "test"
  9. TypeWeChatCorpAccount = "corp_app"
  10. TypeCorp = "corp"
  11. TypeLark = "lark"
  12. TypeDing = "ding"
  13. TypeTelegram = "telegram"
  14. TypeBark = "bark"
  15. TypeClient = "client"
  16. TypeNone = "none"
  17. )
  18. func SendMessage(message *model.Message, user *model.User) error {
  19. switch message.Channel {
  20. case TypeEmail:
  21. return SendEmailMessage(message, user)
  22. case TypeWeChatTestAccount:
  23. return SendWeChatTestMessage(message, user)
  24. case TypeWeChatCorpAccount:
  25. return SendWeChatCorpMessage(message, user)
  26. case TypeCorp:
  27. return SendCorpMessage(message, user)
  28. case TypeLark:
  29. return SendLarkMessage(message, user)
  30. case TypeDing:
  31. return SendDingMessage(message, user)
  32. case TypeBark:
  33. return SendBarkMessage(message, user)
  34. case TypeClient:
  35. return SendClientMessage(message, user)
  36. case TypeTelegram:
  37. return SendTelegramMessage(message, user)
  38. case TypeNone:
  39. return nil
  40. default:
  41. return errors.New("不支持的消息通道:" + message.Channel)
  42. }
  43. }