wechat-shake_around 0.9.1 → 0.9.2

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: 5270efec3abd0ac53118428e68c3142f3ac0694e
4
- data.tar.gz: 7e9172ab08dde86672339fc1bf81912be998d7fc
3
+ metadata.gz: 177d0d75231fe203ef8084aa6d4c7f863ff04aa9
4
+ data.tar.gz: a61ac48aafdf927758b663349a4f1b5afc431efd
5
5
  SHA512:
6
- metadata.gz: a7ce0edef4fa1f9b935fba765d541814096680727b1a4fe0f6c7e9de9d73a2c37d751249e58a1e3479e8b8170a4cc5be5d028967b39ff16084138a455863cc68
7
- data.tar.gz: 1451363f97346acd16639704433fa11a7565e2a25a1e7ae163bf30debe3f46d72e078d363ba1efb96a6d3e4fd7a779f23f94f8bc2cd17829a1b47182e597472a
6
+ metadata.gz: 30cf08bf88ed8086c918fb9e7323cb565d7a4f5ac4d2aee50dd0e344b33f0bcf5d1a155592a4141b5d296806622888ca4a666969bb44dcf9b4295411af920745
7
+ data.tar.gz: 6b417f865f6143e6af63e5c7afa5256ea9a8784d3773c2e1108fc9259d6ab85abe59f5c218984eb27f5acae4699478b05ffe78d1d5e3f64712dd1790c099909d
@@ -53,3 +53,18 @@
53
53
  15. Improve the Page Report wrapper class for the argument validation & HTTP request
54
54
  16. Improve the Registration wrapper class for the argument validation & HTTP request
55
55
  17. Improve the Shaking wrapper class for the argument validation & HTTP request
56
+
57
+ ## v0.9.2
58
+ 1. Improve the Apply wrapper class for the HTTP request
59
+ 2. Improve the Beacon wrapper class for the HTTP request
60
+ 3. Improve the Beacon Page Relation wrapper class for the HTTP request
61
+ 4. Improve the Beacon PoI Relation wrapper class for the HTTP request
62
+ 5. Improve the Device Daily Report wrapper class for the HTTP request
63
+ 6. Improve the Device Group Relation wrapper class for the HTTP request
64
+ 7. Improve the Device Report wrapper class for the HTTP request
65
+ 8. Improve the Group wrapper class for the HTTP request
66
+ 9. Improve the Page wrapper class for the HTTP request
67
+ 10. Improve the Page Daily Report wrapper class for the HTTP request
68
+ 11. Improve the Page Report wrapper class for the HTTP request
69
+ 12. Improve the Registration wrapper class for the HTTP request
70
+ 13. Improve the Shaking wrapper class for the HTTP request
@@ -1,20 +1,29 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- wechat-shake_around (0.9)
5
- httpclient (>= 2.8)
4
+ wechat-shake_around (0.9.1)
5
+ httpclient (~> 2.8)
6
+ wechat-core (~> 0.4)
6
7
 
7
8
  GEM
8
9
  remote: https://rubygems.org/
9
10
  specs:
10
- diff-lcs (1.2.5)
11
- httpclient (2.8.0)
12
- rake (11.2.2)
11
+ activesupport (5.0.2)
12
+ concurrent-ruby (~> 1.0, >= 1.0.2)
13
+ i18n (~> 0.7)
14
+ minitest (~> 5.1)
15
+ tzinfo (~> 1.1)
16
+ concurrent-ruby (1.0.5)
17
+ diff-lcs (1.3)
18
+ httpclient (2.8.3)
19
+ i18n (0.8.1)
20
+ minitest (5.10.1)
21
+ rake (11.3.0)
13
22
  rspec (3.5.0)
14
23
  rspec-core (~> 3.5.0)
15
24
  rspec-expectations (~> 3.5.0)
16
25
  rspec-mocks (~> 3.5.0)
17
- rspec-core (3.5.1)
26
+ rspec-core (3.5.4)
18
27
  rspec-support (~> 3.5.0)
19
28
  rspec-expectations (3.5.0)
20
29
  diff-lcs (>= 1.2.0, < 2.0)
@@ -23,6 +32,12 @@ GEM
23
32
  diff-lcs (>= 1.2.0, < 2.0)
24
33
  rspec-support (~> 3.5.0)
25
34
  rspec-support (3.5.0)
35
+ thread_safe (0.3.6)
36
+ tzinfo (1.2.3)
37
+ thread_safe (~> 0.1)
38
+ wechat-core (0.4.1)
39
+ activesupport (>= 4.2)
40
+ httpclient (>= 2.8)
26
41
 
27
42
  PLATFORMS
28
43
  ruby
@@ -34,4 +49,4 @@ DEPENDENCIES
34
49
  wechat-shake_around!
35
50
 
36
51
  BUNDLED WITH
37
- 1.12.5
52
+ 1.13.6
data/ROADMAP.md CHANGED
@@ -54,6 +54,21 @@
54
54
  16. Improve the Registration wrapper class for the argument validation & HTTP request
55
55
  17. Improve the Shaking wrapper class for the argument validation & HTTP request
56
56
 
