Commit 24f14ad5db4e3a461d44a600d02b14a23959d61d

Authored by Jeff Lai
1 parent ad90ee0e
Exists in master

Initialize corp in apis

Showing 2 changed files with 16 additions and 18 deletions   Show diff stats
lib/dingtalk/api/base.rb
1 module Dingtalk 1 module Dingtalk
2 module Api 2 module Api
3 class Base 3 class Base
4 - attr_accessor :corp_id  
5 - attr_accessor :permanent_code  
6 ACCESS_TOKEN = "access_token" 4 ACCESS_TOKEN = "access_token"
7 JS_TICKET = "js_ticket" 5 JS_TICKET = "js_ticket"
8 6
9 - def initialize(corp_id = nil, permanent_code = nil)  
10 - @corp_id = corp_id  
11 - @permanent_code = permanent_code 7 + def initialize(corp = nil)
  8 + @corp = corp
12 end 9 end
13 10
14 def access_token 11 def access_token
15 - token = redis.get("#{corp_id}_#{ACCESS_TOKEN}") 12 + token = redis.get("#{@corp.corp_id}_#{ACCESS_TOKEN}")
16 token.to_s.empty? ? set_access_token : token 13 token.to_s.empty? ? set_access_token : token
17 end 14 end
18 15
19 def set_access_token 16 def set_access_token
20 - Suite.new.set_corp_access_token(@corp_id, @permanent_code) 17 + Suite.new.set_corp_access_token(@corp.corp_id, @corp.permanent_code)
21 end 18 end
22 19
23 def js_ticket 20 def js_ticket
24 - ticket = redis.get("#{corp_id}_#{JS_TICKET}") 21 + ticket = redis.get("#{@corp.corp_id}_#{JS_TICKET}")
25 ticket.to_s.empty? ? set_js_ticket : ticket 22 ticket.to_s.empty? ? set_js_ticket : ticket
26 end 23 end
27 24
28 def set_js_ticket 25 def set_js_ticket
29 - key = "#{corp_id}_#{JS_TICKET}" 26 + key = "#{@corp.corp_id}_#{JS_TICKET}"
30 res = http_get("get_jsapi_ticket?access_token=#{access_token}") 27 res = http_get("get_jsapi_ticket?access_token=#{access_token}")
31 redis.set(key, res['ticket']) 28 redis.set(key, res['ticket'])
32 redis.expire(key, res['expires_in']) 29 redis.expire(key, res['expires_in'])
lib/dingtalk/client.rb
1 module Dingtalk 1 module Dingtalk
2 class Client 2 class Client
3 - attr_accessor :corp_id  
4 - attr_accessor :permanent_code 3 + def initialize(corp = nil)
  4 + @corp = corp
  5 + end
5 6
6 def decrypt(echo_str) 7 def decrypt(echo_str)
7 content, status = Dingtalk::Prpcrypt.decrypt(aes_key, echo_str, Dingtalk.suite_key) 8 content, status = Dingtalk::Prpcrypt.decrypt(aes_key, echo_str, Dingtalk.suite_key)
@@ -31,7 +32,7 @@ module Dingtalk @@ -31,7 +32,7 @@ module Dingtalk
31 end 32 end
32 33
33 def jssign_package(request_url) 34 def jssign_package(request_url)
34 - return nil unless @corp_id 35 + return nil unless @corp
35 36
36 the_timestamp = timestamp 37 the_timestamp = timestamp
37 the_nonce = nonce 38 the_nonce = nonce
@@ -40,7 +41,7 @@ module Dingtalk @@ -40,7 +41,7 @@ module Dingtalk
40 { 41 {
41 js_ticket: base.js_ticket, 42 js_ticket: base.js_ticket,
42 request_url: request_url, 43 request_url: request_url,
43 - corp_id: @corp_id, 44 + corp_id: @corp.corp_id,
44 timeStamp: the_timestamp, 45 timeStamp: the_timestamp,
45 nonceStr: the_nonce, 46 nonceStr: the_nonce,
46 signature: signature 47 signature: signature
@@ -48,7 +49,7 @@ module Dingtalk @@ -48,7 +49,7 @@ module Dingtalk
48 end 49 end
49 50
50 def base 51 def base
51 - Api::Base.new(@corp_id, @permanent_code) 52 + Api::Base.new(@corp)
52 end 53 end
53 54
54 def suite 55 def suite
@@ -56,19 +57,19 @@ module Dingtalk @@ -56,19 +57,19 @@ module Dingtalk
56 end 57 end
57 58
58 def department 59 def department
59 - Api::Department.new(@corp_id, @permanent_code) 60 + Api::Department.new(@corp)
60 end 61 end
61 62
62 def user 63 def user
63 - Api::User.new(@corp_id, @permanent_code) 64 + Api::User.new(@corp)
64 end 65 end
65 66
66 def message 67 def message
67 - Api::Message.new(@corp_id, @permanent_code) 68 + Api::Message.new(@corp)
68 end 69 end
69 70
70 def micro_app 71 def micro_app
71 - Api::MicroApp.new(@corp_id, @permanent_code) 72 + Api::MicroApp.new(@corp)
72 end 73 end
73 74
74 private 75 private