Module: WxExt::Api::Js

Defined in:
lib/wx_ext/api/js.rb

Overview

User api of weixin.

Author:

  • FuShengYang

Class Method Summary collapse

Class Method Details

.get_jsapi_config(access_token, url, app_id) ⇒ Hash

Get js api config hash.

Parameters:

  • access_token (Enumerable<String>)
  • url (Enumerable<String>)
  • app_id (Enumerable<String>)

Returns:

  • (Hash)

    Json based hash.



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/wx_ext/api/js.rb', line 31

def get_jsapi_config(access_token, url, app_id)
  config_hash = {}
  jsapi_ticket_hash = get_jsapi_ticket(access_token)
  timestamp = set_timestamp
  noncestr = set_noncestr
  if jsapi_ticket_hash['errcode'] == 0
    jsapi_ticket = jsapi_ticket_hash['ticket']
    str = "jsapi_ticket=#{jsapi_ticket}&noncestr=#{noncestr}&timestamp=#{timestamp}&url=#{url}"
    signature = Digest::SHA1.hexdigest(str)
    config_hash = {
      app_id: app_id,
      timestamp: timestamp,
      noncestr: noncestr,
      signature: signature
    }
  end
  config_hash
end

.get_jsapi_ticket(access_token) ⇒ Hash

Get js api ticket.

Parameters:

  • access_token (Enumerable<String>)

Returns:

  • (Hash)

    Json based hash.



20
21
22
23
# File 'lib/wx_ext/api/js.rb', line 20

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