57
+ ## v0.9.2
58
+ 1. Improve the Apply wrapper class for the HTTP request
59
+ 2. Improve the Beacon wrapper class for the HTTP request
60
+ 3. Improve the Beacon Page Relation wrapper class for the HTTP request
61
+ 4. Improve the Beacon PoI Relation wrapper class for the HTTP request
62
+ 5. Improve the Device Daily Report wrapper class for the HTTP request
63
+ 6. Improve the Device Group Relation wrapper class for the HTTP request
64
+ 7. Improve the Device Report wrapper class for the HTTP request
65
+ 8. Improve the Group wrapper class for the HTTP request
66
+ 9. Improve the Page wrapper class for the HTTP request
67
+ 10. Improve the Page Daily Report wrapper class for the HTTP request
68
+ 11. Improve the Page Report wrapper class for the HTTP request
69
+ 12. Improve the Registration wrapper class for the HTTP request
70
+ 13. Improve the Shaking wrapper class for the HTTP request
71
+
57
72
  ## v1.0
58
73
  1. Improve the wrapper classes to support the Keyword Arguments
59
74
  2. Improve the wrapper classes for argument validation
@@ -1,8 +1,12 @@
1
+ ##
2
+ # Apply 是批量申请 iBeacon 设备 UUID 、 Major 和 Minor 的封装类。
3
+
1
4
  class Wechat::ShakeAround::Apply
2
5
 
3
6
  extend Wechat::Core::Common
4
7
  extend Wechat::ShakeAround::Common
5
8
 
9
+ ##
6
10
  # 查询设备ID申请审核状态
7
11
  # http://mp.weixin.qq.com/wiki/15/b9e012f917e3484b7ed02771156411f3.html#.E6.9F.A5.E8.AF.A2.E8.AE.BE.E5.A4.87ID.E7.94.B3.E8.AF.B7.E5.AE.A1.E6.A0.B8.E7.8A.B6.E6.80.81
8
12
  #
@@ -22,10 +26,10 @@ class Wechat::ShakeAround::Apply
22
26
  assert_present! :access_token, access_token
23
27
  assert_present! :apply_id, apply_id
24
28
 
25
- message = post_json "https://api.weixin.qq.com/shakearound/device/applystatus?access_token=#{access_token}", body: { apply_id: apply_id.to_i }
26
- message.body
29
+ post_json "https://api.weixin.qq.com/shakearound/device/applystatus?access_token=#{access_token}", body: { apply_id: apply_id.to_i }
27
30
  end
28
31
 
32
+ ##
29
33
  # 申请设备ID
30
34
  # http://mp.weixin.qq.com/wiki/15/b9e012f917e3484b7ed02771156411f3.html#.E7.94.B3.E8.AF.B7.E8.AE.BE.E5.A4.87ID
31
35
  #
@@ -53,8 +57,9 @@ class Wechat::ShakeAround::Apply
53
57
  options = { quantity: quantity, apply_reason: reason }
54
58
  options[:comment] = comment if comment.present?
55
59
  options[:poi_id] = poi_id if poi_id.present?
56
- message = post_json "https://api.weixin.qq.com/shakearound/device/applyid?access_token=#{access_token}", body: options
57
- message.body
60
+
61
+ post_json "https://api.weixin.qq.com/shakearound/device/applyid?access_token=#{access_token}", body: options
62
+
58
63
  end
59
64
 
60
65
  end
@@ -1,8 +1,12 @@
1
+ ##
2
+ # Beacon 是管理 iBeacon 设备的封装类。
3
+
1
4
  class Wechat::ShakeAround::Beacon
2
5
 
3
6
  extend Wechat::Core::Common
4
7
  extend Wechat::ShakeAround::Common
5
8
 
9
+ ##
6
10
  # 查询设备列表
7
11
  # http://mp.weixin.qq.com/wiki/15/b9e012f917e3484b7ed02771156411f3.html#.E6.9F.A5.E8.AF.A2.E8.AE.BE.E5.A4.87.E5.88.97.E8.A1.A8
8
12
  #
@@ -41,10 +45,10 @@ class Wechat::ShakeAround::Beacon
41
45
  else
42
46
  options[:type] = 2
43
47
  end
44
- message = post_json "https://api.weixin.qq.com/shakearound/device/search?access_token=#{access_token}", body: options
45
- message.body
48
+ post_json "https://api.weixin.qq.com/shakearound/device/search?access_token=#{access_token}", body: options
46
49
  end
47
50
 
51
+ ##
48
52
  # 查询设备
49
53
  # http://mp.weixin.qq.com/wiki/15/b9e012f917e3484b7ed02771156411f3.html#.E6.9F.A5.E8.AF.A2.E8.AE.BE.E5.A4.87.E5.88.97.E8.A1.A8
50
54
  #
@@ -78,14 +82,14 @@ class Wechat::ShakeAround::Beacon
78
82
  assert_present! :device_id, device_id
79
83
 
80
84
  device_identifier = self.normalize_device_id device_id
81
- message = post_json "https://api.weixin.qq.com/shakearound/device/search?access_token=#{access_token}", body:
85
+ post_json "https://api.weixin.qq.com/shakearound/device/search?access_token=#{access_token}", body:
82
86
  {
83
87
  type: 1,
84
88
  device_identifiers: [ device_identifier ]
85
89
  }
86
- message.body
87
90
  end
88
91
 
92
+ ##
89
93
  # 编辑设备信息
90
94
  # http://mp.weixin.qq.com/wiki/15/b9e012f917e3484b7ed02771156411f3.html#.E7.BC.96.E8.BE.91.E8.AE.BE.E5.A4.87.E4.BF.A1.E6.81.AF
91
95
  #
@@ -104,12 +108,11 @@ class Wechat::ShakeAround::Beacon
104
108
  assert_present! :comment, comment
105
109
 
106
110
  device_identifier = self.normalize_device_id device_id
107
- message = post_json "https://api.weixin.qq.com/shakearound/device/update?access_token=#{access_token}",
111
+ post_json "https://api.weixin.qq.com/shakearound/device/update?access_token=#{access_token}", body:
108
112
  {
109
113
  device_identifier: device_identifier,
110
114
  comment: comment
111
115
  }
