mini_program 0.3.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|