Class: Bilibili::Login

Inherits:
BilibiliBase show all
Defined in:
lib/bilibili_console/login.rb

Overview

login class

Instance Attribute Summary collapse

Attributes inherited from BilibiliBase

#http_client, #options

Instance Method Summary collapse

Methods inherited from BilibiliBase

#clean_cookie, #initialize, #load_cookie, #save_cookie

Constructor Details

This class inherits a constructor from Bilibili::BilibiliBase

Instance Attribute Details

#oauth_keyObject

Returns the value of attribute oauth_key.



48
49
50
# File 'lib/bilibili_console/login.rb', line 48

def oauth_key
  @oauth_key
end

#urlObject

Returns the value of attribute url.



48
49
50
# File 'lib/bilibili_console/login.rb', line 48

def url
  @url
end

Instance Method Details

#loginObject



78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/bilibili_console/login.rb', line 78

def 
  
  show_qrcode
  print '已完成扫码?[y/n]'
  over = $stdin.gets.chomp
  return nil unless over == 'y'

  post_form_jsonl(Api::Login::INFO, { oauthKey: @oauth_key })
  puts 'Login Success !!!'
  save_cookie
  'success'
end

#login_urlObject



50
51
52
53
54
# File 'lib/bilibili_console/login.rb', line 50

def 
  data = get_jsonl(Api::Login::QRCODE)
  @url = data[:url]
  @oauth_key = data[:oauthKey]
end

#login_user_infoObject



66
67
68
69
70
71
72
73
74
75
76
# File 'lib/bilibili_console/login.rb', line 66

def 
  set_http_cookie
  data = get_jsona(Api::Login::USERINFO)
  if data.code != '-101'
    Bilibili::UserInfo.new(data)
  else
    puts 'Cookie已失效'
    clean_cookie
    
  end
end

#show_qrcodeObject



56
57
58
59
60
61
62
63
64
# File 'lib/bilibili_console/login.rb', line 56

def show_qrcode
  qr = RQRCode::QRCode.new(@url)
  pic = qr.as_ansi(
    light: "\033[47m", dark: "\033[40m",
    fill_character: '  ',
    quiet_zone_size: 1
  )
  puts pic
end