112
- message.body
113
116
  end
114
117
 
115
118
  end
@@ -1,8 +1,12 @@
1
+ ##
2
+ # Beacon Page Relation 是管理 iBeacon 设备和页面之间关系的封装类。
3
+
1
4
  class Wechat::ShakeAround::BeaconPageRelation
2
5
 
3
6
  extend Wechat::Core::Common
4
7
  extend Wechat::ShakeAround::Common
5
8
 
9
+ ##
6
10
  # 删除设备与页面的关联关系
7
11
  # http://mp.weixin.qq.com/wiki/12/c8120214ec0ba08af5dfcc0da1a11400.html
8
12
  #
@@ -26,16 +30,16 @@ class Wechat::ShakeAround::BeaconPageRelation
26
30
  device_identifier = normalize_device_id device_id
27
31
  page_ids = normalize_page_ids page_id
28
32
 
29
- message = post_json "https://api.weixin.qq.com/shakearound/device/bindpage?access_token=#{access_token}", body:
33
+ post_json "https://api.weixin.qq.com/shakearound/device/bindpage?access_token=#{access_token}", body:
30
34
  {
31
35
  device_identifier: device_identifier,
32
36
  page_ids: page_ids,
33
37
  bind: 0,
34
38
  append: 0
35
39
  }
36
- message.body
37
40
  end
38
41
 
42
+ ##
39
43
  # 创建设备与页面的关联关系
40
44
  # http://mp.weixin.qq.com/wiki/12/c8120214ec0ba08af5dfcc0da1a11400.html
41
45
  #
@@ -59,14 +63,13 @@ class Wechat::ShakeAround::BeaconPageRelation
59
63
  device_identifier = normalize_device_id device_id
60
64
  page_ids = normalize_page_ids page_id
61
65
 
62
- message = post_json "https://api.weixin.qq.com/shakearound/device/bindpage?access_token=#{access_token}", body:
66
+ post_json "https://api.weixin.qq.com/shakearound/device/bindpage?access_token=#{access_token}", body:
63
67
  {
64
68
  device_identifier: device_identifier,
65
69
  page_ids: page_ids,
66
70
  bind: 1,
67
71
  append: 1
68
72
  }
69
- message.body
70
73
  end
71
74
 
72
75
  end
@@ -1,8 +1,12 @@
1
+ ##
2
+ # Beacon Poi Relation 是管理 iBeacon 设备和入口 (PoI, Point of Interest) 之间关系的封装类。
3
+
1
4
  class Wechat::ShakeAround::BeaconPoiRelation
2
5
 
3
6
  extend Wechat::Core::Common
4
7
  extend Wechat::ShakeAround::Common
5
8
 
9
+ ##
6
10
  # 配置设备与门店的关联关系
7
11
  # http://mp.weixin.qq.com/wiki/15/b9e012f917e3484b7ed02771156411f3.html#.E9.85.8D.E7.BD.AE.E8.AE.BE.E5.A4.87.E4.B8.8E.E9.97.A8.E5.BA.97.E7.9A.84.E5.85.B3.E8.81.94.E5.85.B3.E7.B3.BB
8
12
  #
@@ -21,12 +25,11 @@ class Wechat::ShakeAround::BeaconPoiRelation
21
25
  assert_present! :poi_id, poi_id
22
26
 
23
27
  device_identifier = self.normalize_device_id device_id
24
- message = post_json "https://api.weixin.qq.com/shakearound/device/bindlocation?access_token=#{access_token}", body:
28
+ post_json "https://api.weixin.qq.com/shakearound/device/bindlocation?access_token=#{access_token}", body:
25
29
  {
26
30
  device_identifier: device_identifier,
27
31
  poi_id: poi_id.to_i
28
32
  }
29
- message.body
30
33
  end
31
34
 
32
35
  end
@@ -1,3 +1,6 @@
1
+ ##
2
+ # Common 是公共模块。
3
+
1
4
  module Wechat::ShakeAround::Common
2
5
 
3
6
  # http://mp.weixin.qq.com/wiki/5/fe90761a540f6fe056c774ab3df8afe9.html
@@ -78,11 +81,22 @@ module Wechat::ShakeAround::Common
78
81
  9001091 => '活动已过期'
79
82
  }.freeze
80
83
 
84
+ ##
85
+ # 将日期文本或者日期对象转换为秒数。如:
86
+ # Wechat::ShakeAround::Common.normalize_date '2000-01-01'
87
+ # 或者
88
+ # Wechat::ShakeAround::Common.normalize_date Date.today
81
89
  def normalize_date(date)
82
90
  date = Date.parse date if date.is_a? String
83
91
  date.to_time.to_i
84
92
  end
85
93
 
94
+ ##
95
+ # 将 device_id 转换为 Hash 格式。如:
96
+ # Wechat::ShakeAround::Common.normalize_device_id '1234' # { device_id: '1234' }
97
+ # 或者
98
+ # Wechat::ShakeAround::Common.normalize_device_id { uuid: 'c1de0c84-5997-40ea-b3cc-c102ead33483', major: 123, minor: 456 }
99
+ # # { uuid: 'c1de0c84-5997-40ea-b3cc-c102ead33483', major: 123, minor: 456 }
86
100
  def normalize_device_id(device_id)
87
101
  device_id.is_a?(Hash) ? device_id : { device_id: device_id.to_i }
88
102
  end
