Merge branch 'dev' of https://gitee.com/jia_yuan/xdd-plus into gitee
This commit is contained in:
commit
402195b695
@ -210,15 +210,13 @@ func init() {
|
||||
jd_token := k.(string)
|
||||
vv := v.([]interface{})
|
||||
if len(vv) >= 2 {
|
||||
//cookie := vv[0].(string)
|
||||
//okl_token := vv[1].(string)
|
||||
cookie := vv[0].(string)
|
||||
okl_token := vv[1].(string)
|
||||
bot := vv[2].(string)
|
||||
uid := vv[3].(int)
|
||||
gid := vv[4].(int)
|
||||
// fmt.Println(jd_token, cookie, okl_token)
|
||||
result, ck := CheckLogin(models.QQuery{
|
||||
Code: 0,
|
||||
}, jd_token)
|
||||
result, ck := CheckLogin(jd_token, cookie, okl_token)
|
||||
// fmt.Println(result)
|
||||
switch result {
|
||||
case "成功":
|
||||
@ -301,28 +299,40 @@ func (c *LoginController) Query() {
|
||||
}
|
||||
}
|
||||
|
||||
func CheckLogin(q models.QQuery, token string) (string, *models.JdCookie) {
|
||||
//state := time.Now().Unix()
|
||||
req := httplib.Post("https://api.kukuqaq.com/jd/cookie")
|
||||
req.Param("sig", q.Data.QqLoginQrcode.Sig)
|
||||
req.Param("type", string(1))
|
||||
func CheckLogin(token, cookie, okl_token string) (string, *models.JdCookie) {
|
||||
state := time.Now().Unix()
|
||||
req := httplib.Post(
|
||||
fmt.Sprintf(`https://plogin.m.jd.com/cgi-bin/m/tmauthchecktoken?&token=%s&ou_state=0&okl_token=%s`,
|
||||
token,
|
||||
okl_token,
|
||||
),
|
||||
)
|
||||
req.Header("Referer", fmt.Sprintf(`https://plogin.m.jd.com/login/login?appid=300&returnurl=https://wqlogin2.jd.com/passport/LoginRedirect?state=%d&returnurl=//home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&/myJd/home.action&source=wq_passport`,
|
||||
state),
|
||||
)
|
||||
req.Header("Cookie", cookie)
|
||||
req.Header("Connection", "Keep-Alive")
|
||||
req.Header("Content-Type", "application/x-www-form-urlencoded; Charset=UTF-8")
|
||||
req.Header("Accept", "application/json, text/plain, */*")
|
||||
req.Header("User-Agent", jdua())
|
||||
req.Header("Host", "plogin.m.jd.com")
|
||||
|
||||
req.Param("redirectUrl", q.Data.RedirectURL)
|
||||
req.Param("state", q.Data.State)
|
||||
req.Param("tempCookie", q.Data.TempCookie)
|
||||
req.Param("lSid", q.Data.LSid)
|
||||
req.Param("lang", "chs")
|
||||
req.Param("appid", "300")
|
||||
req.Param("returnurl", fmt.Sprintf("https://wqlogin2.jd.com/passport/LoginRedirect?state=%d&returnurl=//home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&/myJd/home.action", state))
|
||||
req.Param("source", "wq_passport")
|
||||
|
||||
rsp, err := req.Response()
|
||||
if err != nil {
|
||||
return "", nil //err.Error()
|
||||
}
|
||||
data, err := ioutil.ReadAll(rsp.Body)
|
||||
sth := StepThree1{}
|
||||
sth := StepThree{}
|
||||
err = json.Unmarshal(data, &sth)
|
||||
if err != nil {
|
||||
return "", nil //err.Error()
|
||||
}
|
||||
switch sth.Code {
|
||||
switch sth.Errcode {
|
||||
case 0:
|
||||
cookies := strings.Join(rsp.Header.Values("Set-Cookie"), " ")
|
||||
pt_key := FetchJdCookieValue("pt_key", cookies)
|
||||
@ -355,19 +365,19 @@ func CheckLogin(q models.QQuery, token string) (string, *models.JdCookie) {
|
||||
}()
|
||||
JdCookieRunners.Store(token, []interface{}{pt_pin})
|
||||
return "成功", &ck
|
||||
case 500: //Token无效,请退出重试
|
||||
case 19: //Token无效,请退出重试
|
||||
JdCookieRunners.Delete(token)
|
||||
return sth.Message, nil
|
||||
//case 21: //Token不存在,请退出重试
|
||||
// JdCookieRunners.Delete(token)
|
||||
// return sth.Message, nil
|
||||
//case 176: //授权登录未确认
|
||||
// return sth.Message, nil
|
||||
//case 258: //务异常,请稍后重试
|
||||
// return "", nil
|
||||
//case 264: //出错了,请退出重试
|
||||
// // JdCookieRunners.Delete(token)
|
||||
// // return sth.Message, nil
|
||||
case 21: //Token不存在,请退出重试
|
||||
JdCookieRunners.Delete(token)
|
||||
return sth.Message, nil
|
||||
case 176: //授权登录未确认
|
||||
return sth.Message, nil
|
||||
case 258: //务异常,请稍后重试
|
||||
return "", nil
|
||||
case 264: //出错了,请退出重试
|
||||
// JdCookieRunners.Delete(token)
|
||||
// return sth.Message, nil
|
||||
default:
|
||||
JdCookieRunners.Delete(token)
|
||||
// fmt.Println(sth)
|
||||
|
||||
@ -121,7 +121,7 @@ var handleMessage = func(msgs ...interface{}) interface{} {
|
||||
}
|
||||
if strings.Contains(rsp, "fake_") {
|
||||
logs.Error("wskey错误")
|
||||
sender.Reply(fmt.Sprintf("wskey错误"))
|
||||
sender.Reply(fmt.Sprintf("wskey错误 除京东APP皆不可用"))
|
||||
} else {
|
||||
ptKey := FetchJdCookieValue("pt_key", rsp)
|
||||
ptPin := FetchJdCookieValue("pt_pin", rsp)
|
||||
|
||||
@ -1,13 +1,11 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/beego/beego/v2/client/httplib"
|
||||
"github.com/beego/beego/v2/core/logs"
|
||||
"io/ioutil"
|
||||
"github.com/beego/beego/v2/server/web"
|
||||
"regexp"
|
||||
"strings"
|
||||
"time"
|
||||
@ -142,28 +140,42 @@ var codeSignals = []CodeSignal{
|
||||
{
|
||||
Command: []string{"qrcode", "扫码", "二维码", "scan"},
|
||||
Handle: func(sender *Sender) interface{} {
|
||||
rsp, err := httplib.Post("https://api.kukuqaq.com/jd/qrcode").Response()
|
||||
url := fmt.Sprintf("http://127.0.0.1:%d/api/login/qrcode.png?tp=%s&uid=%d&gid=%d", web.BConfig.Listen.HTTPPort, sender.Type, sender.UserID, sender.ChatID)
|
||||
if sender.Type == "tgg" {
|
||||
url += fmt.Sprintf("&mid=%v&unm=%v", sender.MessageID, sender.Username)
|
||||
}
|
||||
rsp, err := httplib.Get(url).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) //成图片文件并把文件写入到buffer
|
||||
err2 := ioutil.WriteFile("./output.jpg", ddd, 0666) //buffer输出到jpg文件中(不做处理,直接写到文件)
|
||||
if err2 != nil {
|
||||
logs.Error(err2)
|
||||
}
|
||||
//ddd, _ := base64.StdEncoding.DecodeString("data:image/png;base64,"+s.Data.QqLoginQrcode.Bytes)
|
||||
return "data:image/png;base64," + s.Data.QqLoginQrcode.Bytes
|
||||
return rsp
|
||||
},
|
||||
},
|
||||
//{
|
||||
// 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) //成图片文件并把文件写入到buffer
|
||||
// err2 := ioutil.WriteFile("./output.jpg", ddd, 0666) //buffer输出到jpg文件中(不做处理,直接写到文件)
|
||||
// if err2 != nil {
|
||||
// logs.Error(err2)
|
||||
// }
|
||||
// //ddd, _ := base64.StdEncoding.DecodeString("data:image/png;base64,"+s.Data.QqLoginQrcode.Bytes)
|
||||
// return "data:image/png;base64," + s.Data.QqLoginQrcode.Bytes
|
||||
// },
|
||||
//},
|
||||
{
|
||||
Command: []string{"sign", "打卡", "签到"},
|
||||
Handle: func(sender *Sender) interface{} {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user