4
4
"bytes"
5
5
"encoding/json"
6
6
"fmt"
7
+ "io"
7
8
"io/ioutil"
8
9
"net/http"
9
10
"time"
@@ -61,7 +62,7 @@ func (m *YmCaptcha) CommonVerify(image, captchaType string) (res string, err err
61
62
return
62
63
}
63
64
defer response .Body .Close ()
64
- resBytes , err := ioutil .ReadAll (response .Body )
65
+ resBytes , err := io .ReadAll (response .Body )
65
66
if err != nil {
66
67
return
67
68
}
@@ -81,20 +82,26 @@ func (m *YmCaptcha) CommonVerify(image, captchaType string) (res string, err err
81
82
// # 通用双图滑块 20111
82
83
// # slide_image 需要识别图片的小图片的base64字符串
83
84
// # background_image 需要识别图片的背景图片的base64字符串(背景图需还原)
84
- func (m * YmCaptcha ) SlideVerify (slideImage string , backgroundImage string ) string {
85
-
86
- config := map [string ]interface {}{}
87
- config ["slide_image" ] = slideImage
88
- config ["background_image" ] = backgroundImage
89
- config ["type" ] = "20111"
90
- config ["token" ] = m .Token
91
- configData , _ := json .Marshal (config )
92
- body := bytes .NewBuffer ([]byte (configData ))
93
- resp , err := http .Post (CustomUrl , "application/json;charset=utf-8" , body )
85
+ func (m * YmCaptcha ) SlideVerify (slideImage string , backgroundImage string ) (res string , err error ) {
86
+ req := map [string ]interface {}{}
87
+ req ["slide_image" ] = slideImage
88
+ req ["background_image" ] = backgroundImage
89
+ req ["type" ] = "20111"
90
+ req ["token" ] = m .Token
91
+ reqBytes , _ := json .Marshal (req )
92
+ resp , err := http .Post (CustomUrl , "application/json;charset=utf-8" , bytes .NewReader (reqBytes ))
94
93
defer resp .Body .Close ()
95
- data , _ := ioutil .ReadAll (resp .Body )
96
- fmt .Println (string (data ), err )
97
- return string (data )
94
+ resBytes , _ := io .ReadAll (resp .Body )
95
+ var resData Result
96
+ err = json .Unmarshal (resBytes , & resData )
97
+ if err != nil {
98
+ return
99
+ }
100
+ if resData .Code == OkCode && resData .Data .Code == DataOkCode {
101
+ return resData .Data .Data , nil
102
+ } else {
103
+ return resData .Msg , fmt .Errorf ("响应信息是%s" , string (resBytes ))
104
+ }
98
105
}
99
106
100
107
func (m * YmCaptcha ) SinSlideVerify (image string ) string {
0 commit comments