Commit 57014ad5e1371240e14479e6c82e94fa52f6f234

Authored by Jeff Lai
1 parent 6186a646
Exists in master

Add js_ticket api

lib/dingtalk/api/base.rb
@@ -3,6 +3,7 @@ module Dingtalk @@ -3,6 +3,7 @@ module Dingtalk
3 class Base 3 class Base
4 attr_accessor :corp_id 4 attr_accessor :corp_id
5 ACCESS_TOKEN = "access_token" 5 ACCESS_TOKEN = "access_token"
  6 + JS_TICKET = "js_ticket"
6 7
7 def initialize(corp_id = nil, permanent_code = nil) 8 def initialize(corp_id = nil, permanent_code = nil)
8 @corp_id = corp_id 9 @corp_id = corp_id
@@ -17,6 +18,14 @@ module Dingtalk @@ -17,6 +18,14 @@ module Dingtalk
17 Suite.new.set_corp_access_token(@corp_id, @permanent_code) 18 Suite.new.set_corp_access_token(@corp_id, @permanent_code)
18 end 19 end
19 20
  21 + def js_ticket
  22 + redis.get("#{corp_id}_#{JS_TICKET}") || set_js_ticket
  23 + end
  24 +
  25 + def set_js_ticket
  26 + http_get('get_jsapi_ticket')
  27 + end
  28 +
20 private 29 private
21 def default_params 30 def default_params
22 { access_token: access_token } 31 { access_token: access_token }
lib/dingtalk/client.rb
@@ -26,6 +26,10 @@ module Dingtalk @@ -26,6 +26,10 @@ module Dingtalk
26 Digest::SHA1.hexdigest(sort_params) 26 Digest::SHA1.hexdigest(sort_params)
27 end 27 end
28 28
  29 + def base
  30 + Api::Base.new(@corp_id)
  31 + end
  32 +
29 def suite 33 def suite
30 Api::Suite.new 34 Api::Suite.new
31 end 35 end