package sms import "context" type UnavailableProvider struct { err error } func NewUnavailableProvider(err error) *UnavailableProvider { return &UnavailableProvider{err: err} } func (p *UnavailableProvider) SendLoginCode(ctx context.Context, phone string, code string) error { if err := ctx.Err(); err != nil { return err } if p.err != nil { return p.err } return ErrProviderConfigInvalid } func (p *UnavailableProvider) SendTemplate(ctx context.Context, req TemplateRequest) error { return p.SendLoginCode(ctx, req.Phone, "") }