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