module YolQyWeixin::Connection::Base
Public Instance Methods
get_access_token()
click to toggle source
# File lib/yol_qy_weixin/connections/base.rb, line 20 def get_access_token if redis.nil? access_token_res = get_token(corpid, secret) access_token = access_token_res["access_token"] rescue nil else access_token = redis.get("qywx_access_token") if access_token.nil? access_token_res = get_token(corpid, secret) access_token = access_token_res["access_token"] rescue nil if access_token.nil? raise Exception.new("QyWeixin access token authorize false, corpid: #{corpid}") else redis.set("qywx_access_token", access_token) redis.expire("qywx_access_token", 7200) end end end access_token end
http_get(url)
click to toggle source
# File lib/yol_qy_weixin/connections/base.rb, line 12 def http_get(url) uri = URI(url) req = Net::HTTP.new(uri.host, uri.port) req.use_ssl = true res = req.get("#{uri.path}?#{uri.query}") handle_res(res) end
http_post(url, params)
click to toggle source
# File lib/yol_qy_weixin/connections/base.rb, line 4 def http_post(url, params) uri = URI(url) req = Net::HTTP.new(uri.host, uri.port) req.use_ssl = true res = req.post("#{uri.path}?#{uri.query}", params.to_json) handle_res(res) end
Private Instance Methods
get_token(app_id, app_secret)
click to toggle source
# File lib/yol_qy_weixin/connections/base.rb, line 42 def get_token(app_id, app_secret) http_get(token_url(app_id, app_secret)) end
handle_res(res)
click to toggle source
# File lib/yol_qy_weixin/connections/base.rb, line 50 def handle_res(res) if res.code == '200' return JSON.parse(res.body) else return {:code => res.code}.to_json end end
token_url(corpid, secret)
click to toggle source
# File lib/yol_qy_weixin/connections/base.rb, line 46 def token_url(corpid, secret) "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=#{corpid}&corpsecret=#{secret}" end