wechat 0.8.10 → 0.8.11

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
  SHA1:
3
- metadata.gz: a12f3c7cac1c1ecc47d7d66ebf89e083e0d2e308
4
- data.tar.gz: eaa9a25f7980643bab437f4366bbda4cf1ed9aba
3
+ metadata.gz: 286b9044ac0251344656ec83b579f90ee2c7f87c
4
+ data.tar.gz: 0cca2037ba22fdeaa014ff5ba22bacf9f1de8c69
5
5
  SHA512:
6
- metadata.gz: 491a76db8ab9c5b127e0bdd2ac7662c46b25efbf1bb9509b9918b2c57c08f836364b682baedf911064b0e9b7935ca18a9118c967c02ca1cfb822846e0ccb906e
7
- data.tar.gz: a491da600c7fac7c9acf320b6726ced8f3e8e64560a3e8653bf4ba6224d3f9f48d6f1e9f4ba7c8091fbdc38aa7a5e166a713a14a4dff1678c391a5e7d29cd7e9
6
+ metadata.gz: 96bfbb1119ac71a13bc6ee8cfca78fc8222ef0f4f16c559a7298c8707071c95d52fc52a751297e6d9606a7eac7b8a45501a099b6c09bc74b5ecf2897667b3305
7
+ data.tar.gz: ad6e1808cb90c14b1856529e2a8bb0a560bffc2a907f7c4f5167d0e75a4bf998e0c8a0f1e63eff14a78160f288836daa03b9710d08531f9bbec0dfed42db5307
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## v0.8.11 (released at 7/25/2017)
4
+
5
+ * oauth2 state code not refresh at the same time of jsapi tickets refresh bug, many thanks @xiewenwei #192
6
+ * Add string type scene support for qrcode_create_scene. by @libuchao #191
7
+
3
8
  ## v0.8.10 (released at 6/19/2017)
4
9
 
5
10
  * fix material_delete correctly.
