wechat-core 0.2 → 0.3

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: 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