add QQ扫码登录

This commit is contained in:
ZJY 2021-09-29 15:29:02 +08:00
parent 8927b8b622
commit e994fd370f
2 changed files with 28 additions and 21 deletions

View File

@ -1,10 +1,12 @@
package models
import (
"encoding/json"
"errors"
"fmt"
"github.com/beego/beego/v2/client/httplib"
"github.com/beego/beego/v2/core/logs"
"io/ioutil"
"regexp"
"strings"
"time"
@ -139,27 +141,22 @@ var codeSignals = []CodeSignal{
{
Command: []string{"qrcode", "扫码", "二维码", "scan"},
Handle: func(sender *Sender) interface{} {
//rsp, err := httplib.Post("https://api.kukuqaq.com/jd/qrcode").Response()
//if err != nil {
// return nil
//}
//body, err1 := ioutil.ReadAll(rsp.Body)
//if err1 == nil {
// fmt.Println(string(body))
//}
//s := &QQuery{}
//if len(body) > 0 {
// json.Unmarshal(body, &s)
//}
//logs.Info(s.Data.QqLoginQrcode.Bytes)
//ddd, _ := base64.StdEncoding.DecodeString(s.Data.QqLoginQrcode.Bytes)
rsp, err := httplib.Get("http://127.0.0.1:5703/api/login/qrcode1").Response()
rsp, err := httplib.Post("https://api.kukuqaq.com/jd/qrcode").Response()
if err != nil {
return nil
}
logs.Info(rsp.Body)
logs.Info("测试")
return rsp
body, err1 := ioutil.ReadAll(rsp.Body)
if err1 == nil {
fmt.Println(string(body))
}
s := &QQuery{}
if len(body) > 0 {
json.Unmarshal(body, &s)
}
logs.Info(s.Data.QqLoginQrcode.Bytes)
//ddd, _ := base64.StdEncoding.DecodeString("data:image/png;base64,"+s.Data.QqLoginQrcode.Bytes)
return s.Data.QqLoginQrcode.Bytes
},
},
{

View File

@ -75,13 +75,23 @@ func Main() {
switch msg.(type) {
case string:
if bot != nil {
bot.SendPrivateMessage(uid, models.Config.QQGroupID, &message.SendingMessage{Elements: []message.IMessageElement{&message.TextElement{Content: msg.(string)}}})
if strings.Contains(msg.(string), "data:image") {
photo := msg.(string)
//i := strings.Index(photo, ",")
//if i < 0 {
// log.Fatal("no comma")
//}
//
//dec := base64.NewDecoder(base64.StdEncoding, strings.NewReader(photo[i+1:]))
b := []byte(photo)
bot.SendPrivateMessage(uid, models.Config.QQGroupID, &message.SendingMessage{Elements: []message.IMessageElement{&coolq.LocalImageElement{Stream: bytes.NewReader(b)}}})
} else {
bot.SendPrivateMessage(uid, models.Config.QQGroupID, &message.SendingMessage{Elements: []message.IMessageElement{&message.TextElement{Content: msg.(string)}}})
}
}
case *http.Response:
data, _ := ioutil.ReadAll(msg.(*http.Response).Body)
bot.SendPrivateMessage(uid, models.Config.QQGroupID, &message.SendingMessage{Elements: []message.IMessageElement{&coolq.LocalImageElement{Stream: bytes.NewReader(data)}}})
case byte:
}
}