@@ -290,115 +290,115 @@ wechat gems 内部不会检查权限。但因公众号类型不同,和微信
290
290
  ```
291
291
  $ wechat
292
292
  Wechat Public Account commands:
293
- wechat callbackip # 获取微信服务器IP地址
294
- wechat custom_image [OPENID, IMAGE_PATH] # 发送图片客服消息
295
- wechat custom_music [OPENID, THUMBNAIL_PATH, MUSIC_URL] # 发送音乐客服消息
296
- wechat custom_news [OPENID, NEWS_YAML_PATH] # 发送图文客服消息
297
- wechat custom_text [OPENID, TEXT_MESSAGE] # 发送文字客服消息
298
- wechat custom_video [OPENID, VIDEO_PATH] # 发送视频客服消息
299
- wechat custom_voice [OPENID, VOICE_PATH] # 发送语音客服消息
300
- wechat customservice_getonlinekflist # 获取在线客服接待信息
301
- wechat group_create [GROUP_NAME] # 创建分组
302
- wechat group_delete [GROUP_ID] # 删除分组
303
- wechat group_update [GROUP_ID, NEW_GROUP_NAME] # 修改分组名
304
- wechat groups # 查询所有分组
305
- wechat material [MEDIA_ID, PATH] # 永久媒体下载
306
- wechat material_add [MEDIA_TYPE, PATH] # 永久媒体上传
307
- wechat material_count # 获取永久素材总数
308
- wechat material_delete [MEDIA_ID] # 删除永久素材
309
- wechat material_list [TYPE, OFFSET, COUNT] # 获取永久素材列表
310
- wechat media [MEDIA_ID, PATH] # 媒体下载
311
- wechat media_hq [MEDIA_ID, PATH] # 高清音频下载
312
- wechat media_create [MEDIA_TYPE, PATH] # 媒体上传
313
- wechat media_uploadimg [IMAGE_PATH] # 上传图文消息内的图片
314
- wechat media_uploadnews [MPNEWS_YAML_PATH] # 上传图文消息素材
315
- wechat menu # 当前菜单
316
- wechat menu_addconditional [CONDITIONAL_MENU_YAML_PATH] # 创建个性化菜单
317
- wechat menu_create [MENU_YAML_PATH] # 创建菜单
318
- wechat menu_delconditional [MENU_ID] # 删除个性化菜单
319
- wechat menu_delete # 删除菜单
320
- wechat menu_trymatch [USER_ID] # 测试个性化菜单匹配结果
321
- wechat message_mass_delete [MSG_ID] # 删除群发消息
322
- wechat message_mass_get [MSG_ID] # 查询群发消息发送状态
323
- wechat message_mass_preview [WX_NAME, MPNEWS_MEDIA_ID] # 预览图文消息素材
324
- wechat qrcode_create_limit_scene [SCENE_ID_OR_STR] # 请求永久二维码
325
- wechat qrcode_create_scene [SCENE_ID, EXPIRE_SECONDS] # 请求临时二维码
326
- wechat qrcode_download [TICKET, QR_CODE_PIC_PATH] # 通过ticket下载二维码
327
- wechat short_url [LONG_URL] # 长链接转短链接
328
- wechat tag [TAGID] # 获取标签下粉丝列表
329
- wechat tag_add_user [TAG_ID, OPEN_IDS] # 批量为用户打标签
330
- wechat tag_create [TAGNAME, TAG_ID] # 创建标签
331
- wechat tag_del_user [TAG_ID, OPEN_IDS] # 批量为用户取消标签
332
- wechat tag_delete [TAG_ID] # 删除标签
333
- wechat tag_update [TAG_ID, TAGNAME] # 更新标签名字
334
- wechat tags # 获取所有标签
335
- wechat template_message [OPENID, TEMPLATE_YAML_PATH] # 模板消息接口
336
- wechat user [OPEN_ID] # 获取用户基本信息
337
- wechat user_batchget [OPEN_ID_LIST] # 批量获取用户基本信息
338
- wechat user_change_group [OPEN_ID, TO_GROUP_ID] # 移动用户分组
339
- wechat user_group [OPEN_ID] # 查询用户所在分组
340
- wechat user_update_remark [OPEN_ID, REMARK] # 设置备注名
341
- wechat users # 关注者列表
342
- wechat wxacode_download [WXA_CODE_PIC_PATH, PATH, WIDTH] # 下载小程序码
293
+ wechat callbackip # 获取微信服务器IP地址
294
+ wechat custom_image [OPENID, IMAGE_PATH] # 发送图片客服消息
295
+ wechat custom_music [OPENID, THUMBNAIL_PATH, MUSIC_URL] # 发送音乐客服消息
296
+ wechat custom_news [OPENID, NEWS_YAML_PATH] # 发送图文客服消息
297
+ wechat custom_text [OPENID, TEXT_MESSAGE] # 发送文字客服消息
298
+ wechat custom_video [OPENID, VIDEO_PATH] # 发送视频客服消息
299
+ wechat custom_voice [OPENID, VOICE_PATH] # 发送语音客服消息
300
+ wechat customservice_getonlinekflist # 获取在线客服接待信息
301
+ wechat group_create [GROUP_NAME] # 创建分组
302
+ wechat group_delete [GROUP_ID] # 删除分组
303
+ wechat group_update [GROUP_ID, NEW_GROUP_NAME] # 修改分组名
304
+ wechat groups # 查询所有分组
305
+ wechat material [MEDIA_ID, PATH] # 永久媒体下载
306
+ wechat material_add [MEDIA_TYPE, PATH] # 永久媒体上传
307
+ wechat material_count # 获取永久素材总数
308
+ wechat material_delete [MEDIA_ID] # 删除永久素材
309
+ wechat material_list [TYPE, OFFSET, COUNT] # 获取永久素材列表
310
+ wechat media [MEDIA_ID, PATH] # 媒体下载
311
+ wechat media_hq [MEDIA_ID, PATH] # 高清音频下载
312
+ wechat media_create [MEDIA_TYPE, PATH] # 媒体上传
313
+ wechat media_uploadimg [IMAGE_PATH] # 上传图文消息内的图片
314
+ wechat media_uploadnews [MPNEWS_YAML_PATH] # 上传图文消息素材
315
+ wechat menu # 当前菜单
316
+ wechat menu_addconditional [CONDITIONAL_MENU_YAML_PATH] # 创建个性化菜单
317
+ wechat menu_create [MENU_YAML_PATH] # 创建菜单
318
+ wechat menu_delconditional [MENU_ID] # 删除个性化菜单
319
+ wechat menu_delete # 删除菜单
320
+ wechat menu_trymatch [USER_ID] # 测试个性化菜单匹配结果
321
+ wechat message_mass_delete [MSG_ID] # 删除群发消息
322
+ wechat message_mass_get [MSG_ID] # 查询群发消息发送状态
323
+ wechat message_mass_preview [WX_NAME, MPNEWS_MEDIA_ID] # 预览图文消息素材
324
+ wechat qrcode_create_limit_scene [SCENE_ID_OR_STR] # 请求永久二维码
325
+ wechat qrcode_create_scene [SCENE_ID_OR_STR, EXPIRE_SECONDS] # 请求临时二维码
326
+ wechat qrcode_download [TICKET, QR_CODE_PIC_PATH] # 通过ticket下载二维码
327
+ wechat short_url [LONG_URL] # 长链接转短链接
328
+ wechat tag [TAGID] # 获取标签下粉丝列表
329
+ wechat tag_add_user [TAG_ID, OPEN_IDS] # 批量为用户打标签
330
+ wechat tag_create [TAGNAME, TAG_ID] # 创建标签
331
+ wechat tag_del_user [TAG_ID, OPEN_IDS] # 批量为用户取消标签
332
+ wechat tag_delete [TAG_ID] # 删除标签
333
+ wechat tag_update [TAG_ID, TAGNAME] # 更新标签名字
334
+ wechat tags # 获取所有标签
335
+ wechat template_message [OPENID, TEMPLATE_YAML_PATH] # 模板消息接口
336
+ wechat user [OPEN_ID] # 获取用户基本信息
337
+ wechat user_batchget [OPEN_ID_LIST] # 批量获取用户基本信息
338
+ wechat user_change_group [OPEN_ID, TO_GROUP_ID] # 移动用户分组
339
+ wechat user_group [OPEN_ID] # 查询用户所在分组
340
+ wechat user_update_remark [OPEN_ID, REMARK] # 设置备注名
341
+ wechat users # 关注者列表
342
+ wechat wxacode_download [WXA_CODE_PIC_PATH, PATH, WIDTH] # 下载小程序码
343
343
  ```
344
344
 
345
345
  #### 企业号命令行
