From: qydysky Date: Mon, 6 May 2024 17:27:41 +0000 (+0000) Subject: Improve biliApi X-Git-Tag: v0.13.9~7 X-Git-Url: http://127.0.0.1:8081/?a=commitdiff_plain;h=24a6cbc40e4a760fd0fd0a5e7106419b60f19fc1;p=bili_danmu%2F.git Improve biliApi --- diff --git a/F/api.go b/F/api.go index 81159fe..a6a616b 100644 --- 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 } } diff --git a/F/biliApiInterface.go b/F/biliApiInterface.go index 6189cf2..36bf09a 100644 --- a/F/biliApiInterface.go +++ b/F/biliApiInterface.go @@ -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 57e9051..9d77cf2 100644 --- 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 107c367..b01e24a 100644 --- 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=