From dd0d6603a7fafc7006ecf900aafc0f2fa77edc0f Mon Sep 17 00:00:00 2001 From: eatmoreapple Date: Sun, 27 Nov 2022 23:08:31 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- caller.go | 6 ++++++ errors.go | 3 +++ 2 files changed, 9 insertions(+) diff --git a/caller.go b/caller.go index 8d01ed7..1714026 100644 --- a/caller.go +++ b/caller.go @@ -4,7 +4,9 @@ import ( "bytes" "encoding/json" "errors" + "fmt" "io" + "net/http" "net/url" "os" ) @@ -86,6 +88,10 @@ func (c *Caller) GetLoginInfo(body []byte) (*LoginInfo, error) { if err != nil { return nil, err } + // 判断是否重定向 + if resp.StatusCode != http.StatusMovedPermanently { + return nil, fmt.Errorf("%w: try to login with Desktop Mode", ErrForbidden) + } defer func() { _ = resp.Body.Close() }() var loginInfo LoginInfo diff --git a/errors.go b/errors.go index 19dfea8..4176404 100644 --- a/errors.go +++ b/errors.go @@ -18,3 +18,6 @@ func IgnoreNetworkError(errHandler func(err error)) func(error) { } } } + +// ErrForbidden 禁止当前账号登录 +var ErrForbidden = errors.New("login forbidden") From 7b4a856cea2a613c840fd1c826de1b2c39660130 Mon Sep 17 00:00:00 2001 From: eatmoreapple Date: Sun, 27 Nov 2022 23:12:23 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E5=9B=9E=E8=B0=83=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bot.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bot.go b/bot.go index 723470e..addcd53 100644 --- a/bot.go +++ b/bot.go @@ -141,10 +141,13 @@ func (b *Bot) LoginWithUUID(uuid string) error { switch resp.Code { case StatusSuccess: // 判断是否有登录回调,如果有执行它 + if err = b.HandleLogin(resp.Raw); err != nil { + return err + } if b.LoginCallBack != nil { b.LoginCallBack(resp.Raw) } - return b.HandleLogin(resp.Raw) + return nil case StatusScanned: // 执行扫码回调 if b.ScanCallBack != nil {