346
346
  ```
347
347
  $ wechat
348
348
  Wechat Enterprise Account commands:
349
- wechat agent [AGENT_ID] # 获取企业号应用详情
350
- wechat agent_list # 获取应用概况列表
351
- wechat batch_job_result [JOB_ID] # 获取异步任务结果
352
- wechat batch_replaceparty [BATCH_PARTY_CSV_MEDIA_ID] # 全量覆盖部门
353
- wechat batch_replaceuser [BATCH_USER_CSV_MEDIA_ID] # 全量覆盖成员
354
- wechat batch_syncuser [SYNC_USER_CSV_MEDIA_ID] # 增量更新成员
355
- wechat callbackip # 获取微信服务器IP地址
356
- wechat convert_to_openid [USER_ID] # userid转换成openid
357
- wechat custom_image [OPENID, IMAGE_PATH] # 发送图片客服消息
358
- wechat custom_music [OPENID, THUMBNAIL_PATH, MUSIC_URL] # 发送音乐客服消息
359
- wechat custom_news [OPENID, NEWS_YAML_PATH] # 发送图文客服消息
360
- wechat custom_text [OPENID, TEXT_MESSAGE] # 发送文字客服消息
361
- wechat custom_video [OPENID, VIDEO_PATH] # 发送视频客服消息
362
- wechat custom_voice [OPENID, VOICE_PATH] # 发送语音客服消息
363
- wechat department [DEPARTMENT_ID] # 获取部门列表
364
- wechat department_create [NAME, PARENT_ID] # 创建部门
365
- wechat department_delete [DEPARTMENT_ID] # 删除部门
366
- wechat department_update [DEPARTMENT_ID, NAME] # 更新部门
367
- wechat invite_user [USER_ID] # 邀请成员关注
368
- wechat material [MEDIA_ID, PATH] # 永久媒体下载
369
- wechat material_add [MEDIA_TYPE, PATH] # 永久媒体上传
370
- wechat material_count # 获取永久素材总数
371
- wechat material_delete [MEDIA_ID] # 删除永久素材
372
- wechat material_list [TYPE, OFFSET, COUNT] # 获取永久素材列表
373
- wechat media [MEDIA_ID, PATH] # 媒体下载
374
- wechat media_create [MEDIA_TYPE, PATH] # 媒体上传
375
- wechat media_uploadimg [IMAGE_PATH] # 上传图文消息内的图片
376
- wechat menu # 当前菜单
377
- wechat menu_addconditional [CONDITIONAL_MENU_YAML_PATH] # 创建个性化菜单
378
- wechat menu_create [MENU_YAML_PATH] # 创建菜单
379
- wechat menu_delconditional [MENU_ID] # 删除个性化菜单
380
- wechat menu_delete # 删除菜单
381
- wechat menu_trymatch [USER_ID] # 测试个性化菜单匹配结果
382
- wechat message_send [OPENID, TEXT_MESSAGE] # 发送文字消息
383
- wechat qrcode_download [TICKET, QR_CODE_PIC_PATH] # 通过ticket下载二维码
384
- wechat tag [TAG_ID] # 获取标签成员
385
- wechat tag_add_department [TAG_ID, PARTY_IDS] # 增加标签部门
386
- wechat tag_add_user [TAG_ID, USER_IDS] # 增加标签成员
387
- wechat tag_create [TAGNAME, TAG_ID] # 创建标签
388
- wechat tag_del_department [TAG_ID, PARTY_IDS] # 删除标签部门
389
- wechat tag_del_user [TAG_ID, USER_IDS] # 删除标签成员
390
- wechat tag_delete [TAG_ID] # 删除标签
391
- wechat tag_update [TAG_ID, TAGNAME] # 更新标签名字
392
- wechat tags # 获取所有标签
393
- wechat template_message [OPENID, TEMPLATE_YAML_PATH] # 模板消息接口
394
- wechat upload_replaceparty [BATCH_PARTY_CSV_PATH] # 上传文件方式全量覆盖部门
395
- wechat upload_replaceuser [BATCH_USER_CSV_PATH] # 上传文件方式全量覆盖成员
396
- wechat user [OPEN_ID] # 获取用户基本信息
397
- wechat user_batchdelete [USER_ID_LIST] # 批量删除成员
398
- wechat user_delete [USER_ID] # 删除成员
399
- wechat user_list [DEPARTMENT_ID] # 获取部门成员详情
400
- wechat user_simplelist [DEPARTMENT_ID] # 获取部门成员
401
- wechat user_update_remark [OPEN_ID, REMARK] # 设置备注名
349
+ wechat agent [AGENT_ID] # 获取企业号应用详情
350
+ wechat agent_list # 获取应用概况列表
351
+ wechat batch_job_result [JOB_ID] # 获取异步任务结果
352
+ wechat batch_replaceparty [BATCH_PARTY_CSV_MEDIA_ID] # 全量覆盖部门
353
+ wechat batch_replaceuser [BATCH_USER_CSV_MEDIA_ID] # 全量覆盖成员
354
+ wechat batch_syncuser [SYNC_USER_CSV_MEDIA_ID] # 增量更新成员
355
+ wechat callbackip # 获取微信服务器IP地址
356
+ wechat convert_to_openid [USER_ID] # userid转换成openid
357
+ wechat custom_image [OPENID, IMAGE_PATH] # 发送图片客服消息
358
+ wechat custom_music [OPENID, THUMBNAIL_PATH, MUSIC_URL] # 发送音乐客服消息
359
+ wechat custom_news [OPENID, NEWS_YAML_PATH] # 发送图文客服消息
360
+ wechat custom_text [OPENID, TEXT_MESSAGE] # 发送文字客服消息
361
+ wechat custom_video [OPENID, VIDEO_PATH] # 发送视频客服消息
362
+ wechat custom_voice [OPENID, VOICE_PATH] # 发送语音客服消息
363
+ wechat department [DEPARTMENT_ID] # 获取部门列表
364
+ wechat department_create [NAME, PARENT_ID] # 创建部门
365
+ wechat department_delete [DEPARTMENT_ID] # 删除部门
366
+ wechat department_update [DEPARTMENT_ID, NAME] # 更新部门
367
+ wechat invite_user [USER_ID] # 邀请成员关注
368
+ wechat material [MEDIA_ID, PATH] # 永久媒体下载
369
+ wechat material_add [MEDIA_TYPE, PATH] # 永久媒体上传
370
+ wechat material_count # 获取永久素材总数
371
+ wechat material_delete [MEDIA_ID] # 删除永久素材
372
+ wechat material_list [TYPE, OFFSET, COUNT] # 获取永久素材列表
373
+ wechat media [MEDIA_ID, PATH] # 媒体下载
374
+ wechat media_create [MEDIA_TYPE, PATH] # 媒体上传
375
+ wechat media_uploadimg [IMAGE_PATH] # 上传图文消息内的图片
376
+ wechat menu # 当前菜单
377
+ wechat menu_addconditional [CONDITIONAL_MENU_YAML_PATH] # 创建个性化菜单
378
+ wechat menu_create [MENU_YAML_PATH] # 创建菜单
379
+ wechat menu_delconditional [MENU_ID] # 删除个性化菜单
380
+ wechat menu_delete # 删除菜单
381
+ wechat menu_trymatch [USER_ID] # 测试个性化菜单匹配结果
382
+ wechat message_send [OPENID, TEXT_MESSAGE] # 发送文字消息
383
+ wechat qrcode_download [TICKET, QR_CODE_PIC_PATH] # 通过ticket下载二维码
384
+ wechat tag [TAG_ID] # 获取标签成员
385
+ wechat tag_add_department [TAG_ID, PARTY_IDS] # 增加标签部门
386
+ wechat tag_add_user [TAG_ID, USER_IDS] # 增加标签成员
387
+ wechat tag_create [TAGNAME, TAG_ID] # 创建标签
388
+ wechat tag_del_department [TAG_ID, PARTY_IDS] # 删除标签部门
389
+ wechat tag_del_user [TAG_ID, USER_IDS] # 删除标签成员
390
+ wechat tag_delete [TAG_ID] # 删除标签
391
+ wechat tag_update [TAG_ID, TAGNAME] # 更新标签名字
392
+ wechat tags # 获取所有标签
393
+ wechat template_message [OPENID, TEMPLATE_YAML_PATH] # 模板消息接口
394
+ wechat upload_replaceparty [BATCH_PARTY_CSV_PATH] # 上传文件方式全量覆盖部门
395
+ wechat upload_replaceuser [BATCH_USER_CSV_PATH] # 上传文件方式全量覆盖成员
396
+ wechat user [OPEN_ID] # 获取用户基本信息
397
+ wechat user_batchdelete [USER_ID_LIST] # 批量删除成员
398
+ wechat user_delete [USER_ID] # 删除成员
399
+ wechat user_list [DEPARTMENT_ID] # 获取部门成员详情
400
+ wechat user_simplelist [DEPARTMENT_ID] # 获取部门成员
401
+ wechat user_update_remark [OPEN_ID, REMARK] # 设置备注名
402
402
  ```
