wechat 0.11.10 → 0.13.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bae019a8d3da8b0f78aba677ba633a46ecebdf975be517f09b5ec82050b2aee9
4
- data.tar.gz: 1bdb9f6dd87d72071071e3ff36d4d6334c0ddb0825d2ef5abe243b6298983ee2
3
+ metadata.gz: ed7044bc35d7f87883a72178ae13ef6888f002f34a5acc9e4b152da00ac5f010
4
+ data.tar.gz: 68e19fa6aa7d53b69399814422f7100697ab2d6101368a3c1aa160c851ccd997
5
5
  SHA512:
6
- metadata.gz: 0c87ecd9b34fc0c34538bd754e6b35e20cc6e87f138b7434fabf92c3f0ec2a0cfbbc44a7d0e7c88fa52237b293f1744408697043c3f7e624e5eba9c871ba2153
7
- data.tar.gz: 8a431320b86e529acd98de9482070052fbeb4dcf80538dc9e0d5c2e6a7507460fa848a0bb0c3692c68c89ef8b7dbd0243ef537442680a678b3e871ff4f4ec40f
6
+ metadata.gz: c4de1c8a6349a6450ac29bffea8d8fe6f2ef84a2df18d116ad1ae232ccc362ec515a7cd7af487c4ca21903626e874b7343082376e4d646b2413d20ff30e93798
7
+ data.tar.gz: '0954063d11eca2a168f8f0033d307be2063573fff0f941a5105259d65aea57e8b5e211910299d260565666e85054c37a7493f0717aeea06bde9c0013cecc21cd'
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,380 +1,12 @@
1
1
  # Changelog
2
2
 
3
- ## v0.11.10 (released at 09/02/2020)
3
+ ## v0.13.1 (released at 3/15/2021)
4
4
 
5
- * ADD: Wechat::MpApi.wxa_msg_sec_check.
5
+ * Fix MpApi initialize bug, by @hardywu #296
6
6
 
7
- ## v0.11.9 (released at 04/29/2020)
7
+ ## v0.13.0 (released at 3/3/2021)
8
8
 
9
- * CHG: upgrade ssl_version to 1.2 by @paicha #276
9
+ * Support zeitwerk only and Rails 6+ only.
10
+ * Support Ruby 2.6+ only.
10
11
 