@@ -1,8 +1,12 @@
1
+ ##
2
+ # Device Daily Report 是 iBeacon 设备每日统计报表的封装类。
3
+
1
4
  class Wechat::ShakeAround::DeviceDailyReport
2
5
 
3
6
  extend Wechat::Core::Common
4
7
  extend Wechat::ShakeAround::Common
5
8
 
9
+ ##
6
10
  # 以设备为维度的数据统计接口
7
11
  # http://mp.weixin.qq.com/wiki/0/8a24bcacad40fe7ee98d1573cb8a6764.html#.E4.BB.A5.E8.AE.BE.E5.A4.87.E4.B8.BA.E7.BB.B4.E5.BA.A6.E7.9A.84.E6.95.B0.E6.8D.AE.E7.BB.9F.E8.AE.A1.E6.8E.A5.E5.8F.A3
8
12
  #
@@ -33,14 +37,12 @@ class Wechat::ShakeAround::DeviceDailyReport
33
37
 
34
38
  device_identifier = normalize_device_id device_id
35
39
 
36
- message = post_json "https://api.weixin.qq.com/shakearound/statistics/device?access_token=#{access_token}", body:
40
+ post_json "https://api.weixin.qq.com/shakearound/statistics/device?access_token=#{access_token}", body:
37
41
  {
38
42
  device_identifier: device_identifier,
39
- begin_date: normalize_date(date_range.min),
43
+ begin_date: normalize_date(date_range.min),
40
44
  end_date: normalize_date(date_range.max)
41
45
  }
42
- message.body
43
-
44
46
  end
45
47
 
46
48
  end
@@ -1,8 +1,12 @@
1
+ ##
2
+ # Device Group Relation 是管理 iBeacon 设备与设备分组关系的封装类。
3
+
1
4
  class Wechat::ShakeAround::DeviceGroupRelation
2
5
 
3
6
  extend Wechat::Core::Common
4
7
  extend Wechat::ShakeAround::Common
5
8
 
9
+ ##
6
10
  # 从分组中移除设备
7
11
  # http://mp.weixin.qq.com/wiki/10/9f6b498b6aa0eb5ef6b9ab5a70cc8fba.html#.E4.BB.8E.E5.88.86.E7.BB.84.E4.B8.AD.E7.A7.BB.E9.99.A4.E8.AE.BE.E5.A4.87
8
12
  #
@@ -21,14 +25,14 @@ class Wechat::ShakeAround::DeviceGroupRelation
21
25
  assert_present! :group_id, group_id
22
26
 
23
27
  device_identifier = normalize_device_id device_id
24
- message = post_json "https://api.weixin.qq.com/shakearound/device/group/deletedevice?access_token=#{access_token}", body:
28
+ post_json "https://api.weixin.qq.com/shakearound/device/group/deletedevice?access_token=#{access_token}", body:
25
29
  {
26
30
  group_id: group_id.to_i,
27
31
  device_identifiers: [ device_identifier ]
28
32
  }
29
- message.body
30
33
  end
31
34
 
35
+ ##
32
36
  # 添加设备到分组
33
37
  # http://mp.weixin.qq.com/wiki/10/9f6b498b6aa0eb5ef6b9ab5a70cc8fba.html#.E6.B7.BB.E5.8A.A0.E8.AE.BE.E5.A4.87.E5.88.B0.E5.88.86.E7.BB.84
34
38
  #
@@ -48,12 +52,11 @@ class Wechat::ShakeAround::DeviceGroupRelation
48
52
  assert_present! :group_id, group_id
49
53
 
50
54
  device_identifier = normalize_device_id device_id
51
- message = post_json "https://api.weixin.qq.com/shakearound/device/group/adddevice?access_token=#{access_token}", body:
55
+ post_json "https://api.weixin.qq.com/shakearound/device/group/adddevice?access_token=#{access_token}", body:
52
56
  {
53
57
  group_id: group_id.to_i,
54
58
  device_identifiers: [ device_identifier ]
55
59
  }
56
- message.body
57
60
  end
58
61
 
59
62
  end
@@ -1,8 +1,12 @@
1
+ ##
2
+ # Device Report 是 iBeacon 设备统计报表的封装类。
3
+
1
4
  class Wechat::ShakeAround::DeviceReport
2
5
 
3
6
  extend Wechat::Core::Common
4
7
  extend Wechat::ShakeAround::Common
5
8
 
9
+ ##
6
10
  # 批量查询设备统计数据接口
7
11
  # http://mp.weixin.qq.com/wiki/0/8a24bcacad40fe7ee98d1573cb8a6764.html#.E6.89.B9.E9.87.8F.E6.9F.A5.E8.AF.A2.E8.AE.BE.E5.A4.87.E7.BB.9F.E8.AE.A1.E6.95.B0.E6.8D.AE.E6.8E.A5.E5.8F.A3
8
12
  #
@@ -27,7 +31,7 @@ class Wechat::ShakeAround::DeviceReport
27
31
  # },
28
32
  # date: <DATE>, // 所查询的日期时间戳
29
33
  # total_count: <TOTAL_COUNT>, // 设备总数
30
- # page_index: <PAGE_INDEX>, // 所查询的结果页序号;返回结果按摇周边人数降序排序,每50条记录为一页
34
+ # page_index: <PAGE_INDEX>, // 所查询的结果页序号;返回结果按摇周边人数降序排序,每50条记录为一页
31
35
  # errcode: 0,
32
36
  # errmsg: 'success.'
33
37
  # }
@@ -40,12 +44,11 @@ class Wechat::ShakeAround::DeviceReport
40
44
  assert_present! :date, date
41
45
  assert_present! :page_index, page_index