403
403
 
404
404
  ### 使用场景
data/README.md CHANGED
@@ -220,6 +220,7 @@ class WechatFirstController < ActionController::Base
220
220
 
221
221
  on :text, with:"help", respond: "help content"
222
222
  end
223
+ ```
223
224
 
224
225
  Or you can provide full list of options.
225
226
 
@@ -305,115 +306,115 @@ Feel safe if you can not read Chinese in the comments, it's kept there in order
305
306
  ```
306
307
  $ wechat
307
308
  Wechat Public Account commands:
308
- wechat callbackip # 获取微信服务器IP地址
309
- wechat custom_image [OPENID, IMAGE_PATH] # 发送图片客服消息
310
- wechat custom_music [OPENID, THUMBNAIL_PATH, MUSIC_URL] # 发送音乐客服消息
311
- wechat custom_news [OPENID, NEWS_YAML_PATH] # 发送图文客服消息
312
- wechat custom_text [OPENID, TEXT_MESSAGE] # 发送文字客服消息
313
- wechat custom_video [OPENID, VIDEO_PATH] # 发送视频客服消息
314
- wechat custom_voice [OPENID, VOICE_PATH] # 发送语音客服消息
315
- wechat customservice_getonlinekflist # 获取在线客服接待信息
316
- wechat group_create [GROUP_NAME] # 创建分组
317
- wechat group_delete [GROUP_ID] # 删除分组
318
- wechat group_update [GROUP_ID, NEW_GROUP_NAME] # 修改分组名
319
- wechat groups # 查询所有分组
320
- wechat material [MEDIA_ID, PATH] # 永久媒体下载
321
- wechat material_add [MEDIA_TYPE, PATH] # 永久媒体上传
322
- wechat material_count # 获取永久素材总数
323
- wechat material_delete [MEDIA_ID] # 删除永久素材
324
- wechat material_list [TYPE, OFFSET, COUNT] # 获取永久素材列表
325
- wechat media [MEDIA_ID, PATH] # 媒体下载
326
- wechat media_hq [MEDIA_ID, PATH] # 高清音频下载
327
- wechat media_create [MEDIA_TYPE, PATH] # 媒体上传
328
- wechat media_uploadimg [IMAGE_PATH] # 上传图文消息内的图片
329
- wechat media_uploadnews [MPNEWS_YAML_PATH] # 上传图文消息素材
330
- wechat menu # 当前菜单
331
- wechat menu_addconditional [CONDITIONAL_MENU_YAML_PATH] # 创建个性化菜单
332
- wechat menu_create [MENU_YAML_PATH] # 创建菜单
333
- wechat menu_delconditional [MENU_ID] # 删除个性化菜单
334
- wechat menu_delete # 删除菜单
335
- wechat menu_trymatch [USER_ID] # 测试个性化菜单匹配结果
336
- wechat message_mass_delete [MSG_ID] # 删除群发消息
337
- wechat message_mass_get [MSG_ID] # 查询群发消息发送状态
338
- wechat message_mass_preview [WX_NAME, MPNEWS_MEDIA_ID] # 预览图文消息素材
339
- wechat qrcode_create_limit_scene [SCENE_ID_OR_STR] # 请求永久二维码
340
- wechat qrcode_create_scene [SCENE_ID, EXPIRE_SECONDS] # 请求临时二维码
341
- wechat qrcode_download [TICKET, QR_CODE_PIC_PATH] # 通过ticket下载二维码
342
- wechat short_url [LONG_URL] # 长链接转短链接
343
- wechat tag [TAGID] # 获取标签下粉丝列表
344
- wechat tag_add_user [TAG_ID, OPEN_IDS] # 批量为用户打标签
345
- wechat tag_create [TAGNAME, TAG_ID] # 创建标签
346
- wechat tag_del_user [TAG_ID, OPEN_IDS] # 批量为用户取消标签
347
- wechat tag_delete [TAG_ID] # 删除标签
348
- wechat tag_update [TAG_ID, TAGNAME] # 更新标签名字
349
- wechat tags # 获取所有标签
350
- wechat template_message [OPENID, TEMPLATE_YAML_PATH] # 模板消息接口
351
- wechat user [OPEN_ID] # 获取用户基本信息
352
- wechat user_batchget [OPEN_ID_LIST] # 批量获取用户基本信息
353
- wechat user_change_group [OPEN_ID, TO_GROUP_ID] # 移动用户分组
354
- wechat user_group [OPEN_ID] # 查询用户所在分组
355
- wechat user_update_remark [OPEN_ID, REMARK] # 设置备注名
356
- wechat users # 关注者列表
357
- wechat wxacode_download [WXA_CODE_PIC_PATH, PATH, WIDTH] # 下载小程序码
309
+ wechat callbackip # 获取微信服务器IP地址
310
+ wechat custom_image [OPENID, IMAGE_PATH] # 发送图片客服消息
311
+ wechat custom_music [OPENID, THUMBNAIL_PATH, MUSIC_URL] # 发送音乐客服消息
312
+ wechat custom_news [OPENID, NEWS_YAML_PATH] # 发送图文客服消息
313
+ wechat custom_text [OPENID, TEXT_MESSAGE] # 发送文字客服消息
314
+ wechat custom_video [OPENID, VIDEO_PATH] # 发送视频客服消息
315
+ wechat custom_voice [OPENID, VOICE_PATH] # 发送语音客服消息
316
+ wechat customservice_getonlinekflist # 获取在线客服接待信息
317
+ wechat group_create [GROUP_NAME] # 创建分组
318
+ wechat group_delete [GROUP_ID] # 删除分组
319
+ wechat group_update [GROUP_ID, NEW_GROUP_NAME] # 修改分组名
320
+ wechat groups # 查询所有分组
321
+ wechat material [MEDIA_ID, PATH] # 永久媒体下载
322
+ wechat material_add [MEDIA_TYPE, PATH] # 永久媒体上传
323
+ wechat material_count # 获取永久素材总数
324
+ wechat material_delete [MEDIA_ID] # 删除永久素材
325
+ wechat material_list [TYPE, OFFSET, COUNT] # 获取永久素材列表
326
+ wechat media [MEDIA_ID, PATH] # 媒体下载
327
+ wechat media_hq [MEDIA_ID, PATH] # 高清音频下载
328
+ wechat media_create [MEDIA_TYPE, PATH] # 媒体上传
329
+ wechat media_uploadimg [IMAGE_PATH] # 上传图文消息内的图片
330
+ wechat media_uploadnews [MPNEWS_YAML_PATH] # 上传图文消息素材
331
+ wechat menu # 当前菜单
332
+ wechat menu_addconditional [CONDITIONAL_MENU_YAML_PATH] # 创建个性化菜单
333
+ wechat menu_create [MENU_YAML_PATH] # 创建菜单
334
+ wechat menu_delconditional [MENU_ID] # 删除个性化菜单
335
+ wechat menu_delete # 删除菜单
336
+ wechat menu_trymatch [USER_ID] # 测试个性化菜单匹配结果
337
+ wechat message_mass_delete [MSG_ID] # 删除群发消息
338
+ wechat message_mass_get [MSG_ID] # 查询群发消息发送状态
339
+ wechat message_mass_preview [WX_NAME, MPNEWS_MEDIA_ID] # 预览图文消息素材
340
+ wechat qrcode_create_limit_scene [SCENE_ID_OR_STR] # 请求永久二维码
341
+ wechat qrcode_create_scene [SCENE_ID_OR_STR, EXPIRE_SECONDS] # 请求临时二维码
342
+ wechat qrcode_download [TICKET, QR_CODE_PIC_PATH] # 通过ticket下载二维码
343
+ wechat short_url [LONG_URL] # 长链接转短链接
344
+ wechat tag [TAGID] # 获取标签下粉丝列表
345
+ wechat tag_add_user [TAG_ID, OPEN_IDS] # 批量为用户打标签
346
+ wechat tag_create [TAGNAME, TAG_ID] # 创建标签
347
+ wechat tag_del_user [TAG_ID, OPEN_IDS] # 批量为用户取消标签
348
+ wechat tag_delete [TAG_ID] # 删除标签
349
+ wechat tag_update [TAG_ID, TAGNAME] # 更新标签名字
350
+ wechat tags # 获取所有标签
351
+ wechat template_message [OPENID, TEMPLATE_YAML_PATH] # 模板消息接口
352
+ wechat user [OPEN_ID] # 获取用户基本信息
353
+ wechat user_batchget [OPEN_ID_LIST] # 批量获取用户基本信息
354
+ wechat user_change_group [OPEN_ID, TO_GROUP_ID] # 移动用户分组
355
+ wechat user_group [OPEN_ID] # 查询用户所在分组
356
+ wechat user_update_remark [OPEN_ID, REMARK] # 设置备注名
357
+ wechat users # 关注者列表
358
+ wechat wxacode_download [WXA_CODE_PIC_PATH, PATH, WIDTH] # 下载小程序码
358
359
  ```
359
360
 
360
361
  #### Enterprise account command line
361
362
  ```
