Improve SendSms() API.

This commit is contained in:
Yang Luo 2021-09-05 11:10:27 +08:00
parent 089f4ff480
commit ef1195960e
2 changed files with 9 additions and 24 deletions

View File

@ -23,7 +23,6 @@ import (
"github.com/casbin/casdoor/object"
"github.com/casbin/casdoor/util"
sender "github.com/casdoor/go-sms-sender"
)
// SendEmail
@ -43,8 +42,8 @@ func (c *ApiController) SendEmail() {
var emailForm struct {
Title string `json:"title"`
Content string `json:"content"`
Receivers []string `json:"receivers"`
Sender string `json:"sender"`
Receivers []string `json:"receivers"`
}
err := json.Unmarshal(c.Ctx.Input.RequestBody, &emailForm)
if err != nil {
@ -95,8 +94,8 @@ func (c *ApiController) SendSms() {
}
var smsForm struct {
Receivers []string `json:"receivers"`
Parameters map[string]string `json:"parameters"`
Content string `json:"content"`
Receivers []string `json:"receivers"`
}
err := json.Unmarshal(c.Ctx.Input.RequestBody, &smsForm)
if err != nil {
@ -104,20 +103,6 @@ func (c *ApiController) SendSms() {
return
}
client, err := sender.NewSmsClient(
provider.Type,
provider.ClientId,
provider.ClientSecret,
provider.SignName,
provider.RegionId,
provider.TemplateCode,
provider.AppId,
)
if err != nil {
c.ResponseError(err.Error())
return
}
var invalidReceivers []string
for _, receiver := range smsForm.Receivers {
if !util.IsPhoneCnValid(receiver) {
@ -130,7 +115,7 @@ func (c *ApiController) SendSms() {
return
}
err = client.SendMessage(smsForm.Parameters, smsForm.Receivers...)
err = object.SendSms(provider, smsForm.Content, smsForm.Receivers...)
if err != nil {
c.ResponseError(err.Error())
return

View File

@ -16,19 +16,19 @@ package object
import "github.com/casdoor/go-sms-sender"
func SendSms(provider *Provider, phone string, code string) error {
func SendSms(provider *Provider, content string, phoneNumbers ...string) error {
client, err := go_sms_sender.NewSmsClient(provider.Type, provider.ClientId, provider.ClientSecret, provider.SignName, provider.RegionId, provider.TemplateCode, provider.AppId)
if err != nil {
return err
}
param := map[string]string{}
params := map[string]string{}
if provider.Type == go_sms_sender.TencentCloud {
param["0"] = code
params["0"] = content
} else {
param["code"] = code
params["code"] = content
}
err = client.SendMessage(param, phone)
err = client.SendMessage(params, phoneNumbers...)
return err
}