feishu-rails 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/feishu/connector.rb +18 -10
- data/lib/feishu/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6804988e9d3dcce71102da60cdf71cac5e9b1e1627835f022c082e9e0585310f
|
4
|
+
data.tar.gz: 9dfe63a9194bcb9c6f8bfd4f75bc5bd76d4112748c9fe792d0e7f5e9a4f4e610
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b633d47d579b2a9f9fb3539880976fc4084bbeb6c8141f852bfd99c6886823d4b1ca851fb17bcb263d3d3d47b8dd4d96e9821edcb4287016955ab53d8ae3f303
|
7
|
+
data.tar.gz: 9f1819889b23fec6163fef128db9cf30640eeac0decc881f036cf9f3e44872e8193b56e9470f0cbbe0ebf36917d317d14cc19f584ede94d297bbcb8a85b6858f
|
data/lib/feishu/connector.rb
CHANGED
@@ -17,18 +17,9 @@ module Feishu
|
|
17
17
|
GROUP_INFO = "https://open.feishu.cn/open-apis/chat/v4/info"
|
18
18
|
SEND_TEXT = "https://open.feishu.cn/open-apis/message/v4/send"
|
19
19
|
|
20
|
-
# 获取飞书 TOKEN 并缓存
|
21
|
-
def access_token
|
22
|
-
Rails.cache.fetch("feishu_token", expires_in: 30.minutes) do
|
23
|
-
# res = HTTP.post(AUTH_URL, json: { app_id: app_id, app_secret: app_secret })
|
24
|
-
res = HTTP.post(AUTH_URL, json: { app_id: Feishu.app_id, app_secret: Feishu.app_secret })
|
25
|
-
JSON.parse(res.body.readpartial)["tenant_access_token"]
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
20
|
# 认证成功后,后续请求都携带 TOKEN
|
30
21
|
def request
|
31
|
-
HTTP.headers(Authorization: "Bearer #{
|
22
|
+
HTTP.headers(Authorization: "Bearer #{feishu_token}")
|
32
23
|
end
|
33
24
|
|
34
25
|
# 根据手机号码查询用户的 USER_ID
|
@@ -107,6 +98,10 @@ module Feishu
|
|
107
98
|
|
108
99
|
# 向特定群组发生消息
|
109
100
|
def send_alert(chat_id, title, content, image_path)
|
101
|
+
# 获取上传文件路径
|
102
|
+
uploaded_image_path = upload_image(image_path)
|
103
|
+
|
104
|
+
# 初始化数据结构
|
110
105
|
data = {
|
111
106
|
chat_id: chat_id,
|
112
107
|
msg_type: "post",
|
@@ -139,6 +134,9 @@ module Feishu
|
|
139
134
|
}
|
140
135
|
}
|
141
136
|
}
|
137
|
+
# 如果图片不存在则移除相关属性
|
138
|
+
data[:content][:post][:zh_cn][:content].pop if uploaded_image_path.blank?
|
139
|
+
|
142
140
|
# 请求后端
|
143
141
|
res = request.post(SEND_TEXT, json: data)
|
144
142
|
|
@@ -149,4 +147,14 @@ module Feishu
|
|
149
147
|
Rails.logger("群发消息期间捕捉到异常:#{e}")
|
150
148
|
end
|
151
149
|
end
|
150
|
+
|
151
|
+
private
|
152
|
+
def feishu_token
|
153
|
+
# 获取飞书 TOKEN 并缓存
|
154
|
+
Rails.cache.fetch("feishu_token", expires_in: 30.minutes) do
|
155
|
+
# res = HTTP.post(AUTH_URL, json: { app_id: app_id, app_secret: app_secret })
|
156
|
+
res = HTTP.post(AUTH_URL, json: { app_id: Feishu.app_id, app_secret: Feishu.app_secret })
|
157
|
+
JSON.parse(res.body.readpartial)["tenant_access_token"]
|
158
|
+
end
|
159
|
+
end
|
152
160
|
end
|
data/lib/feishu/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: feishu-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- WENWU.YAN
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-05-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|