42
46
 
43
- message = post_json "https://api.weixin.qq.com/shakearound/statistics/devicelist?access_token=#{access_token}", body:
47
+ post_json "https://api.weixin.qq.com/shakearound/statistics/devicelist?access_token=#{access_token}", body:
44
48
  {
45
- date: normalize_date(date),
49
+ date: normalize_date(date),
46
50
  page_index: page_index.to_i
47
51
  }
48
- message.body
49
52
  end
50
53
 
51
54
  end
@@ -1,8 +1,12 @@
1
+ ##
2
+ # Group 是 管理 iBeacon 设备分组的封装类。
3
+
1
4
  class Wechat::ShakeAround::Group
2
5
 
3
6
  extend Wechat::Core::Common
4
7
  extend Wechat::ShakeAround::Common
5
8
 
9
+ ##
6
10
  # 查询分组列表
7
11
  # http://mp.weixin.qq.com/wiki/10/9f6b498b6aa0eb5ef6b9ab5a70cc8fba.html#.E6.9F.A5.E8.AF.A2.E5.88.86.E7.BB.84.E5.88.97.E8.A1.A8
8
12
  #
@@ -30,14 +34,14 @@ class Wechat::ShakeAround::Group
30
34
 
31
35
  assert_present! :access_token, access_token
32
36
 
33
- message = post_json "https://api.weixin.qq.com/shakearound/device/group/getlist?access_token=#{access_token}", body:
37
+ post_json "https://api.weixin.qq.com/shakearound/device/group/getlist?access_token=#{access_token}", body:
34
38
  {
35
39
  begin: offset.to_i,
36
40
  count: limit.to_i
37
41
  }
38
- message.body
39
42
  end
40
43
 
44
+ ##
41
45
  # 查询分组详情
42
46
  # http://mp.weixin.qq.com/wiki/10/9f6b498b6aa0eb5ef6b9ab5a70cc8fba.html#.E6.9F.A5.E8.AF.A2.E5.88.86.E7.BB.84.E8.AF.A6.E6.83.85
43
47
  #
@@ -73,15 +77,15 @@ class Wechat::ShakeAround::Group
73
77
  assert_present! :access_token, access_token
74
78
  assert_present! :group_id, group_id
75
79
 
76
- message = post_json "https://api.weixin.qq.com/shakearound/device/group/getdetail?access_token=#{access_token}", body:
80
+ post_json "https://api.weixin.qq.com/shakearound/device/group/getdetail?access_token=#{access_token}", body:
77
81
  {
78
82
  group_id: group_id.to_i,
79
83
  begin: offset.to_i,
80
84
  count: limit.to_i
81
85
  }
82
- message.body
83
86
  end
84
87
 
88
+ ##
85
89
  # 删除分组
86
90
  # http://mp.weixin.qq.com/wiki/10/9f6b498b6aa0eb5ef6b9ab5a70cc8fba.html#.E5.88.A0.E9.99.A4.E5.88.86.E7.BB.84
87
91
  #
@@ -98,10 +102,13 @@ class Wechat::ShakeAround::Group
98
102
  assert_present! :access_token, access_token
99
103
  assert_present! :group_id, group_id
100
104
 
101
- message = post_json "https://api.weixin.qq.com/shakearound/device/group/delete?access_token=#{access_token}", body: { group_id: group_id.to_i }
102
- message.body
105
+ post_json "https://api.weixin.qq.com/shakearound/device/group/delete?access_token=#{access_token}", body:
106
+ {
107
+ group_id: group_id.to_i
108
+ }
103
109
  end
104
110
 
111
+ ##
105
112
  # 编辑分组信息
106
113
  # http://mp.weixin.qq.com/wiki/10/9f6b498b6aa0eb5ef6b9ab5a70cc8fba.html#.E7.BC.96.E8.BE.91.E5.88.86.E7.BB.84.E4.BF.A1.E6.81.AF
107
114
  #
@@ -120,14 +127,14 @@ class Wechat::ShakeAround::Group
120
127
  assert_present! :group_id, group_id
121
128
  assert_present! :name, name
122
129
 
123
- message = post_json "https://api.weixin.qq.com/shakearound/device/group/update?access_token=#{access_token}", body:
130
+ post_json "https://api.weixin.qq.com/shakearound/device/group/update?access_token=#{access_token}", body:
124
131
  {
125
132
  group_id: group_id.to_i,
126
133
  group_name: name
127
134
  }
128
- message.body
129
135
  end
130
136
 
137
+ ##
131
138
  # 新增分组
132
139
  # http://mp.weixin.qq.com/wiki/10/9f6b498b6aa0eb5ef6b9ab5a70cc8fba.html#.E6.96.B0.E5.A2.9E.E5.88.86.E7.BB.84
133
140
  #
@@ -148,8 +155,10 @@ class Wechat::ShakeAround::Group
148
155
  assert_present! :access_token, access_token
149
156
  assert_present! :name, name
150
157
 
151
- message = post_json "https://api.weixin.qq.com/shakearound/device/group/add?access_token=#{access_token}", body: { group_name: name }
152
- message.body
158
+ post_json "https://api.weixin.qq.com/shakearound/device/group/add?access_token=#{access_token}", body:
159
+ {
160
+ group_name: name
161
+ }
153
162
  end
154
163
 
155
164
  end
@@ -1,9 +1,13 @@
1
+ ##
2
+ # Icon 是图标管理的封装类。
3
+
1
4
  class Wechat::ShakeAround::Icon
2
5
 
3
6
  extend Wechat::Core::Common
4
7
  extend Wechat::ShakeAround::Common
