更新 response 错误处理

This commit is contained in:
eatmoreapple 2022-11-12 21:19:31 +08:00
parent 6d7541a8ed
commit d51ad8cdff
3 changed files with 14 additions and 8 deletions

2
bot.go
View File

@ -268,7 +268,7 @@ func (b *Bot) syncCheck() error {
}
// 如果不是正常的状态码返回,发生了错误,直接退出
if !resp.Success() {
return resp
return resp.Err()
}
// 如果Selector不为0则获取消息
if !resp.NorMal() {

View File

@ -94,7 +94,7 @@ func (c *Caller) GetLoginInfo(body []byte) (*LoginInfo, error) {
return nil, err
}
if !loginInfo.Ok() {
return nil, loginInfo
return nil, loginInfo.Err()
}
return &loginInfo, nil
}

View File

@ -1,6 +1,7 @@
package openwechat
import (
"errors"
"strconv"
)
@ -23,8 +24,11 @@ func (l LoginInfo) Ok() bool {
return l.Ret == 0
}
func (l LoginInfo) Error() string {
return l.Message
func (l LoginInfo) Err() error {
if l.Ok() {
return nil
}
return errors.New(l.Message)
}
// BaseRequest 初始的请求信息
@ -100,13 +104,15 @@ func (s SyncCheckResponse) NorMal() bool {
return s.Success() && s.Selector == "0"
}
// 实现error接口
func (s SyncCheckResponse) Error() string {
func (s SyncCheckResponse) Err() error {
if s.Success() {
return nil
}
i, err := strconv.ParseInt(s.RetCode, 16, 10)
if err != nil {
return ""
return errors.New("sync check unknown error")
}
return Ret(i).String()
return errors.New(Ret(i).String())
}
type WebWxSyncResponse struct {