wechat-core 0.2 → 0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 556c580d303e3e1665437c1e25e219282420b1e2
4
- data.tar.gz: e9acc768a0b597192b08b1dd4dbb3afbfbd3cc09
3
+ metadata.gz: dde46a50dfef58b299554191cf4a607aed80bcf7
4
+ data.tar.gz: ec2cfe74547816c0e6e7267eb48d79760774f78a
5
5
  SHA512:
6
- metadata.gz: 94f35a815f9efe1ba20995cf9ba124db5e9aa59714a9ac526e810eaf45e368df4459e2afae178157d995d0bc83fd5c7259cbdd94423451a4adeb3ec5bce04ad2
7
- data.tar.gz: 5f6abd7326e2b90224bf4f815cdd89781b24781573e892dc6c12bcc056b14e02ce08c0e04d3e580f930c6d7ec16f6f6aefe0344eec745a833e09fd31da4ac6e7
6
+ metadata.gz: 07882b7649b6426dd7aed494fdec8c4af1e7cd17cd0123abe5163768abe7271dc581bc37b0924d63724d6c4a5c4fe8595d55d6db8c6aaedbf6a863e7d150715c
7
+ data.tar.gz: c6da796538707a5947821e16a2d9233b8855a23134f56a881fd56204e6f7e135366cb10d9d1262bdb2f66b948c321b3130fe80e2ed3b8ffb00710894ddd22081
data/CHANGELOG.md CHANGED
@@ -1,11 +1,13 @@
1
1
  # Wechat Core Change Log 微信核心库变更日志
2
2
 
3
3
  ## v0.1
4
-
5
4
  1. Common module
6
5
  2. Access Token wrapper class
7
6
 
8
7
  ## v0.2
9
-
10
8
  1. Server Address wrapper class
11
9
  2. Tiny Link wrapper class
10
+
11
+ ## v0.3
12
+ 1. Follower wrapper class
13
+ 2. Follower Profile wrapper class
data/ROADMAP.md CHANGED
@@ -1,20 +1,16 @@
1
1
  # Wechat Core Road Map 微信核心库线路图
2
2
 
3
3
  ## v0.1
4
-
5
4
  1. Common module
6
5
  2. Access Token wrapper class
7
6
 
8
7
  ## v0.2
9
-
10
8
  1. Server Address wrapper class
11
9
  2. Tiny Link wrapper class
12
10
 
13
11
  ## v0.3
14
-
15
12
  1. Follower wrapper class
16
13
  2. Follower Profile wrapper class
17
14
 
18
15
  # v0.4
19
-
20
16
  1. Logo wrapper class
@@ -1,5 +1,9 @@
1
1
  module Wechat::Core::Common
2
2
 
3
+ LANGUAGE_SIMPLIFIED_CHINESE = 'zh_CN'.freeze
4
+ LANGUAGE_TRANDITIONAL_CHINESE = 'zh_TW'.freeze
5
+ LANGUAGE_ENGLISH = 'en'.freeze
6
+
3
7
  # http://mp.weixin.qq.com/wiki/17/fa4e1434e57290788bde25603fa2fcbd.html
4
8
  # $('table#ec-t').find('tr').each(function(index, line)
5
9
  # {
