From b5697b24c58f57e69c0c602a21b9f5236ebaeb74 Mon Sep 17 00:00:00 2001 From: Lin <767763591@qq.com> Date: Fri, 24 Dec 2021 14:25:13 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=E7=8E=B0=E5=8F=AF=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E4=B8=8D=E5=90=8C=E7=9A=84=E4=BA=8C=E7=BB=B4=E7=A0=81?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=8F=82=E6=95=B0=E8=8E=B7=E5=8F=96=E4=BA=8C?= =?UTF-8?q?=E7=BB=B4=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/builders.go | 4 ++-- client/client.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client/builders.go b/client/builders.go index 032a4f1d..ef836780 100644 --- a/client/builders.go +++ b/client/builders.go @@ -124,7 +124,7 @@ func (c *QQClient) buildDeviceLockLoginPacket() (uint16, []byte) { return seq, c.transport.PackPacket(&req2) } -func (c *QQClient) buildQRCodeFetchRequestPacket() (uint16, []byte) { +func (c *QQClient) buildQRCodeFetchRequestPacket(size, margin, ecLevel uint32) (uint16, []byte) { watch := auth.AndroidWatch.Version() seq := c.nextSeq() req := c.buildOicqRequestPacket(0, 0x0812, binary.NewWriterF(func(w *binary.Writer) { @@ -139,7 +139,7 @@ func (c *QQClient) buildQRCodeFetchRequestPacket() (uint16, []byte) { w.WriteUInt16(6) w.Write(tlv.T16(watch.SSOVersion, 16, watch.AppId, c.deviceInfo.Guid, []byte(watch.ApkId), []byte(watch.SortVersionName), watch.ApkSign)) - w.Write(tlv.T1B(0, 0, 3, 4, 72, 2, 2)) + w.Write(tlv.T1B(0, 0, size, margin, 72, ecLevel, 2)) w.Write(tlv.T1D(watch.MiscBitmap)) w.Write(tlv.T1F(false, c.deviceInfo.OSType, []byte("7.1.2"), []byte("China Mobile GSM"), c.deviceInfo.APN, 2)) w.Write(tlv.T33(c.deviceInfo.Guid)) diff --git a/client/client.go b/client/client.go index ef9b0391..971472b2 100644 --- a/client/client.go +++ b/client/client.go @@ -309,7 +309,7 @@ func (c *QQClient) TokenLogin(token []byte) error { return c.init(true) } -func (c *QQClient) FetchQRCode() (*QRCodeLoginResponse, error) { +func (c *QQClient) FetchQRCode(size, margin, ecLevel uint32) (*QRCodeLoginResponse, error) { if c.Online.Load() { return nil, ErrAlreadyOnline } @@ -317,7 +317,7 @@ func (c *QQClient) FetchQRCode() (*QRCodeLoginResponse, error) { if err != nil { return nil, err } - i, err := c.sendAndWait(c.buildQRCodeFetchRequestPacket()) + i, err := c.sendAndWait(c.buildQRCodeFetchRequestPacket(size, margin, ecLevel)) if err != nil { return nil, errors.Wrap(err, "fetch qrcode error") } From 1b3e84baf05ddac75d154142506cc02ad36c0990 Mon Sep 17 00:00:00 2001 From: LXY <767763591@qq.com> Date: Fri, 24 Dec 2021 14:34:30 +0800 Subject: [PATCH 2/3] feat: change to FetchQRCodeCustomSize --- client/client.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/client/client.go b/client/client.go index 971472b2..f4e53f40 100644 --- a/client/client.go +++ b/client/client.go @@ -309,7 +309,11 @@ func (c *QQClient) TokenLogin(token []byte) error { return c.init(true) } -func (c *QQClient) FetchQRCode(size, margin, ecLevel uint32) (*QRCodeLoginResponse, error) { +func (c *QQClient) FetchQRCode() (*QRCodeLoginResponse, error) { + return c.FetchQRCode(3, 4, 2) +} + +func (c *QQClient) FetchQRCodeCustomSize(size, margin, ecLevel uint32) (*QRCodeLoginResponse, error) { if c.Online.Load() { return nil, ErrAlreadyOnline } From 6dd575b200e500227c53e83433cdb8180a68750d Mon Sep 17 00:00:00 2001 From: LXY <767763591@qq.com> Date: Fri, 24 Dec 2021 14:36:51 +0800 Subject: [PATCH 3/3] fix: FetchQRCode --- client/client.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/client.go b/client/client.go index f4e53f40..04e343dd 100644 --- a/client/client.go +++ b/client/client.go @@ -310,7 +310,7 @@ func (c *QQClient) TokenLogin(token []byte) error { } func (c *QQClient) FetchQRCode() (*QRCodeLoginResponse, error) { - return c.FetchQRCode(3, 4, 2) + return c.FetchQRCodeCustomSize(3, 4, 2) } func (c *QQClient) FetchQRCodeCustomSize(size, margin, ecLevel uint32) (*QRCodeLoginResponse, error) {