module WxExt::Api::Js
User
api of weixin.
@author FuShengYang
Public Instance Methods
get_jsapi_config(access_token, url, app_id, jsapi_ticket)
click to toggle source
Get js api config hash.
@param [Enumerable<String>] access_token @param [Enumerable<String>] url @param [Enumerable<String>] app_id @return [Hash] Json based hash.
# File lib/wx_ext/api/js.rb, line 30 def get_jsapi_config(access_token, url, app_id, jsapi_ticket) timestamp = set_timestamp noncestr = set_noncestr str = "jsapi_ticket=#{jsapi_ticket}&noncestr=#{noncestr}×tamp=#{timestamp}&url=#{url}" signature = Digest::SHA1.hexdigest(str) config_hash = { app_id: app_id, timestamp: timestamp, noncestr: noncestr, signature: signature, jsapi_ticket: jsapi_ticket, url: url, str: str } end
get_jsapi_ticket(access_token)
click to toggle source
Get js api ticket.
@param [Enumerable<String>] access_token @return [Hash] Json based hash.
# File lib/wx_ext/api/js.rb, line 19 def get_jsapi_ticket(access_token) url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=#{access_token}&type=jsapi" Helper.http_get(url, { accept: :json }) end
Private Instance Methods
set_noncestr()
click to toggle source
Set the noncestr of 16 byte.
@return [String] 16 byte str.
# File lib/wx_ext/api/js.rb, line 51 def set_noncestr [*'a'..'z',*'0'..'9',*'A'..'Z'].sample(16).join end
set_timestamp()
click to toggle source
Set the timestamp.
@return [String] timestamp str.
# File lib/wx_ext/api/js.rb, line 58 def set_timestamp Time.now.to_i.to_s end