From 938770805c9e70bab294a590cc26e9e99dac43ef Mon Sep 17 00:00:00 2001 From: ZJY <764763903@qq.com> Date: Thu, 30 Sep 2021 10:28:42 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E4=BF=AE=E5=A4=8Dwskey=E4=B8=8D=E4=BC=9A?= =?UTF-8?q?=E5=AE=9A=E6=97=B6=E8=BD=AC=E6=8D=A2=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/login.go | 69 ++++++++++++++++++++------------------------ models/wskey.go | 2 +- 2 files changed, 33 insertions(+), 38 deletions(-) diff --git a/controllers/login.go b/controllers/login.go index 37ad9f4..33ba7b4 100644 --- a/controllers/login.go +++ b/controllers/login.go @@ -36,6 +36,11 @@ type StepThree struct { Message string `json:"message"` } +type StepThree1 struct { + Code int `json:"code"` + Message string `json:"message"` +} + type Result struct { Code int `json:"code"` Data interface{} `json:"data"` @@ -205,13 +210,15 @@ 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(jd_token, cookie, okl_token) + result, ck := CheckLogin(models.QQuery{ + Code: 0, + }, jd_token) // fmt.Println(result) switch result { case "成功": @@ -294,40 +301,28 @@ func (c *LoginController) Query() { } } -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") +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)) - 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") + req.Param("redirectUrl", q.Data.RedirectURL) + req.Param("state", q.Data.State) + req.Param("tempCookie", q.Data.TempCookie) + req.Param("lSid", q.Data.LSid) rsp, err := req.Response() if err != nil { return "", nil //err.Error() } data, err := ioutil.ReadAll(rsp.Body) - sth := StepThree{} + sth := StepThree1{} err = json.Unmarshal(data, &sth) if err != nil { return "", nil //err.Error() } - switch sth.Errcode { + switch sth.Code { case 0: cookies := strings.Join(rsp.Header.Values("Set-Cookie"), " ") pt_key := FetchJdCookieValue("pt_key", cookies) @@ -360,19 +355,19 @@ func CheckLogin(token, cookie, okl_token string) (string, *models.JdCookie) { }() JdCookieRunners.Store(token, []interface{}{pt_pin}) return "成功", &ck - case 19: //Token无效,请退出重试 + case 500: //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) diff --git a/models/wskey.go b/models/wskey.go index 10ca202..fda6bb8 100644 --- a/models/wskey.go +++ b/models/wskey.go @@ -10,7 +10,7 @@ func intiSky() { c := cron.New(cron.WithSeconds()) //精确到秒 //定时任务 - spec := "0 0" + Config.CTime + "/12 * * ?" //cron表达式,每秒一次 + spec := "0 0 " + Config.CTime + "/12 * * ?" //cron表达式,每秒一次 logs.Info(spec) if Config.Wskey { c.AddFunc(spec, func() {