mini_program 0.3.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -2
- data/lib/mini_program/client.rb +37 -3
- data/lib/mini_program/version.rb +1 -1
- data/lib/service_result.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: 531964b9adaef42289c3a113f8ab443d0cdef8e21768c039978a3c331c99918b
|
4
|
+
data.tar.gz: 32c3cfc3299844288904f8ef4650ee13a960f05a9a3c28c1fa6782bf68dbcdd2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29d604fdfe44aa2f0f48b04d91724d0af1bde9350197510a9e4342232fec99557c4353e7bf9539d6ee0a95120bb6cc86254362564e68d6f019d4b5910ddd2f03
|
7
|
+
data.tar.gz: 30d0ffd3efbe1f28067297a48b0c6a859e07c5c58cad5f7adf1becba25d350bf7b91f5fc7e210fd740ac2669d5559faa559b7b9ec578b1d677fc679486854a60
|
data/README.md
CHANGED
@@ -51,7 +51,10 @@ iv = "5tiyfVEHNVgHN4n8lzDrUA=="
|
|
51
51
|
result = mp.get_phone_num(code: code, encrypted_data: encrypted_data, iv: iv)
|
52
52
|
|
53
53
|
if result.success?
|
54
|
-
phone_num = result[:
|
54
|
+
phone_num = result.data[:phone]
|
55
|
+
|
56
|
+
# 或者直接使用 [] 方法获取
|
57
|
+
# phone_num = result[:phone_num]
|
55
58
|
end
|
56
59
|
|
57
60
|
```
|
@@ -81,7 +84,7 @@ msg = MiniProgram::Msg.new(:progress, {
|
|
81
84
|
})
|
82
85
|
|
83
86
|
# send_to 的参数可以是 openid(字符串),或者是带有 open_id 方法的对象,返回 MiniProgram::ServiceResult
|
84
|
-
result msg.send_to("ogT7J5YddGnll-ippRvJq62Nv5W0")
|
87
|
+
result = msg.send_to("ogT7J5YddGnll-ippRvJq62Nv5W0")
|
85
88
|
|
86
89
|
# or
|
87
90
|
user = User.first
|
data/lib/mini_program/client.rb
CHANGED
@@ -52,13 +52,13 @@ module MiniProgram
|
|
52
52
|
|
53
53
|
result = JSON.parse(response)
|
54
54
|
|
55
|
-
if result["errcode"].
|
55
|
+
if result["errcode"].to_s != "0"
|
56
56
|
logger.error <<~ERROR
|
57
57
|
Get access token failed.
|
58
58
|
api: #{api}
|
59
59
|
error: #{result}
|
60
60
|
ERROR
|
61
|
-
return MiniProgram::ServiceResult.new(success: false,
|
61
|
+
return MiniProgram::ServiceResult.new(success: false, errors: result, message: result["errmsg"])
|
62
62
|
end
|
63
63
|
|
64
64
|
MiniProgram::ServiceResult.new(success: true, data: result)
|
@@ -80,7 +80,7 @@ module MiniProgram
|
|
80
80
|
|
81
81
|
result = JSON.parse(response)
|
82
82
|
|
83
|
-
if result["errcode"]
|
83
|
+
if result["errcode"].to_s != "0"
|
84
84
|
logger.error <<~ERROR
|
85
85
|
Get session key failed.
|
86
86
|
api: #{api}
|
@@ -109,10 +109,44 @@ module MiniProgram
|
|
109
109
|
api = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=#{get_token_result["access_token"]}"
|
110
110
|
result = post(api, payload)
|
111
111
|
|
112
|
+
if result["errcode"].to_s != "0"
|
113
|
+
msg_logger.error {"{params: #{payload}, response: #{result}}"}
|
114
|
+
return MiniProgram::ServiceResult.new(success: false, errors: result["errmsg"])
|
115
|
+
end
|
116
|
+
|
112
117
|
msg_logger.info {"{params: #{payload}, response: #{result}}"}
|
113
118
|
MiniProgram::ServiceResult.new(success: true, data: result)
|
114
119
|
end
|
115
120
|
|
121
|
+
# 「发送统一服务消息」
|
122
|
+
# 统一服务消息原本是可以从调用小程序的 api ,通过用户小程序的 openid 发送模板消息到小程序和公众号那里去,
|
123
|
+
# 现在小程序的模板消息功能关闭了,就只剩下发送模板消息到公众号这个功能了
|
124
|
+
#
|
125
|
+
def send_uniform_msg(msg, to: )
|
126
|
+
open_id = to.try(:open_id) || to
|
127
|
+
|
128
|
+
payload = msg.as_json
|
129
|
+
|
130
|
+
get_token_result = get_access_token
|
131
|
+
if get_access_token.failure?
|
132
|
+
return get_token_result
|
133
|
+
end
|
134
|
+
|
135
|
+
api = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=#{get_token_result["access_token"]}"
|
136
|
+
result = post(api, {
|
137
|
+
touser: open_id,
|
138
|
+
mp_template_msg: payload
|
139
|
+
})
|
140
|
+
|
141
|
+
if result["errcode"].to_s != "0"
|
142
|
+
msg_logger.error {"{params: #{payload}, response: #{result}}"}
|
143
|
+
return MiniProgram::ServiceResult.new(success: false, errors: result["errmsg"])
|
144
|
+
end
|
145
|
+
|
146
|
+
msg_logger.info { "{params: #{payload}, response: #{result}}"}
|
147
|
+
MiniProgram::ServiceResult.new(success: true, data: result)
|
148
|
+
end
|
149
|
+
|
116
150
|
# 获取用户手机号
|
117
151
|
def get_phone_num(code:, encrypted_data:, iv:)
|
118
152
|
login_result = login(code)
|
data/lib/mini_program/version.rb
CHANGED
data/lib/service_result.rb
CHANGED
@@ -15,7 +15,7 @@ module MiniProgram
|
|
15
15
|
data: {})
|
16
16
|
self.success = success
|
17
17
|
self.data = (data.presence || {}).with_indifferent_access
|
18
|
-
self.errors = errors.is_a?(
|
18
|
+
self.errors = errors.is_a?(Array) ? errors : [errors]
|
19
19
|
self.message = message
|
20
20
|
self.message_type = message_type
|
21
21
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mini_program
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ian
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|