5
8
  extend Wechat::ShakeAround::Material
6
9
 
10
+ ##
7
11
  # 上传图片素材
8
12
  # http://mp.weixin.qq.com/wiki/5/e997428269ff189d8f9a4b9e177be2d9.html
9
13
  #
@@ -1,9 +1,13 @@
1
+ ##
2
+ # License 是许可证管理的封装类。
3
+
1
4
  class Wechat::ShakeAround::License
2
5
 
3
6
  extend Wechat::Core::Common
4
7
  extend Wechat::ShakeAround::Common
5
8
  extend Wechat::ShakeAround::Material
6
9
 
10
+ ##
7
11
  # 上传图片素材
8
12
  # http://mp.weixin.qq.com/wiki/5/e997428269ff189d8f9a4b9e177be2d9.html
9
13
  #
@@ -2,6 +2,7 @@ require 'httpclient'
2
2
 
3
3
  module Wechat::ShakeAround::Material
4
4
 
5
+ ##
5
6
  # 上传图片素材
6
7
  # http://mp.weixin.qq.com/wiki/5/e997428269ff189d8f9a4b9e177be2d9.html
7
8
  #
@@ -1,8 +1,12 @@
1
+ ##
2
+ # Page 是管理页面的封装类。
3
+
1
4
  class Wechat::ShakeAround::Page
2
5
 
3
6
  extend Wechat::Core::Common
4
7
  extend Wechat::ShakeAround::Common
5
8
 
9
+ ##
6
10
  # 查询页面列表
7
11
  # http://mp.weixin.qq.com/wiki/5/6626199ea8757c752046d8e46cf13251.html#.E6.9F.A5.E8.AF.A2.E9.A1.B5.E9.9D.A2.E5.88.97.E8.A1.A8
8
12
  #
@@ -16,7 +20,7 @@ class Wechat::ShakeAround::Page
16
20
  # comment: <COMMENT>, // 页面的备注信息
17
21
  # description: <DESCRIPTION>, // 在摇一摇页面展示的副标题
18
22
  # icon_url: <ICON_LINK>, // 在摇一摇页面展示的图片
19
- # page_id: <PAGE_ID>, // 摇周边页面唯一ID
23
+ # page_id: <PAGE_ID>, // 摇周边页面唯一ID
20
24
  # page_url: <PAGE_LINK>, // 跳转链接
21
25
  # title: <TITLE> // 在摇一摇页面展示的主标题
22
26
  # },
@@ -33,15 +37,15 @@ class Wechat::ShakeAround::Page
33
37
  assert_present! :offset, offset
34
38
  assert_present! :limit, limit
35
39
 
36
- message = post_json "https://api.weixin.qq.com/shakearound/page/search?access_token=#{access_token}", body:
40
+ post_json "https://api.weixin.qq.com/shakearound/page/search?access_token=#{access_token}", body:
37
41
  {
38
- type: 2,
42
+ type: 2,
39
43
  begin: offset.to_i,
40
44
  count: limit.to_i
41
45
  }
42
- message.body
43
46
  end
44
47
 
48
+ ##
45
49
  # 查询页面列表
46
50
  # http://mp.weixin.qq.com/wiki/5/6626199ea8757c752046d8e46cf13251.html#.E6.9F.A5.E8.AF.A2.E9.A1.B5.E9.9D.A2.E5.88.97.E8.A1.A8
47
51
  #
@@ -55,7 +59,7 @@ class Wechat::ShakeAround::Page
55
59
  # comment: <COMMENT>, // 页面的备注信息
56
60
  # description: <DESCRIPTION>, // 在摇一摇页面展示的副标题
57
61
  # icon_url: <ICON_LINK>, // 在摇一摇页面展示的图片
58
- # page_id: <PAGE_ID>, // 摇周边页面唯一ID
62
+ # page_id: <PAGE_ID>, // 摇周边页面唯一ID
59
63
  # page_url: <PAGE_LINK>, // 跳转链接
60
64
  # title: <TITLE> // 在摇一摇页面展示的主标题
61
65
  # },
@@ -73,14 +77,14 @@ class Wechat::ShakeAround::Page
73
77
  assert_present! :access_token, access_token
74
78
  assert_present! :page_id, page_id
75
79
 
76
- message = post_json "https://api.weixin.qq.com/shakearound/page/search?access_token=#{access_token}", body:
80
+ post_json "https://api.weixin.qq.com/shakearound/page/search?access_token=#{access_token}", body:
77
81
  {
78
82
  type: 1,
79
83
  page_ids: normalize_page_ids(page_id)
80
84
  }
81
- message.body
82
85
  end
83
86
 
87
+ ##
84
88
  # 删除页面
85
89
  # http://mp.weixin.qq.com/wiki/5/6626199ea8757c752046d8e46cf13251.html#.E5.88.A0.E9.99.A4.E9.A1.B5.E9.9D.A2
86
90
  #
@@ -95,10 +99,13 @@ class Wechat::ShakeAround::Page
95
99
  assert_present! :access_token, access_token
96
100
  assert_present! :page_id, page_id
97
101
 
98
- message = post_json "https://api.weixin.qq.com/shakearound/page/delete?access_token=#{access_token}", body: { page_id: page_id.to_i }
99
- message.body
102
+ post_json "https://api.weixin.qq.com/shakearound/page/delete?access_token=#{access_token}", body:
103
+ {
104
+ page_id: page_id.to_i
105
+ }
100
106
  end
101
107
 
108
+ ##
102
109
  # 编辑页面信息
