作者 唐旭辉

短信调整

@@ -35,6 +35,7 @@ func NewSmsServe(toPhone string, useTpl string) *SmsServe { @@ -35,6 +35,7 @@ func NewSmsServe(toPhone string, useTpl string) *SmsServe {
35 } 35 }
36 } 36 }
37 37
  38 +//Send 短信服务发送动作
38 func (s *SmsServe) Send() error { 39 func (s *SmsServe) Send() error {
39 if len(s.ToPhone) == 0 { 40 if len(s.ToPhone) == 0 {
40 return nil 41 return nil
@@ -45,6 +46,7 @@ func (s *SmsServe) Send() error { @@ -45,6 +46,7 @@ func (s *SmsServe) Send() error {
45 return nil 46 return nil
46 } 47 }
47 48
  49 +// TextContent 短信正文内容设置
48 func (s *SmsServe) TextContent(v ...interface{}) (string, error) { 50 func (s *SmsServe) TextContent(v ...interface{}) (string, error) {
49 tpl, err := getSmsTpl(s.UseTpl) 51 tpl, err := getSmsTpl(s.UseTpl)
50 if err != nil { 52 if err != nil {
@@ -58,6 +60,7 @@ func (s *SmsServe) TextContent(v ...interface{}) (string, error) { @@ -58,6 +60,7 @@ func (s *SmsServe) TextContent(v ...interface{}) (string, error) {
58 return t, nil 60 return t, nil
59 } 61 }
60 62
  63 +//ValidReturn 校验调用远端接口后返回的响应内容
61 func (s *SmsServe) ValidReturn() (string, error) { 64 func (s *SmsServe) ValidReturn() (string, error) {
62 if s.serveReturn == nil { 65 if s.serveReturn == nil {
63 return "", errors.New("serveReturn is nil") 66 return "", errors.New("serveReturn is nil")
@@ -5,7 +5,13 @@ import ( @@ -5,7 +5,13 @@ import (
5 "fmt" 5 "fmt"
6 ) 6 )
7 7
8 -var yunPianSmsTpl = map[string]SmsTpl{ 8 +type ISmsTpl interface {
  9 + ParseTpl(v ...interface{}) (string, error)
  10 + String() string
  11 +}
  12 +
  13 +//注册短信模板
  14 +var smsTpl = map[string]ISmsTpl{
9 "10001": SmsTpl{"【云片网】您的验证码是%s", 1}, 15 "10001": SmsTpl{"【云片网】您的验证码是%s", 1},
10 } 16 }
11 17
@@ -14,11 +20,6 @@ const ( @@ -14,11 +20,6 @@ const (
14 TplFormateErr string = "tpl formate error" 20 TplFormateErr string = "tpl formate error"
15 ) 21 )
16 22
17 -type ISmsTpl interface {  
18 - ParseTpl(v ...interface{}) (string, error)  
19 - String() string  
20 -}  
21 -  
22 type SmsTpl struct { 23 type SmsTpl struct {
23 Formate string 24 Formate string
24 ParamNum int 25 ParamNum int
@@ -28,6 +29,7 @@ var ( @@ -28,6 +29,7 @@ var (
28 _ ISmsTpl = SmsTpl{} 29 _ ISmsTpl = SmsTpl{}
29 ) 30 )
30 31
  32 +//ParseTpl 根据传参填充模板内容
31 func (t SmsTpl) ParseTpl(v ...interface{}) (string, error) { 33 func (t SmsTpl) ParseTpl(v ...interface{}) (string, error) {
32 if len(v) < t.ParamNum { 34 if len(v) < t.ParamNum {
33 return "", errors.New(TplFormateErr) 35 return "", errors.New(TplFormateErr)
@@ -35,12 +37,15 @@ func (t SmsTpl) ParseTpl(v ...interface{}) (string, error) { @@ -35,12 +37,15 @@ func (t SmsTpl) ParseTpl(v ...interface{}) (string, error) {
35 return fmt.Sprintf(t.String(), v), nil 37 return fmt.Sprintf(t.String(), v), nil
36 } 38 }
37 39
  40 +//String 返回模板字符串
38 func (t SmsTpl) String() string { 41 func (t SmsTpl) String() string {
39 return t.Formate 42 return t.Formate
40 } 43 }
41 44
  45 +//getSmsTpl 获取样板
  46 +//TODO 待优化
42 func getSmsTpl(code string) (ISmsTpl, error) { 47 func getSmsTpl(code string) (ISmsTpl, error) {
43 - if tpl, ok := yunPianSmsTpl[code]; ok { 48 + if tpl, ok := smsTpl[code]; ok {
44 return tpl, nil 49 return tpl, nil
45 } 50 }
46 return nil, errors.New(TplNotExit) 51 return nil, errors.New(TplNotExit)