From b9ac3fcd7e30f22124cd077b9c8d612d7054a7f2 Mon Sep 17 00:00:00 2001 From: qydysky Date: Tue, 29 Dec 2020 08:07:01 +0800 Subject: [PATCH] =?utf8?q?=E6=89=AB=E7=A0=81=E7=99=BB=E5=BD=95=E9=94=99?= =?utf8?q?=E8=AF=AF=EF=BC=8C=E6=97=A5=E5=BF=97=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- CV/Var.go | 1 + F/api.go | 16 ++++++++++------ bili_danmu.go | 30 +++++++++++++++++++----------- 3 files changed, 30 insertions(+), 17 deletions(-) diff --git a/CV/Var.go b/CV/Var.go index f8b6226..5c7daf9 100644 --- a/CV/Var.go +++ b/CV/Var.go @@ -39,6 +39,7 @@ var Log = log.New(log.Config{ `T: `:log.On, `I: `:log.On, `N: `:log.On, + `W: `:log.On, `E: `:log.On, }, }) diff --git a/F/api.go b/F/api.go index 5d8e194..9cc7493 100644 --- a/F/api.go +++ b/F/api.go @@ -593,7 +593,6 @@ func (i *api) Get_Version() { func Get_cookie() { if api_limit.TO() {return}//超额请求阻塞,超时将取消 apilog := apilog.Base_add(`获取Cookie`) - defer apilog.L(`T: `,"ok") var img_url string var oauth string @@ -626,10 +625,6 @@ func Get_cookie() { } var server *http.Server {//生成二维码 - if p.Checkfile().IsExist(`qr.png`) { - apilog.L(`E: `,`qr.png已存在`) - return - } qr.WriteFile(img_url,qr.Medium,256,`qr.png`) if !p.Checkfile().IsExist(`qr.png`) { apilog.L(`E: `,`qr error`) @@ -651,11 +646,20 @@ func Get_cookie() { apilog.L(`W: `,`打开链接扫码登录:`,`http://`+server.Addr+`/qr.png`) server.ListenAndServe() }() + p.Sys().Timeoutf(1) } var cookie string {//3s刷新查看是否通过 max_try := 20 - for max_try > 0 { + change_room_sign := false + c.Danmu_Main_mq.Pull_tag(map[string]func(interface{})(bool){ + `change_room`:func(data interface{})(bool){//房间改变 + change_room_sign = true + return true + }, + }) + + for max_try > 0 && !change_room_sign { max_try -= 1 p.Sys().Timeoutf(3) r := p.Req() diff --git a/bili_danmu.go b/bili_danmu.go index 139d284..987e385 100644 --- a/bili_danmu.go +++ b/bili_danmu.go @@ -89,6 +89,16 @@ func Demo(roomid ...int) { var q = p.Filel{ Write:false, } + var get_cookie = func(){ + danmulog.L(`I: `, "未检测到cookie.txt,如果需要登录请在本机打开以下网址扫码登录,不需要请忽略") + //获取cookie + F.Get_cookie() + if c.Cookie != `` { + danmulog.L(`I: `,"你已登录,刷新房间!") + //刷新 + c.Danmu_Main_mq.Push_tag(`change_room`,nil) + } + } if p.Checkfile().IsExist("cookie.txt") { q.File = "cookie.txt" f := p.File().FileWR(q) @@ -96,18 +106,16 @@ func Demo(roomid ...int) { if tmp_uid,e := g.SS(f,`DedeUserID=`,`;`,0,0);e == nil { if v,e := strconv.Atoi(tmp_uid);e == nil { c.Uid = v - } else {danmulog.L(`E: `, e)} - } else {danmulog.L(`E: `, e)} - } else { - danmulog.L(`I: `, "未检测到cookie.txt,如果需要登录请在本机打开以下网址扫码登录,不需要请忽略") - go func(){//获取cookie - F.Get_cookie() - if c.Cookie != `` { - danmulog.L(`I: `,"你已登录,刷新房间!") - //刷新 - c.Danmu_Main_mq.Push_tag(`change_room`,nil) + } else { + danmulog.L(`E: `, `读取cookie错误`,e) + go get_cookie() } - }() + } else { + danmulog.L(`E: `, `读取cookie错误`,e) + go get_cookie() + } + } else { + go get_cookie() p.Sys().Timeoutf(3) } } -- 2.39.2