class Bilibili::Login

login class

Attributes

oauth_key[RW]
url[RW]

Public Instance Methods

login() click to toggle source
# File lib/bilibili_console/login.rb, line 78
def login
  login_url
  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_url() click to toggle source
# File lib/bilibili_console/login.rb, line 50
def login_url
  data = get_jsonl(Api::Login::QRCODE)
  @url = data[:url]
  @oauth_key = data[:oauthKey]
end
login_user_info() click to toggle source
# File lib/bilibili_console/login.rb, line 66
def login_user_info
  set_http_cookie
  data = get_jsona(Api::Login::USERINFO)
  if data.code != '-101'
    Bilibili::UserInfo.new(data)
  else
    puts 'Cookie已失效'
    clean_cookie
    login_user_info
  end
end
show_qrcode() click to toggle source
# 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

Private Instance Methods