From 5f5a1160bf2a158ab921a9eed244b01c5bc9df03 Mon Sep 17 00:00:00 2001 From: xuyang Date: Mon, 7 Jul 2025 16:26:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8F=91=E9=80=81=E7=9F=AD?= =?UTF-8?q?=E4=BF=A1v2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/sms/client.go | 16 ++++++++++++++ services/sms/client_test.go | 28 ++++++++++++++++++++++++ services/sms/sms.go | 43 +++++++++++++++++++++++++++++++++++++ 3 files changed, 87 insertions(+) diff --git a/services/sms/client.go b/services/sms/client.go index 0885e07..f88e3bd 100644 --- a/services/sms/client.go +++ b/services/sms/client.go @@ -88,6 +88,22 @@ func (c *Client) SendSms(req *SendSmsRequest) (resp *SendSmsResponse, err error) return } +func (c *Client) SendSmsV2(req *SendSmsRequestV2) (resp *SendSmsResponseV2, err error) { + + if req.Mobile == "" { + err = errors.New("mobile is empty") + return + } + + if req.Type == "" { + err = errors.New("type is empty") + return + } + resp = CreateSendSmsResponseV2() + err = c.DoAction(req, resp) + return +} + func getToken(key string) (ts int64, token string) { ts = time.Now().Unix() hash := md5.New() diff --git a/services/sms/client_test.go b/services/sms/client_test.go index bd7cabb..d06db1c 100644 --- a/services/sms/client_test.go +++ b/services/sms/client_test.go @@ -1,6 +1,7 @@ package sms import ( + "encoding/json" "fmt" "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" "testing" @@ -140,3 +141,30 @@ func TestClient_SendSmsUrl(t *testing.T) { fmt.Println(sms) } + +func TestClient_SendSmsCodeV2(t *testing.T) { + req := CreateSendSmsRequestV2(SendSmsParamV2{ + Mobile: "18320021439", + Type: SmsTypeBindPhone, + Replaces: []Item{{ + Key: ReplaceKeyCode, + Value: "6379", + }, { + Key: ReplaceKeySecond, + Value: "120", + }}, + Company: "", + Ip: "192.168.1.103", + }) + + sms, err := client.SendSmsV2(req) + if err != nil { + panic(err) + } + + marshal, err := json.Marshal(sms) + if err != nil { + panic(err) + } + fmt.Println(string(marshal)) +} diff --git a/services/sms/sms.go b/services/sms/sms.go index 35beb37..74ade7f 100644 --- a/services/sms/sms.go +++ b/services/sms/sms.go @@ -29,6 +29,20 @@ type SendSmsResponse struct { *responses.BaseResponse } +type SendSmsRequestV2 struct { + *requests.JsonRequest + Mobile string `position:"Json" field:"mobile"` + Type string `position:"Json" field:"type"` + Replaces []Item `position:"Json" field:"replaces"` + Company string `position:"Json" field:"company"` + Ip string `position:"Json" field:"ip"` +} + +type SendSmsResponseV2 struct { + *responses.BaseResponse + TraceID string `json:"trace_id"` +} + type SmsType = string const ( @@ -44,6 +58,14 @@ type SendSmsParam struct { Replaces []Item } +type SendSmsParamV2 struct { + Mobile string // 手机号 + Type SmsType // 验证码类型 + Replaces []Item + Company string // 子游戏公司主体 + Ip string // ip +} + func CreateSendSmsRequest(param SendSmsParam) (req *SendSmsRequest) { req = &SendSmsRequest{ JsonRequest: &requests.JsonRequest{}, @@ -62,3 +84,24 @@ func CreateSendSmsResponse() (resp *SendSmsResponse) { } return } + +func CreateSendSmsRequestV2(param SendSmsParamV2) (req *SendSmsRequestV2) { + req = &SendSmsRequestV2{ + JsonRequest: &requests.JsonRequest{}, + Mobile: param.Mobile, + Type: param.Type, + Replaces: param.Replaces, + Company: param.Company, + Ip: param.Ip, + } + req.InitWithApiInfo(HOST, VERSION, "/v1/sms/send") + req.Method = requests.POST + return +} + +func CreateSendSmsResponseV2() (resp *SendSmsResponseV2) { + resp = &SendSmsResponseV2{ + BaseResponse: &responses.BaseResponse{}, + } + return +}