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 | 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 |