]> 127.0.0.1 Git - bili_danmu/.git/commitdiff
Improve biliApi
authorqydysky <qydysky@foxmail.com>
Mon, 6 May 2024 17:27:41 +0000 (17:27 +0000)
committerqydysky <qydysky@foxmail.com>
Mon, 6 May 2024 17:27:41 +0000 (17:27 +0000)
F/api.go
F/biliApiInterface.go
go.mod
go.sum

index 81159fe8f3c8928a602f8bc20fdfb58e4a8eb34d..a6a616b68b6642394bc43037be6f84738ae740bc 100644 (file)
--- a/F/api.go
+++ b/F/api.go
@@ -1125,56 +1125,13 @@ func Dosign() {
                return
        } //超额请求阻塞,超时将取消
 
-       { //检查是否签到
-               Cookie := make(map[string]string)
-               c.C.Cookie.Range(func(k, v interface{}) bool {
-                       Cookie[k.(string)] = v.(string)
-                       return true
-               })
-
-               req := c.C.ReqPool.Get()
-               defer c.C.ReqPool.Put(req)
-               if err := req.Reqf(reqf.Rval{
-                       Url: `https://api.live.bilibili.com/xlive/web-ucenter/v1/sign/WebGetSignInfo`,
-                       Header: map[string]string{
-                               `Host`:            `api.live.bilibili.com`,
-                               `User-Agent`:      c.UA,
-                               `Accept`:          `application/json, text/plain, */*`,
-                               `Accept-Language`: `zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2`,
-                               `Accept-Encoding`: `gzip, deflate, br`,
-                               `Origin`:          `https://live.bilibili.com`,
-                               `Connection`:      `keep-alive`,
-                               `Pragma`:          `no-cache`,
-                               `Cache-Control`:   `no-cache`,
-                               `Referer`:         "https://live.bilibili.com/all",
-                               `Cookie`:          reqf.Map_2_Cookies_String(Cookie),
-                       },
-                       Proxy:   c.C.Proxy,
-                       Timeout: 3 * 1000,
-                       Retry:   2,
-               }); err != nil {
-                       apilog.L(`E: `, err)
-                       return
-               }
-
-               var msg struct {
-                       Code    int    `json:"code"`
-                       Message string `json:"message"`
-                       Data    struct {
-                               Status int `json:"status"`
-                       } `json:"data"`
-               }
-               if e := json.Unmarshal(req.Respon, &msg); e != nil {
-                       apilog.L(`E: `, e)
-               }
-               if msg.Code != 0 {
-                       apilog.L(`E: `, msg.Message)
-                       return
-               }
-               if msg.Data.Status == 1 { //今日已签到
-                       apilog.L(`T: `, `今日已签到`)
-                       return
-               }
+       //检查是否签到
+       if err, status := biliApi.GetWebGetSignInfo(); err != nil {
+               apilog.L(`E: `, err)
+               return
+       } else if status == 1 { //今日已签到
+               apilog.L(`T: `, `今日已签到`)
+               return
        }
 
        if api_limit.TO() {
@@ -1183,52 +1140,12 @@ func Dosign() {
        } //超额请求阻塞,超时将取消
 
        { //签到
-               Cookie := make(map[string]string)
-               c.C.Cookie.Range(func(k, v interface{}) bool {
-                       Cookie[k.(string)] = v.(string)
-                       return true
-               })
-
-               req := c.C.ReqPool.Get()
-               defer c.C.ReqPool.Put(req)
-               if err := req.Reqf(reqf.Rval{
-                       Url: `https://api.live.bilibili.com/xlive/web-ucenter/v1/sign/DoSign`,
-                       Header: map[string]string{
-                               `Host`:            `api.live.bilibili.com`,
-                               `User-Agent`:      c.UA,
-                               `Accept`:          `application/json, text/plain, */*`,
-                               `Accept-Language`: `zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2`,
-                               `Accept-Encoding`: `gzip, deflate, br`,
-                               `Origin`:          `https://live.bilibili.com`,
-                               `Connection`:      `keep-alive`,
-                               `Pragma`:          `no-cache`,
-                               `Cache-Control`:   `no-cache`,
-                               `Referer`:         "https://live.bilibili.com/all",
-                               `Cookie`:          reqf.Map_2_Cookies_String(Cookie),
-                       },
-                       Proxy:   c.C.Proxy,
-                       Timeout: 3 * 1000,
-                       Retry:   2,
-               }); err != nil {
+               if err, HadSignDays := biliApi.DoSign(); err != nil {
                        apilog.L(`E: `, err)
-                       return
-               }
-
-               var msg struct {
-                       Code    int    `json:"code"`
-                       Message string `json:"message"`
-                       Data    struct {
-                               HadSignDays int `json:"hadSignDays"`
-                       } `json:"data"`
-               }
-               if e := json.Unmarshal(req.Respon, &msg); e != nil {
-                       apilog.L(`E: `, e)
-               }
-               if msg.Code == 0 {
-                       apilog.L(`I: `, `签到成功!本月已签到`, msg.Data.HadSignDays, `天`)
-                       return
+               } else {
+                       apilog.L(`I: `, `签到成功!本月已签到`, HadSignDays, `天`)
                }
-               apilog.L(`E: `, msg.Message)
+               return
        }
 }
 
index 6189cf24a2a8c0a602cd3b9f67e9cd85df300b9a..36bf09a19de4cdb02e09dd5141bf6740e00f98fb 100644 (file)
@@ -95,4 +95,6 @@ type biliApiInter interface {
                RoomID    int
        })
        SetFansMedal(medalId int) (err error)
+       GetWebGetSignInfo() (err error, Status int)
+       DoSign() (err error, HadSignDays int)
 }