103
110
  # http://mp.weixin.qq.com/wiki/5/6626199ea8757c752046d8e46cf13251.html#.E7.BC.96.E8.BE.91.E9.A1.B5.E9.9D.A2.E4.BF.A1.E6.81.AF
104
111
  #
@@ -112,7 +119,7 @@ class Wechat::ShakeAround::Page
112
119
  # title 在摇一摇页面展示的主标题,不超过6个汉字或12个英文字母。
113
120
  # description 在摇一摇页面展示的副标题,不超过7个汉字或14个英文字母。
114
121
  # comment 页面的备注信息,不超过15个汉字或30个英文字母。
115
- # icon_link 在摇一摇页面展示的图片。图片需先上传至微信侧服务器,用“素材管理-上传图片素材”接口上传图片,返回的图片URL再配置在此处。
122
+ # icon_link 在摇一摇页面展示的图片。图片需先上传至微信侧服务器,用“素材管理-上传图片素材”接口上传图片,返回的图片URL再配置在此处。
116
123
  def self.update(access_token, page_id, title, description, comment, page_link, icon_link)
117
124
 
118
125
  assert_present! :access_token, access_token
@@ -123,7 +130,7 @@ class Wechat::ShakeAround::Page
123
130
  assert_present! :page_link, page_link
124
131
  assert_present! :icon_link, icon_link
125
132
 
126
- message = post_json "https://api.weixin.qq.com/shakearound/page/update?access_token=#{access_token}", body:
133
+ post_json "https://api.weixin.qq.com/shakearound/page/update?access_token=#{access_token}", body:
127
134
  {
128
135
  page_id: page_id.to_i,
129
136
  title: title,
@@ -132,9 +139,9 @@ class Wechat::ShakeAround::Page
132
139
  comment: comment,
133
140
  icon_url: icon_link
134
141
  }
135
- message.body
136
142
  end
137
143
 
144
+ ##
138
145
  # 新增页面
139
146
  # http://mp.weixin.qq.com/wiki/5/6626199ea8757c752046d8e46cf13251.html#.E6.96.B0.E5.A2.9E.E9.A1.B5.E9.9D.A2
140
147
  #
@@ -148,7 +155,7 @@ class Wechat::ShakeAround::Page
148
155
  # title 在摇一摇页面展示的主标题,不超过6个汉字或12个英文字母。
149
156
  # description 在摇一摇页面展示的副标题,不超过7个汉字或14个英文字母。
150
157
  # comment 页面的备注信息,不超过15个汉字或30个英文字母。
151
- # icon_link 在摇一摇页面展示的图片。图片需先上传至微信侧服务器,用“素材管理-上传图片素材”接口上传图片,返回的图片URL再配置在此处。
158
+ # icon_link 在摇一摇页面展示的图片。图片需先上传至微信侧服务器,用“素材管理-上传图片素材”接口上传图片,返回的图片URL再配置在此处。
152
159
  def self.create(access_token, title, description, comment, page_link, icon_link)
153
160
 
154
161
  assert_present! :access_token, access_token
@@ -158,7 +165,7 @@ class Wechat::ShakeAround::Page
158
165
  assert_present! :page_link, page_link
159
166
  assert_present! :icon_link, icon_link
160
167
 
161
- message = post_json "https://api.weixin.qq.com/shakearound/page/add?access_token=#{access_token}", body:
168
+ post_json "https://api.weixin.qq.com/shakearound/page/add?access_token=#{access_token}", body:
162
169
  {
163
170
  title: title,
164
171
  description: description,
@@ -166,7 +173,6 @@ class Wechat::ShakeAround::Page
166
173
  comment: comment,
167
174
  icon_url: icon_link
168
175
  }
169
- message.body
170
176
  end
171
177
 
172
178
  end
@@ -1,8 +1,12 @@
1
+ ##
2
+ # Page Daily Report 是页面每日统计报表的封装类。
3
+
1
4
  class Wechat::ShakeAround::PageDailyReport
2
5
 
3
6
  extend Wechat::Core::Common
4
7
  extend Wechat::ShakeAround::Common
5
8
 
9
+ ##
6
10
  # 以页面为维度的数据统计接口
7
11
  # http://mp.weixin.qq.com/wiki/0/8a24bcacad40fe7ee98d1573cb8a6764.html#.E4.BB.A5.E9.A1.B5.E9.9D.A2.E4.B8.BA.E7.BB.B4.E5.BA.A6.E7.9A.84.E6.95.B0.E6.8D.AE.E7.BB.9F.E8.AE.A1.E6.8E.A5.E5.8F.A3
8
12
  #
@@ -23,7 +27,7 @@ class Wechat::ShakeAround::PageDailyReport
23
27
  # errmsg: 'success.'
24
28
  # }
25
29
  #
26
- # page_id is an integer 指定页面的ID
30
+ # page_id is an integer 指定页面的ID
27
31
  # date_range is a string range like 'yyyy-mm-dd'..'yyyy-mm-dd'.
28
32
  def self.index(access_token, page_id, date_range)
29
33
 
@@ -31,13 +35,12 @@ class Wechat::ShakeAround::PageDailyReport
31
35
  assert_present! :page_id, page_id
32
36
  assert_present! :date_range, date_range
33
37
 
34
- message = post_json "https://api.weixin.qq.com/shakearound/statistics/page?access_token=#{access_token}", body:
38
+ post_json "https://api.weixin.qq.com/shakearound/statistics/page?access_token=#{access_token}", body:
35
39
  {
36
40
  page_id: page_id.to_i,
37
- begin_date: normalize_date(date_range.min),
41
+ begin_date: normalize_date(date_range.min),
38
42
  end_date: normalize_date(date_range.max)
39
43
  }