@@ -0,0 +1,24 @@
1
+ require 'jsonclient'
2
+
3
+ class Wechat::Core::Follower
4
+
5
+ # 获取关注者列表
6
+ # http://mp.weixin.qq.com/wiki/0/d0e07720fc711c02a3eab6ec33054804.html
7
+ #
8
+ # Return hash format if success:
9
+ # {
10
+ # total: <TOTAL>,
11
+ # count: <COUNT>,
12
+ # data: { openid: [ <OPEN_ID_1>, <OPEN_ID_2>, ... ] },
13
+ # next_openid: <NEXT_OPEN_ID>
14
+ # }
15
+ def self.index(access_token, next_open_id = nil)
16
+
17
+ options = { access_token: access_token }
18
+ options[:next_openid] = next_open_id if next_open_id.present?
19
+
20
+ message = ::JSONClient.new.get 'https://api.weixin.qq.com/cgi-bin/user/get', options
21
+ message.body
22
+ end
23
+
24
+ end
@@ -0,0 +1,59 @@
1
+ require 'jsonclient'
2
+
3
+ class Wechat::Core::FollowerProfile
4
+
5
+ # 批量获取用户基本信息
6
+ # http://mp.weixin.qq.com/wiki/14/bb5031008f1494a59c6f71fa0f319c66.html
7
+ # 最多支持一次拉取100条。
8
+ #
9
+ # Return hash format if success:
10
+ # {
11
+ # subscribe: 1,
12
+ # openid: <OPEN_ID>,
13
+ # nickname: <NICK_NAME>,
14
+ # sex: <GENDER_CODE>,
15
+ # language: <LANGUAGE_CODE>,
16
+ # city: <CITY_NAME>,
17
+ # province: <PROVINCE_NAME>,
18
+ # country: <COUNTRY_NAME>,
19
+ # headimgurl: <HEAD_IMAGE_LINK>,
20
+ # subscribe_time: <SUBSCRIBE_TIME>,
21
+ # remark: <REMARK>,
22
+ # groupid: <GROUP_ID>
23
+ # }
24
+ def self.index(access_token, open_ids, language = 'zh_CN')
25
+ followers = open_ids.map { |open_id| { openid: open_id, lang: language } }
26
+ message = ::JSONClient.new.post "https://api.weixin.qq.com/cgi-bin/user/info/batchget?access_token=#{access_token}", { user_list: followers }
27
+ message.body
28
+ end
29
+
30
+ # 获取用户基本信息(UnionID机制)
31
+ # http://mp.weixin.qq.com/wiki/14/bb5031008f1494a59c6f71fa0f319c66.html
32
+ # 一次拉取调用最多拉取10000个关注者的OpenID,可以通过多次拉取的方式来满足需求。
33
+ #
34
+ # Return hash format if success:
35
+ # {
36
+ # subscribe: 1,
37
+ # openid: <OPEN_ID>,
38
+ # nickname: <NICK_NAME>,
39
+ # sex: <GENDER_CODE>,
40
+ # language: <LANGUAGE_CODE>,
41
+ # city: <CITY_NAME>,
42
+ # province: <PROVINCE_NAME>,
43
+ # country: <COUNTRY_NAME>,
44
+ # headimgurl: <HEAD_IMAGE_LINK>,
45
+ # subscribe_time: <SUBSCRIBE_TIME>,
46
+ # remark: <REMARK>,
47
+ # groupid: <GROUP_ID>
48
+ # }
49
+ def self.load(access_token, open_id, language = 'zh_CN')
50
+ message = ::JSONClient.new.get 'https://api.weixin.qq.com/cgi-bin/user/info',
51
+ {
52
+ access_token: access_token,
53
+ openid: open_id,
54
+ lang: language
55
+ }
56
+ message.body
57
+ end
58
+
59
+ end
@@ -1,5 +1,5 @@
1
1
  module Wechat
2
2
  module Core
3
- VERSION = '0.2'.freeze
3
+ VERSION = '0.3'.freeze
4
4
  end
5
5
  end
data/lib/wechat/core.rb CHANGED
@@ -6,6 +6,9 @@ require 'wechat/core/access_token'
6
6
  require 'wechat/core/server_address'
7
7
  require 'wechat/core/tiny_link'
8
8
 
9
+ require 'wechat/core/follower'
10
+ require 'wechat/core/follower_profile'
11
+
9
12
  module Wechat
10
13
  module Core
11
14
  # Your code goes here...
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wechat-core
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: '0.3'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Topbit Du
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-16 00:00:00.000000000 Z
11
+ date: 2016-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -89,6 +89,8 @@ files:
89
89
  - lib/wechat/core.rb
90
90
  - lib/wechat/core/access_token.rb
91
91
  - lib/wechat/core/common.rb
92
+ - lib/wechat/core/follower.rb
93
+ - lib/wechat/core/follower_profile.rb
92
94
  - lib/wechat/core/server_address.rb
93
95
  - lib/wechat/core/tiny_link.rb
94
96
  - lib/wechat/core/version.rb