diff --git a/go.mod b/go.mod
index 57e9051cc0fb154a2524df9ec31085523ee6e097..9d77cf2c68f690e5579f6beafc425c345008f7d6 100644 (file)
--- a/go.mod
+++ b/go.mod
@@ -13,7 +13,7 @@ require (
 
 require (
        github.com/google/uuid v1.6.0
-       github.com/qydysky/biliApi v0.0.0-20240502022948-a1b9a41f2a81
+       github.com/qydysky/biliApi v0.0.0-20240506172322-322d8298b8de
        golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f
 )
 
diff --git a/go.sum b/go.sum
index 107c3676cf4701158acfe3162d68aa0dbbdb306f..b01e24aeec92869dfa43147f1f64791b534975e6 100644 (file)
--- a/go.sum
+++ b/go.sum
@@ -46,8 +46,8 @@ github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdh
 github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/qydysky/biliApi v0.0.0-20240502022948-a1b9a41f2a81 h1:ga/7RfO/YXO7Sim+YeMZ7ndJVomXBuyBfHRLBn9tqhs=
-github.com/qydysky/biliApi v0.0.0-20240502022948-a1b9a41f2a81/go.mod h1:nhubuLaNo2LIkgoCt++A5KNtra53ttGPXsahjaGXCl4=
+github.com/qydysky/biliApi v0.0.0-20240506172322-322d8298b8de h1:LecQGvXEW++6LQJ/R2fmjbk/fp7t6u92g/OjTHZZSqk=
+github.com/qydysky/biliApi v0.0.0-20240506172322-322d8298b8de/go.mod h1:nhubuLaNo2LIkgoCt++A5KNtra53ttGPXsahjaGXCl4=
 github.com/qydysky/part v0.28.20240501130702 h1:0riRs+hY628Hd3ohvxAgDN9GL0GpqgPe/G/YIPn8JiQ=
 github.com/qydysky/part v0.28.20240501130702/go.mod h1:VMq3GnrK1/7zUufW3foG5oLAk9dw567JmuMyKPTGswc=
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=