base

package
v0.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 27, 2023 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ServiceIM = "im"

	IMGoEasy = "goeasy"
)
View Source
const (
	Aliyun    = "aliyun"
	Twilio    = "twilio"
	RongCloud = "rongcloud"
	Huawei    = "huawei"
)
View Source
const (
	ServiceEmail = "email"
)
View Source
const (
	ServiceSMS = "sms"
)
View Source
const (
	ServiceWechatNotify = "wechat-notify"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseIMProvider

type BaseIMProvider struct {
	IIMProvider
	// contains filtered or unexported fields
}

func (*BaseIMProvider) GetEndpoint

func (s *BaseIMProvider) GetEndpoint() *IMEndpoint

func (*BaseIMProvider) GetHostByRegion

func (s *BaseIMProvider) GetHostByRegion(code string) string

func (*BaseIMProvider) Init

func (s *BaseIMProvider) Init(endpoint *IMEndpoint) error

func (*BaseIMProvider) PostMessage

func (s *BaseIMProvider) PostMessage(msg *IMMessage) error

type BaseSMSProvider

type BaseSMSProvider struct {
	Endpoints map[string]Endpoint
}

func (*BaseSMSProvider) AddEndpoint

func (s *BaseSMSProvider) AddEndpoint(name string, endpoint Endpoint)

func (*BaseSMSProvider) GetEndpoint

func (s *BaseSMSProvider) GetEndpoint(name string) (*Endpoint, error)

func (*BaseSMSProvider) Init

func (s *BaseSMSProvider) Init()

type Endpoint

type Endpoint struct {
	Provider     string `yaml:"provider"`
	AppKey       string `yaml:"app_key"`
	AppSecret    string `yaml:"app_secret"`
	Region       string `yaml:"region"`
	SignName     string `yaml:"sign_name"`
	TemplateCode string `yaml:"template_code"`
	HostNum      string `yaml:"host_num"`
}

type IIMProvider

type IIMProvider interface {
	GetHostByRegion(code string) string
	Init(endpoint *IMEndpoint) error
	PostMessage(msg *IMMessage) error
	GetEndpoint() *IMEndpoint
}

type IMEndpoint

type IMEndpoint struct {
	Provider string   `yaml:"provider"`
	AppKey   string   `yaml:"app_key"`
	Hosts    []string `yaml:"hosts"`
}

type IMMessage

type IMMessage struct {
	Channel string
	Content string
	Host    string
}

type ISMSProvider

type ISMSProvider interface {
	Send(req *ReqSMS) error
	Init()
	GetEndpoint(name string) (*Endpoint, error)
	AddEndpoint(name string, endpoint Endpoint)
}

type IServiceEmail

type IServiceEmail interface {
	Send(req *ReqEmail) error
}

type IServiceIM

type IServiceIM interface {
	PostMessage(providerName string, msg *IMMessage) error
	GetHostByRegion(providerName string, code string) (string, error)
}

type IServiceSMS

type IServiceSMS interface {
	Send(req *ReqSMS) error
}

type ReqEmail

type ReqEmail struct {
	Endpoint string   `json:"endpoint"`
	MailTo   []string `json:"mail_to"`
	Subject  string   `json:"subject"`
	Body     string   `json:"body"`
}

type ReqSMS

type ReqSMS struct {
	Provider string            `json:"provider"`
	Endpoint string            `json:"endpoint"`
	Mobile   string            `json:"mobile"`
	Content  map[string]string `json:"content"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL