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
}
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`)
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()
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)
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)
}
}