11
- ## v0.11.8 (released at 03/09/2020)
12
-
13
- * ADD: Wechat::CorpApi.news_message_send
14
- * FIX: Wechat API Change material/get_material. reported by @0000sir #275
15
-
16
- ## v0.11.7 (released at 11/15/2019)
17
-
18
- * ADD: Wechat::MpApi.subscribe_message_send. by @paicha #271
19
- * FIX: FrozenError: can't modify frozen String. by @paicha #272
20
- * New translatecontent support.
21
-
22
- ## v0.11.6 (released at 09/02/2019)
23
-
24
- * Fix private method `next_migration_number` introduced at #267, by @zpdsky #270
25
- * Give more clear warning about missing Rails in console. by @emtfe #268
26
-
27
- ## v0.11.5 (released at 08/30/2019)
28
-
29
- * Add rubocop check in CI by @hophacker #267
30
- * Support Rails 6 and Windows at #266
31
-
32
- ## v0.11.4 (released at 08/15/2019)
33
-
34
- * rails 6 redirect_to use allow_other_host: true by @Chen-George-Zhen #263
35
-
36
- ## v0.11.3 (released at 07/02/2019)
37
-
38
- * New addvoicetorecofortext and queryrecoresultfortext support.
39
- * improve existing class detect by @3014zhangshuo #261
40
- * new wxa_get_wxacode_unlimit API for miniapp by @paicha #260
41
-
42
- ## v0.11.2 (released at 05/08/2019)
43
-
44
- * bugfix short_url to shorturl in wechat console tool by @yuanxinyu #259
45
- * allow a message to be sent to a party (department) by @hophacker #256
46
-
47
- ## v0.11.1 (released at 03/01/2019)
48
-
49
- * Let Message support markdown, text included; allow textcard btntxt to be omitted by @hophacker #251
50
- * Enterprise account add checkin api by @hophacker #254
51
- * Suggest use secret to differentiate different acces_tokens and tickets in Enterprise account by @hophacker #255
52
-
53
-
54
- ## v0.11.0 (released at 01/22/2019)
55
-
56
- * Support Ruby 2.6.0 official
57
- * Bump http gem to 4.0
58
- * New clear quota API by @3014zhangshuo #244
59
- * Wechat::Message support textcard by @hophacker #249
60
- * New getusersummary and getusercumulate API #247
61
-
62
- ## v0.10.3 (released at 10/07/2018)
63
-
64
- * Fix new share problem in iOS by @killernova #242
65
-
66
- ## v0.10.2 (released at 8/27/2018)
67
-
68
- * Fix incompatible with Rails 5.2.1 by @chloerei #239
69
-
70
- ## v0.10.1 (released at 7/1/2018)
71
-
72
- * Allow custom_message_send using Hash as message, previous only allow Wechat::Message. by @zuoliang0 and @fogisland #234
73
-
74
- ## v0.10.0 (released at 5/31/2018)
75
-
76
- * Support multi wechat account at wechat_responder. by @tuliren #223
77
- * Support wechat mini program apis & signature check. by @oiahoon #225
78
- * Support sent template message with miniprogram. by @falm #228
79
- * Fix request_content could be nil. by @paicha #229
80
-
81
- ## v0.9.0 (released at 4/15/2018)
82
-
83
- * Support multi wechat account dynamically loading from DB. by @tuliren #222
84
- * user_create API for enterprise account. #206
85
- * Will ignore template_message_send error 43004 by @insub #214
86
- * using template with version if the migration version available by @killernova #220
87
- * Remove Deprecation oauth2_url
88
- * Remove Ruby 2.2 support, add Rails 5.2 and http v3 support
89
-
90
- ## v0.8.12 (released at 9/13/2017)
91
-
92
- * Read oauth2_state from ticket store every time to avoid invalid oauth2_state by @xiewenwei #196
93
-
94
- ## v0.8.11 (released at 7/25/2017)
95
-
96
- * oauth2 state code not refresh at the same time of jsapi tickets refresh bug, many thanks @xiewenwei #192
97
- * Add string type scene support for qrcode_create_scene. by @libuchao #191
98
-
99
- ## v0.8.10 (released at 6/19/2017)
100
-
101
- * fix material_delete correctly.
102
-
103
- ## v0.8.9 (released at 6/18/2017)
104
-
105
- * wechat material_delete failed to work, thanks @Victorialice report #78
106
-
107
- ## v0.8.8 (released at 5/18/2017)
108
-
109
- * Better support multiple account. by @xiewenwei #187
110
- * Allow load figaro via RAILS_ENV. by @goofansu #186
111
-
112
- ## v0.8.7 (released at 4/23/2017)
113
-
114
- * Support new wxa_get_wxacode API for miniapp.
115
- * Add InvalidCredentialError, support audio/amr, voice/speex as file and text/plain as json. by @acenqiu #184
116
-
117
- ## v0.8.6 (released at 3/17/2017)
118
-
119
- * Support Rails 5.1 officially.
120
- * make sure the formfile can be created outside. by @mechiland #181
121
-
122
- ## v0.8.5 (released at 3/14/2017)
123
-
124
- * Support mass send API #176
125
- * Support new media_hq API
126
- * Support new createwxaqrcode API for miniapp
127
- * Fix wechat_responder not proper injected in rails 5 API #165
128
- * parse response support XML return, by @zhangbin #167
129
- * WeChat only allow 8 article per one news, by @kikyous #175
130
- * Store token at cookies, by @jstdoit #174
131
-
132
- ## v0.8.4 (released at 1/12/2017)
133
-
134
- * Support Ruby 2.4.0
135
- * Add support of Enterprise RedPacket API, by @zhangbin #169
136
-
137
- ## v0.8.3 (released at 11/26/2016)
138
-
139
- * Fix wechat template key has camelCase problem, by @RyanChenDji #159
140
- * Fix long time of oauth2_state bug for wechat_oauth2 methods, by @IvanChou #162
141
-
142
- ## v0.8.2 (released at 11/2/2016)
143
-
144
- * Bug which if not using multi-account but using web login.
145
-
146
- ## v0.8.1 (released at 11/2/2016)
147
-
148
- * After allow sub controller using wechat_api, it's possible not initialise at first time. by @IvanChou #155
149
- * Support web application login scope snsapi_login.
150
- * Add unionid support for public account.
151
- * Remove OpenId in Enterprise OAuth2 as it's not supported by Tecent.
152
-
153
- ## v0.8.0 (released at 10/24/2016)
154
-
155
- * Complete support multi-wechat public account. by @xiewenwei #150
156
- * Support loading configure value from Figaro if application.yml exist.
157
-
158
- ## v0.7.20 (released at 8/29/2016)
159
-
160
- * Apply opt and config together when loading controller_wechat, to simplify wechat_responder params. by @bzhang443 #147
161
-
162
- ## v0.7.19 (released at 8/25/2016)
163
-
164
- * Enterprise account now custom_image/voice/file works now. by @zymiboxpay #145
165
- * Fix timeout setting no effective since introduct HTTP. found by @hsluo #74
166
-
167
- ## v0.7.18 (released at 8/21/2016)
168
-
169
- * Support label_location message, similar to location event, but sent by user with Label. #144
170
- * Add gem signature as additional security methods.
171
-
172
- ## v0.7.17 (released at 8/18/2016)
173
-
174
- * Allow declare wechat_api at ApplicationController, but using wechat at sub controller. #104
175
-
176
- ## v0.7.16 (released at 7/27/2016)
177
-
178
- * FIX: consider '' in params as equal with nil, in ControllerApi#wechat_public_oauth2, by @snow #135
179
- * New tag API for public account, by @pynixwang #127
180
- * fix SSLv3 error by use TLSv1_client, by @IvanChou #133
181
-
182
- ## v0.7.15 (released at 7/03/2016)
183
-
184
- * RSpec testing case on Rails 5 now.
185
- * Resolve Rails 5 ActionController::Parameters issue.
186
-
187
- ## v0.7.14 (released at 5/29/2016)
188
-
189
- * Fix when access_token failed lead ticket can not refresh problem.
190
- * Default duration should be 1 hours instead of 0 seconds for wechat_oauth2.
191
- * New shorturl allowing convert from long URL to short.
192
-
193
- ## v0.7.13 (released at 5/14/2016)
194
-
195
- * Wechat.config.oauth2_cookie_duration need convert to secondes, found by @gabrieltong #111
196
-
197
- ## v0.7.12 (released at 5/12/2016)
198
-
199
- * Fix web_userinfo wrong URL, found by @gabrieltong #110
200
-
201
- ## v0.7.11 (released at 4/18/2016)
202
-
203
- * To cover wrong release 0.7.10, nothing change
204
-
205
- ## v0.7.10 (released at 4/18/2016) (yanked)
206
-
207
- ## v0.7.9 (released at 4/12/2016)
208
-
209
- * wechat_oauth2 support public account now.
210
- * Refresh and store state on jsapi ticket, using it on oauth2_url to more secure.
211
- * Remove extra sending payload in message template send json
212
- * Allow setting oauth2_cookie_duration in config
213
-
214
- ## v0.7.8 (released at 3/31/2016)
215
-
216
- * New wechat_api, similar to wechat_responder, but without messange handle DSL, support web page only wechat application
217
- * New media_uploadimg API.
218
- * New file type of Message.
219
- * Improved multi account support per different controller.
220
-
221
- ## v0.7.7 (released at 3/18/2016)
222
-
223
- * New wechat_oauth2, only support enterprise account still.
224
- * fix 'skip_before_action :verify_authenticity_token' bug for v5.0.0.beta3 by @vkill #97
225
- * Support Rails 3.2 again after support Rails 5.0, by @guange2015 #96
226
-
227
- ## v0.7.6 (released at 3/05/2016)
228
-
229
- * Support wechat public account conditional menu. #95
230
-
231
- ## v0.7.5 (released at 2/21/2016)
232
-
233
- * New wechat_config_js to simplify the Wechat jsapi config.
234
- * Support sent shortvideo.
235
-
236
- ## v0.7.4 (released at 1/23/2016)
237
-
238
- * Add Redis store token/ticket support, close #76, #60
239
- * Rails 5 support without deprecate warning or other not necessory call. #82
240
-
241
- ## v0.7.3 (released at 1/19/2016)
242
-
243
- * Allow transfer_customer_service to specific account.
244
- * New customservice_getonlinekflist API.
245
- * session support class WechatSession no need table_exists? methods exist.
246
-
247
- ## v0.7.2 (released at 1/18/2016)
248
-
249
- * Optional session support by @zfben #81, #88, #91
250
- * Replace after_wechat_response with Rails Nofications facility, by @zfben, original issue is #79
251
- * New user_batchget API. #89
252
- * Support Rails 3.2 again after support Rails 5.0. by @guange2015 #87
253
- * Fetch setting from RAILS_ENV first, then fetch default. by @kikyous #85
254
- * Warning not support on :scan with regular expression, reason see #84
255
-
256
- ## v0.7.1 (released at 1/11/2016)
257
-
258
- * Fix after using http, upload file function break. #78
259
- * Add callback function after_wechat_response support. by @zfben #79
260
- * Should using department_id instead of departmentid at enterprise api: user_simplelist/user_list.
261
-
262
- ## v0.7.0 (released at 1/1/2016)
263
-
264
- * Using [http](https://github.com/httprb/http) instead of rest-client for performance reason. (not support upload file yet)
265
-
266
- ## v0.6.10 (released at 1/17/2016)
267
-
268
- * Support Rails 3.2 again after support Rails 5.0. by @guange2015 #87
269
- * Fetch setting from RAILS_ENV first, then fetch default. by @kikyous #85
270
- * Warning not support on :scan with regular expression. by @kikyous #84
271
-
272
- ## v0.6.9 (released at 1/6/2016)
273
-
274
- * Fix token refresh bug on multi worker. #76
275
- * Rewrite the token relative code to add more storage support in future.
276
-
277
- ## v0.6.8 (released at 12/25/2015)
278
-
279
- * Support Rails 5.0.0.beta1.
280
- * English README available
281
- * Fix oauth2_url calling error, fix #75
282
-
283
- ## v0.6.7 (released at 12/18/2015)
284
-
285
- * Add timeout configuration option, close #74
286
- * New getuserinfo and oauth2_url to support getting FromUserName from web page.
287
-
288
- ## v0.6.6 (released at 12/15/2015)
289
-
290
- * Add jsapi_ticket support for Enterprise Account
291
- * Default generated WechatsController < ActionController::Base, as many Rails application may having #authenticate_user or #set_current_user in ApplicationController, so easily affect the first time using experience.
292
- * New syntax `on :view, with: 'VIEW_URL'` support.
293
- * New command `upload_replaceparty` which combine three sub command to make uploading department easier.
294
- * New command `upload_replaceuser` which combine three sub command to make uploading user easier.
295
-
296
- ## v0.6.5 (released at 11/24/2015)
297
-
298
- * Handle 48001 error if token is expire/not valid, close #71
299
- * ApiLoader will do config reading and initialize the api instead of spreading the logic.
300
-
301
- ## v0.6.4 (released at 11/16/2015)
302
-
303
- * Command mode now display different command set based on enterprise/public account setting
304
- * Move config logic in command/wechat to ApiLoader class
305
- * Unsubscribe can only reply plain text 'success' #68
306
- * Fix 404 qrcode download problem, by @huangxiangdan #69
307
-
308
- ## v0.6.3 (released at 11/14/2015)
309
-
310
- * Official testing and support public encrypt mode, also fix one cipher bug, many thanks to @hlltc #67
311
- * hlltc report public account FILE_BASE no longer needs, clean code #67
312
- * Media command line reflect recent Tecent json schema change. #67
313
-
314
- ## v0.6.2 (released at 11/05/2015)
315
-
316
- * Tecent report location API changed, so change wechat gems also. #64
317
-
318
- ## v0.6.1 (released at 10/20/2015)
319
-
320
- * Handle 40001, invalid credential, access_token is invalid or not latest hint # 57
321
- * Support at Rails 4.2.1 wechat can not run #58
322
-
323
- ## v0.6.0 (released at 10/08/2015)
324
-
325
- ### Scan and Batch job are BREAK CHANGE!
326
-
327
- * Scan 2D barcode using new syntax `on :scan, with: 'BINDING_QR_CODE' ` instead of `on :event, with: 'BINDING_QR_CODE' ` in previous version #55
328
- Which will fix can not using `on :event, with: "scan" ` problem
329
- * Batch job using new syntax `on :batch_job, with: 'replace_user' `
330
- instead of previous `on :event, with: 'replace_user' `.
331
- * Click menu support new syntax `on :click, with: 'BOOK_LUNCH' `, but `on :event, with: 'BOOK_LUNCH' ` still supported. perfer `on :click` because it running faster and more nature expression.
332
- * Wechat::Responder using Hash for new :client and :batch_job event, avoid time consuming Array match responder
333
- * Fix refresh token not working problem under ruby 2.0.0 #54
334
- * New department_update, user_batchdelete, convert_to_openid API
335
-
336
- ## v0.5.0 (released at 9/25/2015)
337
-
338
- * Only relay on activesupport on run time, so will greatly improve wechat cli startup time
339
- * Add rails generator support `rails g wechat:install`
340
- * Add batch job support for enterprise account like batch create user/department, both API, callback responder and CLI
341
- * Add material management API and CLI
342
- * Add tag API and CLI for enterprise account
343
- * Add QR code scene function for public account
344
-
345
- ## v0.4.2 (released at 9/7/2015)
346
-
347
- * Fix wrong number of arguments at Wechat::Responder.on by using arity #47
348
- * Fix can not access wechat method after using instance level context.
349
- * Fix skip_verify_ssl parameter error.
350
-
351
- ## v0.4.1 (released at 9/6/2015)
352
-
353
- * Limit news articles collection to 10, close #5
354
- * Resolve the conflict with gem "responders" by @seamon #45
355
-
356
- ## v0.4.0 (released at 9/5/2015)
357
-
358
- * Enable the verify SSL for enterprise mode by default, as security is more importent than speed, but still can switch off by configure
359
- * Support scancode_push/scancode_waitmsg event.
360
- * New API method can get wechat server IP list
361
- * New API to query/create department/media/material
362
- * Fix can not read token_file in mingw bug, which introduce at #43
363
-
364
- ## v0.3.0 (released at 8/30/2015)
365
-
366
- * New user group management API
367
- * Allow transfer to customer service on fallback. #42
368
- * Read and write access_token properly using file locking, #43
369
-
370
- ## v0.2.0 (released at 8/27/2015)
371
-
372
- * Add wechat enterprise account support
373
- * Make responder execute in action context, by @lazing #15
374
- * jsapi_ticket support, by @feitian124 #27
375
- * Rename gems to wechat and ambitious to being #1 gems about development wechat. thanks Xiaoning transfer this gem name.
376
- * Original gem `wechat-rails` author skinnyworm trasfer to Eric-Guo as maintainer
377
-
378
- ## v0.1.1
379
-
380
- * Initial release from [wechat-rails](https://github.com/skinnyworm/wechat-rails).
12
+ Previous changelog see https://github.com/Eric-Guo/wechat/blob/master/CHANGELOG_OLD.md
data/README-CN.md CHANGED
@@ -1,4 +1,4 @@
1
- WeChat [![Gem Version](https://badge.fury.io/rb/wechat.svg)](https://rubygems.org/gems/wechat) [![Build Status](https://travis-ci.org/Eric-Guo/wechat.svg)](https://travis-ci.org/Eric-Guo/wechat) [![Maintainability](https://api.codeclimate.com/v1/badges/12885358487c13e91e00/maintainability)](https://codeclimate.com/github/Eric-Guo/wechat/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/12885358487c13e91e00/test_coverage)](https://codeclimate.com/github/Eric-Guo/wechat/test_coverage)
1
+ WeChat [![Gem Version](https://badge.fury.io/rb/wechat.svg)](https://rubygems.org/gems/wechat) [![Build Status](https://travis-ci.com/Eric-Guo/wechat.svg)](https://travis-ci.com/github/Eric-Guo/wechat) [![Maintainability](https://api.codeclimate.com/v1/badges/12885358487c13e91e00/maintainability)](https://codeclimate.com/github/Eric-Guo/wechat/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/12885358487c13e91e00/test_coverage)](https://codeclimate.com/github/Eric-Guo/wechat/test_coverage)
2
2
  ======
3
3
 
4
4
  [![Join the chat](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Eric-Guo/wechat?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
@@ -27,12 +27,16 @@ WeChat gem帮助开发者方便地在Rails环境中集成[微信公众平台](ht
27
27
 
28
28
  ```
29
29
  gem install "wechat"
30
+ # 如果使用 Ruby 版本小于 2.6
31
+ # gem install wechat -v 0.12.2
30
32
  ```
31
33
 
32
34
  或者添加下面这行到 `Gemfile`:
33
35
 
34
36
  ```
35
37
  gem 'wechat'
38
+ # 如果使用 Rails 版本小于 6
39
+ # gem 'wechat', '~> 0.12.2'
36
40
  ```
37
41
 
38
42
  运行下面这行代码来安装:
@@ -416,6 +420,7 @@ Wechat Enterprise Account commands:
416
420
  wechat callbackip # 获取微信服务器IP地址
417
421
  wechat clear_quota # 接口调用次数清零
418
422
  wechat convert_to_openid [USER_ID] # userid转换成openid
423
+ wechat convert_to_userid [OPENID] # openid转换成userid
419
424
  wechat custom_image [OPENID, IMAGE_PATH] # 发送图片客服消息
420
425
  wechat custom_music [OPENID, THUMBNAIL_PATH, MUSIC_URL] # 发送音乐客服消息
421
426
  wechat custom_news [OPENID, NEWS_YAML_PATH] # 发送图文客服消息
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- WeChat [![Gem Version](https://badge.fury.io/rb/wechat.svg)](https://rubygems.org/gems/wechat) [![Build Status](https://travis-ci.org/Eric-Guo/wechat.svg)](https://travis-ci.org/Eric-Guo/wechat) [![Maintainability](https://api.codeclimate.com/v1/badges/12885358487c13e91e00/maintainability)](https://codeclimate.com/github/Eric-Guo/wechat/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/12885358487c13e91e00/test_coverage)](https://codeclimate.com/github/Eric-Guo/wechat/test_coverage)
1
+ WeChat [![Gem Version](https://badge.fury.io/rb/wechat.svg)](https://rubygems.org/gems/wechat) [![Build Status](https://travis-ci.com/Eric-Guo/wechat.svg)](https://travis-ci.com/github/Eric-Guo/wechat) [![Maintainability](https://api.codeclimate.com/v1/badges/12885358487c13e91e00/maintainability)](https://codeclimate.com/github/Eric-Guo/wechat/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/12885358487c13e91e00/test_coverage)](https://codeclimate.com/github/Eric-Guo/wechat/test_coverage)
2
2
  ======
3
3
 
4
4
  [![Join the chat](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Eric-Guo/wechat?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
@@ -34,12 +34,16 @@ Use `gem install`
34
34
 
35
35
  ```
36
36
  gem install "wechat"
37
+ # If your ruby version < 2.6
38
+ # gem install wechat -v 0.12.2
37
39
  ```
38
40
 
39
41
  Or add it to your app's `Gemfile`:
40
42
 
41
43
  ```
42
44
  gem 'wechat'
45
+ # If your rails version < 6.0
46
+ # gem 'wechat', '~> 0.12.2'
43
47
  ```
44
48
 
45
49
  Run the following command to install it:
@@ -448,6 +452,7 @@ Wechat Enterprise Account commands:
448
452
  wechat callbackip # 获取微信服务器IP地址
449
453
  wechat clear_quota # 接口调用次数清零
450
454
  wechat convert_to_openid [USER_ID] # userid转换成openid
455
+ wechat convert_to_userid [OPENID] # openid转换成userid
451
456
  wechat custom_image [OPENID, IMAGE_PATH] # 发送图片客服消息
452
457
  wechat custom_music [OPENID, THUMBNAIL_PATH, MUSIC_URL] # 发送音乐客服消息
453
458
  wechat custom_news [OPENID, NEWS_YAML_PATH] # 发送图文客服消息