Documentation ¶
Index ¶
- Constants
- Variables
- func WithGateways(gateways []string) func(*Gsms)
- func WithStrategy(strategy Strategy) func(*Gsms)
- func WithTimeout(timeout time.Duration) func(*Gsms)
- type Config
- type ErrGatewaysFailed
- type ErrRequestFailed
- type Gateway
- type Gsms
- type LogLevel
- type Logger
- type Message
- type Option
- type PhoneNumber
- func (p *PhoneNumber) IDDCode() int
- func (p *PhoneNumber) InChineseMainland() bool
- func (p *PhoneNumber) Number() int
- func (p *PhoneNumber) PrefixedIDDCode(prefix string) string
- func (p *PhoneNumber) String() string
- func (p *PhoneNumber) UniversalNumber() string
- func (p *PhoneNumber) ZeroPrefixedNumber() string
- type Result
- type Strategy
Constants ¶
View Source
const StatusFailure = "failure"
StatusFailure send message failure.
View Source
const StatusSuccess = "success"
StatusSuccess send message success.
Variables ¶
View Source
var ( ErrInvalidIDDCode = errors.New("invalid IDDCode") ErrGatewayNotFound = errors.New("gateway not found") ErrMessageTypeError = errors.New("message type error") ErrInvalidPhoneNumber = errors.New("invalid phone number") ErrRequestDataTypeError = errors.New("request data type error") )
Functions ¶
Types ¶
type ErrGatewaysFailed ¶
type ErrGatewaysFailed struct {
Results []*Result
}
func NewErrGatewayFailed ¶
func NewErrGatewayFailed(results []*Result) *ErrGatewaysFailed
func (*ErrGatewaysFailed) Error ¶
func (e *ErrGatewaysFailed) Error() string
type ErrRequestFailed ¶
func (*ErrRequestFailed) Error ¶
func (e *ErrRequestFailed) Error() string
type Gateway ¶
type Gateway interface { // Name Get gateway name Name() string // Send a short message Send(to *PhoneNumber, message Message, config *Config) error }
type Gsms ¶
type Gsms struct {
// contains filtered or unexported fields
}
type Logger ¶
type Message ¶
type Message interface { // Gateways Supported gateways. Gateways() ([]string, error) // Strategy Message strategy. Strategy() (Strategy, error) // GetContent Get message content. GetContent(gateway Gateway) (string, error) // GetTemplate Get message template. GetTemplate(gateway Gateway) (string, error) // GetData Get message data. GetData(gateway Gateway) (map[string]string, error) // GetType Get message type. GetType(gateway Gateway) (string, error) }
Message interface.
type PhoneNumber ¶
type PhoneNumber struct {
// contains filtered or unexported fields
}
func NewPhoneNumber ¶
func NewPhoneNumber(numberWithoutIDDCode int, iddCodeStr string) (*PhoneNumber, error)
func NewPhoneNumberWithoutIDDCode ¶
func NewPhoneNumberWithoutIDDCode(numberWithoutIDDCode int) *PhoneNumber
func (*PhoneNumber) InChineseMainland ¶
func (p *PhoneNumber) InChineseMainland() bool
InChineseMainland Check if the phone number belongs to chinese mainland.
func (*PhoneNumber) PrefixedIDDCode ¶
func (p *PhoneNumber) PrefixedIDDCode(prefix string) string
PrefixedIDDCode e.g. + -> +86
func (*PhoneNumber) String ¶
func (p *PhoneNumber) String() string
func (*PhoneNumber) UniversalNumber ¶
func (p *PhoneNumber) UniversalNumber() string
UniversalNumber e.g. +8613800138000.
func (*PhoneNumber) ZeroPrefixedNumber ¶
func (p *PhoneNumber) ZeroPrefixedNumber() string
ZeroPrefixedNumber e.g. 008613800138000.
Source Files ¶
Click to show internal directories.
Click to hide internal directories.