362
363
  $ wechat
363
364
  Wechat Enterprise Account commands:
364
- wechat agent [AGENT_ID] # 获取企业号应用详情
365
- wechat agent_list # 获取应用概况列表
366
- wechat batch_job_result [JOB_ID] # 获取异步任务结果
367
- wechat batch_replaceparty [BATCH_PARTY_CSV_MEDIA_ID] # 全量覆盖部门
368
- wechat batch_replaceuser [BATCH_USER_CSV_MEDIA_ID] # 全量覆盖成员
369
- wechat batch_syncuser [SYNC_USER_CSV_MEDIA_ID] # 增量更新成员
370
- wechat callbackip # 获取微信服务器IP地址
371
- wechat convert_to_openid [USER_ID] # userid转换成openid
372
- wechat custom_image [OPENID, IMAGE_PATH] # 发送图片客服消息
373
- wechat custom_music [OPENID, THUMBNAIL_PATH, MUSIC_URL] # 发送音乐客服消息
374
- wechat custom_news [OPENID, NEWS_YAML_PATH] # 发送图文客服消息
375
- wechat custom_text [OPENID, TEXT_MESSAGE] # 发送文字客服消息
376
- wechat custom_video [OPENID, VIDEO_PATH] # 发送视频客服消息
377
- wechat custom_voice [OPENID, VOICE_PATH] # 发送语音客服消息
378
- wechat department [DEPARTMENT_ID] # 获取部门列表
379
- wechat department_create [NAME, PARENT_ID] # 创建部门
380
- wechat department_delete [DEPARTMENT_ID] # 删除部门
381
- wechat department_update [DEPARTMENT_ID, NAME] # 更新部门
382
- wechat invite_user [USER_ID] # 邀请成员关注
383
- wechat material [MEDIA_ID, PATH] # 永久媒体下载
384
- wechat material_add [MEDIA_TYPE, PATH] # 永久媒体上传
385
- wechat material_count # 获取永久素材总数
386
- wechat material_delete [MEDIA_ID] # 删除永久素材
387
- wechat material_list [TYPE, OFFSET, COUNT] # 获取永久素材列表
388
- wechat media [MEDIA_ID, PATH] # 媒体下载
389
- wechat media_create [MEDIA_TYPE, PATH] # 媒体上传
390
- wechat media_uploadimg [IMAGE_PATH] # 上传图文消息内的图片
391
- wechat menu # 当前菜单
392
- wechat menu_addconditional [CONDITIONAL_MENU_YAML_PATH] # 创建个性化菜单
393
- wechat menu_create [MENU_YAML_PATH] # 创建菜单
394
- wechat menu_delconditional [MENU_ID] # 删除个性化菜单
395
- wechat menu_delete # 删除菜单
396
- wechat menu_trymatch [USER_ID] # 测试个性化菜单匹配结果
397
- wechat message_send [OPENID, TEXT_MESSAGE] # 发送文字消息
398
- wechat qrcode_download [TICKET, QR_CODE_PIC_PATH] # 通过ticket下载二维码
399
- wechat tag [TAG_ID] # 获取标签成员
400
- wechat tag_add_department [TAG_ID, PARTY_IDS] # 增加标签部门
401
- wechat tag_add_user [TAG_ID, USER_IDS] # 增加标签成员
402
- wechat tag_create [TAGNAME, TAG_ID] # 创建标签
403
- wechat tag_del_department [TAG_ID, PARTY_IDS] # 删除标签部门
404
- wechat tag_del_user [TAG_ID, USER_IDS] # 删除标签成员
405
- wechat tag_delete [TAG_ID] # 删除标签
406
- wechat tag_update [TAG_ID, TAGNAME] # 更新标签名字
407
- wechat tags # 获取所有标签
408
- wechat template_message [OPENID, TEMPLATE_YAML_PATH] # 模板消息接口
409
- wechat upload_replaceparty [BATCH_PARTY_CSV_PATH] # 上传文件方式全量覆盖部门
410
- wechat upload_replaceuser [BATCH_USER_CSV_PATH] # 上传文件方式全量覆盖成员
411
- wechat user [OPEN_ID] # 获取用户基本信息
412
- wechat user_batchdelete [USER_ID_LIST] # 批量删除成员
413
- wechat user_delete [USER_ID] # 删除成员
414
- wechat user_list [DEPARTMENT_ID] # 获取部门成员详情
415
- wechat user_simplelist [DEPARTMENT_ID] # 获取部门成员
416
- wechat user_update_remark [OPEN_ID, REMARK] # 设置备注名
365
+ wechat agent [AGENT_ID] # 获取企业号应用详情
366
+ wechat agent_list # 获取应用概况列表
367
+ wechat batch_job_result [JOB_ID] # 获取异步任务结果
368
+ wechat batch_replaceparty [BATCH_PARTY_CSV_MEDIA_ID] # 全量覆盖部门
369
+ wechat batch_replaceuser [BATCH_USER_CSV_MEDIA_ID] # 全量覆盖成员
370
+ wechat batch_syncuser [SYNC_USER_CSV_MEDIA_ID] # 增量更新成员
371
+ wechat callbackip # 获取微信服务器IP地址
372
+ wechat convert_to_openid [USER_ID] # userid转换成openid
373
+ wechat custom_image [OPENID, IMAGE_PATH] # 发送图片客服消息
374
+ wechat custom_music [OPENID, THUMBNAIL_PATH, MUSIC_URL] # 发送音乐客服消息
375
+ wechat custom_news [OPENID, NEWS_YAML_PATH] # 发送图文客服消息
376
+ wechat custom_text [OPENID, TEXT_MESSAGE] # 发送文字客服消息
377
+ wechat custom_video [OPENID, VIDEO_PATH] # 发送视频客服消息
378
+ wechat custom_voice [OPENID, VOICE_PATH] # 发送语音客服消息
379
+ wechat department [DEPARTMENT_ID] # 获取部门列表
380
+ wechat department_create [NAME, PARENT_ID] # 创建部门
381
+ wechat department_delete [DEPARTMENT_ID] # 删除部门
382
+ wechat department_update [DEPARTMENT_ID, NAME] # 更新部门
383
+ wechat invite_user [USER_ID] # 邀请成员关注
384
+ wechat material [MEDIA_ID, PATH] # 永久媒体下载
385
+ wechat material_add [MEDIA_TYPE, PATH] # 永久媒体上传
386
+ wechat material_count # 获取永久素材总数
387
+ wechat material_delete [MEDIA_ID] # 删除永久素材
388
+ wechat material_list [TYPE, OFFSET, COUNT] # 获取永久素材列表
389
+ wechat media [MEDIA_ID, PATH] # 媒体下载
390
+ wechat media_create [MEDIA_TYPE, PATH] # 媒体上传
391
+ wechat media_uploadimg [IMAGE_PATH] # 上传图文消息内的图片
392
+ wechat menu # 当前菜单
393
+ wechat menu_addconditional [CONDITIONAL_MENU_YAML_PATH] # 创建个性化菜单
394
+ wechat menu_create [MENU_YAML_PATH] # 创建菜单
395
+ wechat menu_delconditional [MENU_ID] # 删除个性化菜单
396
+ wechat menu_delete # 删除菜单
397
+ wechat menu_trymatch [USER_ID] # 测试个性化菜单匹配结果
398
+ wechat message_send [OPENID, TEXT_MESSAGE] # 发送文字消息
399
+ wechat qrcode_download [TICKET, QR_CODE_PIC_PATH] # 通过ticket下载二维码
400
+ wechat tag [TAG_ID] # 获取标签成员
401
+ wechat tag_add_department [TAG_ID, PARTY_IDS] # 增加标签部门
402
+ wechat tag_add_user [TAG_ID, USER_IDS] # 增加标签成员
403
+ wechat tag_create [TAGNAME, TAG_ID] # 创建标签
404
+ wechat tag_del_department [TAG_ID, PARTY_IDS] # 删除标签部门
405
+ wechat tag_del_user [TAG_ID, USER_IDS] # 删除标签成员
406
+ wechat tag_delete [TAG_ID] # 删除标签
407
+ wechat tag_update [TAG_ID, TAGNAME] # 更新标签名字
408
+ wechat tags # 获取所有标签
409
+ wechat template_message [OPENID, TEMPLATE_YAML_PATH] # 模板消息接口
410
+ wechat upload_replaceparty [BATCH_PARTY_CSV_PATH] # 上传文件方式全量覆盖部门
411
+ wechat upload_replaceuser [BATCH_USER_CSV_PATH] # 上传文件方式全量覆盖成员
412
+ wechat user [OPEN_ID] # 获取用户基本信息
413
+ wechat user_batchdelete [USER_ID_LIST] # 批量删除成员
414
+ wechat user_delete [USER_ID] # 删除成员
415
+ wechat user_list [DEPARTMENT_ID] # 获取部门成员详情
416
+ wechat user_simplelist [DEPARTMENT_ID] # 获取部门成员
417
+ wechat user_update_remark [OPEN_ID, REMARK] # 设置备注名
417
418
  ```
418
419
 
419
420
  ### Command line usage demo (partially)
data/bin/wechat CHANGED
@@ -267,9 +267,9 @@ class App < Thor
267
267
  puts wechat_api.user_batchget(openidlist.split(','))
268
268
  end
269
269
 
270
- desc 'qrcode_create_scene [SCENE_ID, EXPIRE_SECONDS]', '请求临时二维码'
271
- def qrcode_create_scene(scene_id, expire_seconds = 604800)
272
- puts wechat_api.qrcode_create_scene(scene_id, expire_seconds)
270
+ desc 'qrcode_create_scene [SCENE_ID_OR_STR, EXPIRE_SECONDS]', '请求临时二维码'
271
+ def qrcode_create_scene(scene_id_or_str, expire_seconds = 604800)
272
+ puts wechat_api.qrcode_create_scene(scene_id_or_str, expire_seconds)
273
273
  end
274
274
 
275
275
  desc 'qrcode_create_limit_scene [SCENE_ID_OR_STR]', '请求永久二维码'
@@ -55,15 +55,23 @@ module Wechat
55
55
  post 'user/info/updateremark', JSON.generate(openid: openid, remark: remark)
56
56
  end
57
57
 
58
- def qrcode_create_scene(scene_id, expire_seconds = 604800)
59
- post 'qrcode/create', JSON.generate(expire_seconds: expire_seconds,
60
- action_name: 'QR_SCENE',
61
- action_info: { scene: { scene_id: scene_id } })
58
+ def qrcode_create_scene(scene_id_or_str, expire_seconds = 604800)
59
+ case scene_id_or_str
60
+ when 0.class
61
+ post 'qrcode/create', JSON.generate(expire_seconds: expire_seconds,
62
+ action_name: 'QR_SCENE',
63
+ action_info: { scene: { scene_id: scene_id_or_str } })
64
+ else
65
+ post 'qrcode/create', JSON.generate(expire_seconds: expire_seconds,
66
+ action_name: 'QR_STR_SCENE',
67
+ action_info: { scene: { scene_str: scene_id_or_str } })
68
+ end
69
+
62
70
  end
63
71
 
64
72
  def qrcode_create_limit_scene(scene_id_or_str)
65
73
  case scene_id_or_str
66
- when Integer
74
+ when 0.class
67
75
  post 'qrcode/create', JSON.generate(action_name: 'QR_LIMIT_SCENE',
68
76
  action_info: { scene: { scene_id: scene_id_or_str } })
69
77
  else
@@ -28,7 +28,6 @@ module Wechat
28
28
 
29
29
  raise 'Can not get corpid or appid, so please configure it first to using wechat_oauth2' if appid.blank?
30
30
 
31
- api.jsapi_ticket.ticket if api.jsapi_ticket.oauth2_state.nil?
32
31
  oauth2_params = {
33
32
  appid: appid,
34
33
  redirect_uri: page_url || generate_redirect_uri(account),
@@ -4,7 +4,7 @@ require 'securerandom'
4
4
  module Wechat
5
5
  module Ticket
6
6
  class JsapiBase
7
- attr_reader :client, :access_token, :oauth2_state, :jsapi_ticket_file, :access_ticket, :ticket_life_in_seconds, :got_ticket_at
7
+ attr_reader :client, :access_token, :jsapi_ticket_file, :access_ticket, :ticket_life_in_seconds, :got_ticket_at
8
8
 
9
9
  def initialize(client, access_token, jsapi_ticket_file)
10
10
  @client = client
@@ -23,6 +23,13 @@ module Wechat
23
23
  retry unless (tries -= 1).zero?
24
24
  end
25
25
 
26
+ def oauth2_state
27
+ if @oauth2_state.blank? || remain_life_seconds < 180
28
+ ticket
29
+ end
30
+ @oauth2_state
31
+ end
32
+
26
33
  # Obtain the wechat jssdk config signature parameter and return below hash
27
34
  # params = {
28
35
  # noncestr: noncestr,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wechat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.10
4
+ version: 0.8.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Skinnyworm
@@ -13,25 +13,25 @@ cert_chain:
13
13
  -----BEGIN CERTIFICATE-----
14
14
  MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBBMRMwEQYDVQQDDAplcmlj
15
15
  Lmd1b2N6MRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJk/IsZAEZFgNj
16
- b20wHhcNMTYwNzExMTUyMTU2WhcNMTcwNzExMTUyMTU2WjBBMRMwEQYDVQQDDApl
16
+ b20wHhcNMTcwNzI1MDEwMDU1WhcNMTgwNzI1MDEwMDU1WjBBMRMwEQYDVQQDDApl
17
17
  cmljLmd1b2N6MRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJk/IsZAEZ
18
- FgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6LSiHb79c6Krm
19
- TeoHq5fko/QJownbKLtlzHmWCGb6B38mIPqYZBSmfaK9EZr6DTf7TJWB7e/u2+Ep
20
- bXCqdUxRDbQZig52DvKfljfgOD/YzALHKAckuk/sskvM2pdtRIowJSYAG/Hz2j1d
21
- mngRZaIDd/09CNttRsgCDXZl+qqsNJKCQWZ3T8OdqmlpwkIxo7llKEQ578fQwgZ3
22
- 8uE4RLMv8fOdFv0EzGXbRyFLCT2WEAH5Ns2Jv12KKbvYCTICdJ36cSV8hOUZT0fG
23
- y4FxEXtV9uJVJv3BJ5LE84TWdNiMI1lbFul72p09vebUe2N0Hru3XDnfq69XJ+9e
24
- nZC9MFk/AgMBAAGjezB5MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
25
- BBR/fjIribDcJvWvxPh+zv2kFGRAejAfBgNVHREEGDAWgRRlcmljLmd1b2N6QGdt
18
+ FgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDw/v3xTyrXOdzt
19
+ 0J3aFwBQ0mnDKW/E4INUekx4xzLnlCaGxZwUiv0tXfmXHPrCBjYcOYzA0viUNElO
20
+ jPNn+LvcZsTsiYLai8sIBHeBGlGTKfnMFDXABhLUD0wafCcjKvhcxLzCkvBwQWO3
21
+ sWukYhGTW1fPfUybWVRVtswwGIyqqLezKPbYTY56t7RCz1suv32ViAfg8kCSGoMz
22
+ hgrp9FLSMKyeYW/LrA8adF+9NLotRleaec75INi+9JJJ190iJU27rwGE9iXOhpJS
23
+ BUwYoduU3RJGwEr1HLmq20gZlTv5RKuQ91L4i7xDjmhJIVJTBoPNLXjE8dCJ/ZXs
24
+ FmDSu7R5AgMBAAGjezB5MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
25
+ BBSLMIsOJrcOkTsQvamhOVFJWD+ADDAfBgNVHREEGDAWgRRlcmljLmd1b2N6QGdt
26
26
  YWlsLmNvbTAfBgNVHRIEGDAWgRRlcmljLmd1b2N6QGdtYWlsLmNvbTANBgkqhkiG
27
- 9w0BAQUFAAOCAQEAIA++aoEJOSbTwQml1cQ+z2psV2R18HKYR7ZM8bGEm9PxGyLt
28
- DcpqGIL65VctVjqVzD4RTvDrsFhVICL5o0rLYpC4Qm5jBpx+E2s/akJSDsQcOO12
29
- qk+IDlQHJjhf7DOg0+XAIj1/QTvq8s3QrrD8NRoIvGcAXVzqAafcG9NOGIXpqFS1
30
- ZdwgixrYZK4p/Z+qIJFiuGvBauegUn0x7WDln52cWXgb+a/oYPBjGtBAZznhSy+R
31
- R5k6Ma92sW8jupX4cqbSu9rntdVQkNRpoHIrfU0MZT0cKsg/D1zMteylxrO3KMsz
32
- SPQRv+nrI1J0zevFqb8010heoR8SDyUA0Mm3+Q==
27
+ 9w0BAQUFAAOCAQEA237a0TwFF52WZloXGIuH3O5ceswbp/A30UpHGZKHgtY3SWkZ
28
+ c2F3wlYoGZvM8l9Ec+ZEobcxuvq7wU5BSI3PFTUpFkt7m5wD0PW8AP+pGY/d5kBn
29
+ 1AQAUJG4mGdKO3oWuWqs2TBFHuCgcNTGm00UMqnrV/tgI6iIoMWay/Y9R+0SAUJ+
30
+ DxjKAQnkF0JBznatQrHLMmKznDiR3DfgDTte7o0pvMf9mQzs9D+im0EhoASWFE/i
31
+ fGxGnQhzVaW07NKOCRrAZlrF8iqso4JR7Vm9bhFdzxUPLr70njwHLtDS2CHgo1VW
32
+ 1xAjN8ZXXpAmVv7V6cI9RTmQHPu/fFn+E0sG9w==
33
33
  -----END CERTIFICATE-----
34
- date: 2017-06-19 00:00:00.000000000 Z
34
+ date: 2017-07-25 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: activesupport
metadata.gz.sig CHANGED
Binary file