40
- message.body
41
44
  end
42
45
 
43
46
  end
@@ -1,8 +1,12 @@
1
+ ##
2
+ # Page Report 是页面统计报表的封装类。
3
+
1
4
  class Wechat::ShakeAround::PageReport
2
5
 
3
6
  extend Wechat::Core::Common
4
7
  extend Wechat::ShakeAround::Common
5
8
 
9
+ ##
6
10
  # 批量查询页面统计数据接口
7
11
  # http://mp.weixin.qq.com/wiki/0/8a24bcacad40fe7ee98d1573cb8a6764.html#.E6.89.B9.E9.87.8F.E6.9F.A5.E8.AF.A2.E9.A1.B5.E9.9D.A2.E7.BB.9F.E8.AE.A1.E6.95.B0.E6.8D.AE.E6.8E.A5.E5.8F.A3
8
12
  #
@@ -24,7 +28,7 @@ class Wechat::ShakeAround::PageReport
24
28
  # },
25
29
  # date: <DATE>, // 所查询的日期时间戳
26
30
  # total_count: <TOTAL_COUNT>, // 页面总数
27
- # page_index: <PAGE_INDEX>, // 所查询的结果页序号;返回结果按摇周边人数降序排序,每50条记录为一页
31
+ # page_index: <PAGE_INDEX>, // 所查询的结果页序号;返回结果按摇周边人数降序排序,每50条记录为一页
28
32
  # errcode: 0,
29
33
  # errmsg: 'success.'
30
34
  # }
@@ -37,12 +41,11 @@ class Wechat::ShakeAround::PageReport
37
41
  assert_present! :date, date
38
42
  assert_present! :page_index, page_index
39
43
 
40
- message = post_json "https://api.weixin.qq.com/shakearound/statistics/pagelist?access_token=#{access_token}", body:
44
+ post_json "https://api.weixin.qq.com/shakearound/statistics/pagelist?access_token=#{access_token}", body:
41
45
  {
42
- date: normalize_date(date),
46
+ date: normalize_date(date),
43
47
  page_index: page_index.to_i
44
48
  }
45
- message.body
46
49
  end
47
50
 
48
51
  end
@@ -1,8 +1,12 @@
1
+ ##
2
+ # Registration 是账号注册管理的封装类。
3
+
1
4
  class Wechat::ShakeAround::Registration
2
5
 
3
6
  extend Wechat::Core::Common
4
7
  extend Wechat::ShakeAround::Common
5
8
 
9
+ ##
6
10
  # 查询审核状态
7
11
  # http://mp.weixin.qq.com/wiki/13/025f1d471dc999928340161c631c6635.html#.E6.9F.A5.E8.AF.A2.E5.AE.A1.E6.A0.B8.E7.8A.B6.E6.80.81
8
12
  #
@@ -26,10 +30,10 @@ class Wechat::ShakeAround::Registration
26
30
 
27
31
  assert_present! :access_token, access_token
28
32
 
29
- message = get_json "https://api.weixin.qq.com/shakearound/account/auditstatus?access_token=#{access_token}"
30
- message.body
33
+ get_json "https://api.weixin.qq.com/shakearound/account/auditstatus?access_token=#{access_token}"
31
34
  end
32
35
 
36
+ ##
33
37
  # 申请开通功能
34
38
  # http://mp.weixin.qq.com/wiki/13/025f1d471dc999928340161c631c6635.html#.E7.94.B3.E8.AF.B7.E5.BC.80.E9.80.9A.E5.8A.9F.E8.83.BD
35
39
  # 成功提交申请请求后,工作人员会在三个工作日内完成审核。
@@ -6,6 +6,7 @@ class Wechat::ShakeAround::Shaking
6
6
  extend Wechat::Core::Common
7
7
  extend Wechat::ShakeAround::Common
8
8
 
9
+ ##
9
10
  # 获取摇周边的设备及用户信息
10
11
  # http://mp.weixin.qq.com/wiki/3/34904a5db3d0ec7bb5306335b8da1faf.html
11
12
  #
@@ -32,12 +33,11 @@ class Wechat::ShakeAround::Shaking
32
33
  assert_present! :access_token, access_token
33
34
  assert_present! :ticket, ticket
34
35
 
35
- message = post_json "https://api.weixin.qq.com/shakearound/user/getshakeinfo?access_token=#{access_token}", body:
36
+ post_json "https://api.weixin.qq.com/shakearound/user/getshakeinfo?access_token=#{access_token}", body:
36
37
  {
37
38
  ticket: ticket,
38
39
  need_poi: 1
39
40
  }
40
- message.body
41
41
  end
42
42
 
43
43
  end
@@ -1,5 +1,5 @@
1
1
  module Wechat
2
2
  module ShakeAround
3
- VERSION = '0.9.1'.freeze
3
+ VERSION = '0.9.2'.freeze
4
4
  end
5
5
  end
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency 'rake', '~> 11.0'
31
31
  spec.add_development_dependency 'rspec', '~> 3.0'
32
32
 
33
- spec.add_dependency 'httpclient', '>= 2.8'
33
+ spec.add_dependency 'httpclient', '~> 2.8'
34
34
  spec.add_dependency 'wechat-core', '~> 0.4'
35
35
 
36
36
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wechat-shake_around
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Topbit Du
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-01-19 00:00:00.000000000 Z
11
+ date: 2017-04-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -56,14 +56,14 @@ dependencies:
56
56
  name: httpclient
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '2.8'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '2.8'
69
69
  - !ruby/object:Gem::Dependency