qingting_api 0.1.5 → 0.3.0

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: f6656001c6cf4598d4edf825161f4435c67ecaa0
4
- data.tar.gz: c5d96d5f08dde055b5709afb12463330d2c1f5c0
3
+ metadata.gz: 863714ea2312c498b85964d27d465ebf5407de99
4
+ data.tar.gz: 3b2f9e14f206bda8c335028d086d83254a82fd93
5
5
  SHA512:
6
- metadata.gz: d1c72d1cb5fbdecd9d7a37b36549629ac4532eb947a3f023d863336793ecc14eef07e52fcf6c31ef84f80741a78c54115514cccb05ff95ebedbb6610c6b9a28c
7
- data.tar.gz: 431c91bf58881e9545dad59c6a77c9f6281a50fec00acfe1a5dd34e8b7a0d1b6f629e54c34606aea3523249209cafb9f3830cf35247bcd694b7ec02b9ae1bd52
6
+ metadata.gz: 527912eaf379bf186af62eaac834a3111d80e40685172c23b8ae362ed0331acfe9a6af35ae9df00d88cd7bc654904c7ecf0effd2ae4e988391f1f53ea5d8f441
7
+ data.tar.gz: 3f79c238895307d94c68098d01c7bf9064c30ba86b6ecf0e0814b550793ab43e0052c9077eb3ae4c7cbbed49f6f4555167cfe2dcbb75c728c75b2dcc25855074
data/README.md CHANGED
@@ -1,9 +1,10 @@
1
- # QingtingApi
1
+ # Qingting
2
2
 
3
- 蜻蜓FM,接口
4
- http://open.qingting.fm/documents/API%20%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3/
3
+ 蜻蜓FM Ruby API
5
4
 
6
- ## 安装
5
+ [API 开发文档](http://open.qingting.fm/documents/API%20%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3/)
6
+
7
+ ## 安装
7
8
 
8
9
  在您的 `Gemfile` 里面添加:
9
10
 
@@ -16,75 +17,160 @@ gem 'qingting_api'
16
17
  ``` bash
17
18
  # 安装gem
18
19
  bundle
19
-
20
+
20
21
  rails g qingting_api:config # 将会拷贝配置文件至 `config/initializers/qingting_api.rb`
21
22
  ```
22
23
 
23
24
  ## 配置
24
25
 
25
26
  ``` ruby
26
- SmartSMS.configure do |config|
27
-
28
- # config.base_url = "http://api.open.qingting.fm" # api url
29
- # config.client_id = "ZTk4MzAwMzAtYWFiOC0xMWU0LTkyM2YtMDAxNjNlMDAyMGFk" # 授权 API client_id
30
- # config.client_secret = "OTdiNmI0MWEtYzhiZC0zYWE1LWExZmEtMDU0OWZhNTljZmRk" # 授权 API client_secret
31
- # config.api_version = :v6 # API 的版本,目前有v6
32
- # config.page_num = 1 # 获取信息时, 指定默认的页数
33
- # config.page_size = 30 # 获取信息时, 一页包含信息数量
34
- # config.company = 'Cheenwe' # 申请api公司名称
35
- # config.expires_in = 7200.second # 过期时间。当access_token过期时,API会返回token_expired错误。这时需要重新申请access token
27
+ Qingting.configure do |config|
28
+ # config.base_url = "http://api.open.qingting.fm" # api url
29
+ # config.client_id = "ZTk4MzAwMzAtYWFiOC0xMWU0LTkyM2YtMDAxNjNlMDAyMGFk" # 授权 API client_id
30
+ # config.client_secret = "OTdiNmI0MWEtYzhiZC0zYWE1LWExZmEtMDU0OWZhNTljZmRk" # 授权 API client_secret
31
+ # config.api_version = :v6 # API 的版本,目前有v6
32
+ # config.page_num = 1 # 获取信息时, 指定默认的页数
33
+ # config.page_size = 30 # 获取信息时, 一页包含信息数量
36
34
  end
37
35
  ```
38
36
 
39
37
  ## 接口方法
40
38
 
41
- #### 音频数据中心
42
- > |方法|API|说明
43
- |:----- |:-------|----- |
44
- |QingtingApi.mediacenterlist | /v6/media/mediacenterlist | 获取域名中心
39
+ Autho2.0授权
40
+ ----
41
+
42
+ | 方法 | API | 接口文档 | 说明 |
43
+ | --- | --- | --- | --- |
44
+ | QingtingApi::Account.access_token | /access | [Autho2.0授权](http://open.qingting.fm/documents/documents/Autho2.0授权/) | |
45
+
46
+ 音频数据中心
47
+ ----
48
+
49
+ | 方法 | API | 接口文档 | 说明 |
50
+ | --- | --- | --- | --- |
51
+ | QingtingApi.mediacenterlist | /v6/media/mediacenterlist | <a href="http://open.qingting.fm/documents/documents/获取音频流拼取规则/">获取域名中心</a> | |
52
+
53
+
54
+ 分类(Category)
55
+ ----
56
+
57
+ | 方法 | API | 接口文档 | 说明 |
58
+ | --- | --- | --- | --- |
59
+ | QingtingApi.categories | /v6/media/categories | <a href="http://open.qingting.fm/documents/documents/获取点播所有分类/">获取点播所有分类</a> | |
60
+ | QingtingApi.category(id) | /v6/media/categories/5 | <a href="http://open.qingting.fm/documents/documents/直播分类及获取直播属性/">直播分类及获取直播属性</a> | |
61
+ | QingtingApi.category(id) | /v6/media/categories/#{category_id} | <a href="http://open.qingting.fm/documents/documents/获取某个分类下的属性/">获取分类属性</a> | |
62
+ | QingtingApi.channels(category_id, current_page, page_size) | /v6/media/categories/#{category_id}/channels/order/0/curpage/#{curpage}/pagesize/30 | <a href="http://open.qingting.fm/documents/documents/获取分类下的所有电台或直播电台/">获取分类下的所有电台或直播电台</a> | |
63
+ | QingtingApi.channels_attr(category_id, attrs, current_page, page_size) | /v6/media/categories/#{category_id}/channels/order/0/attr/#{attr_id_1}/#{attr_id_2}/.../curpage/#{curpage}/pagesize/30 | <a href="http://open.qingting.fm/documents/documents/获取分类下的所有电台或直播电台,并按属性筛选/">通过属性筛选分类的点播电台或直播电台</a> | |
64
+ | QingtingApi.recommend_guides | /v6/media/recommends/guides/section/#{section_id} | <a href="http://open.qingting.fm/documents/documents/获取点播分类推荐/">点播分类推荐</a> | |
65
+ | QingtingApi.live_banner | /v6/media/recommend/live/banner | <a href="http://open.qingting.fm/documents/documents/获取直播banner内容/">直播banner内容</a> | |
66
+
67
+
68
+
69
+ 点播(OnDemand)
70
+ ----
71
+
72
+ | 方法 | API | 接口文档 | 说明 |
73
+ | --- | --- | --- | --- |
74
+ | QingtingApi.channelondemand(channel_id) | /v6/media/channelondemands/#{channel_id} | <a href="http://open.qingting.fm/documents/documents/获取点播电台/">获取点播电台</a> | |
75
+ | QingtingApi.channel(id)| /wapi/channels/#{channel_id} | <a href="http://open.qingting.fm/documents/documents/(新)获取点播电台/">(新)获取点播电台</a> | |
76
+ | QingtingApi.wapi_programs(channel_id, curpage, page_size) | /wapi/channelondemands/#{channel_id}/programs/curpage/#{curpage}/pagesize/#{pagesize} | <a href="http://open.qingting.fm/documents/documents/(新)获取点播电台节目单/">(新)获取点播电台节目单</a> | |
77
+ | QingtingApi.programs(channel_id, curpage, page_size) | /v6/media/channelondemands/#{channel_id}/programs/curpage/#{curpage}/pagesize/30 | <a href="http://open.qingting.fm/documents/documents/获取点播电台下的点播节目/">获取点播电台下的点播节目</a> | |
78
+
79
+ | QingtingApi.program(id) | /v6/media/programs/#{programid} | <a href="http://open.qingting.fm/documents/documents/获取点播节目/">获取点播节目</a> | |
80
+ | QingtingApi.recommends(channel_id, curpage, page_size) | /v6/media/channelondemands/#{channel_id}/recommends/curpage/#{curpage}/pagesize/#{pagesize} | <a href="http://open.qingting.fm/documents/documents/获取电台推荐列表/">获取电台推荐列表</a> | |
81
+
82
+
83
+ 直播(Live)
84
+ ----
85
+
86
+ | 方法 | API | 接口文档 | 说明 |
87
+ | --- | --- | --- | --- |
88
+ | QingtingApi.channellive(id) | /v6/media/channellives/#{channel_id} | <a href="http://open.qingting.fm/documents/documents/获取直播电台/">获取直播电台</a> | |
89
+ | QingtingApi.live_channel(id) | /wapi/channels/#{channel_id} | <a href="http://open.qingting.fm/documents/documents/(新)获取直播电台/">(新)获取直播电台</a> | |
90
+ | QingtingApi.channellives(channel_id, days) | /v6/media/channellives/#{channel_id}/programs/day/#{day_1}/#{day_2}/.../ | <a href="http://open.qingting.fm/documents/documents/获取直播电台节目单/">获取直播电台节目单</a> | days: day1,day2,day3,... |
91
+ | QingtingApi.nowplaying(day_of_week) | /v6/media/recommends/nowplaying/day/#{day_of_week} | <a href="http://open.qingting.fm/documents/documents/获取正在直播电台列表/">获取正在直播电台列表</a> | |
92
+
93
+
94
+ 临时直播节目(Live)
95
+ ----
96
+
97
+ | 方法 | API | 接口文档 | 说明 |
98
+ | --- | --- | --- | --- |
99
+ | QingtingApi.program(id) | /v6/media/programs/#{programid} | <a href="http://open.qingting.fm/documents/documents/获取临时直播信息/">获取临时直播信息</a> | |
100
+
101
+ 排行榜
102
+ ----
103
+
104
+ | 方法 | API | 接口文档 | 说明 |
105
+ | --- | --- | --- | --- |
106
+ | QingtingApi.recommends_billboards_channellives | /v6/media/recommends/billboards/channellives | <a href="http://open.qingting.fm/documents/documents/电台排行榜/">电台排行榜</a> | |
107
+ | QingtingApi.recommends_billboards_programondemands | /v6/media/recommends/billboards/programondemands | <a href="http://open.qingting.fm/documents/documents/点播节目排行榜/">点播节目排行榜</a> | |
108
+ | QingtingApi.categories_billboard(category_id) | /wapi/categories/#{category_id}/channels/billboard | <a href="http://open.qingting.fm/documents/documents/分类排行榜/">分类排行榜</a> | |
109
+ | QingtingApi.type_billboard(category_id,type) | /v6/media/categories/#{category_id}/channels/billboard/#{type} | <a href="http://open.qingting.fm/documents/documents/获取不同类型的分类排行榜/">获取不同类型的分类排行榜</a> | |
110
+
111
+ 搜索
112
+ ----
113
+
114
+ | 方法 | API | 接口文档 | 说明 |
115
+ | --- | --- | --- | --- |
116
+ | QingtingApi.newsearch(keyword, type) | /newsearch/#{keyword}/type/#{type} | <a href="http://open.qingting.fm/documents/documents/新搜索/">新搜索</a> | |
117
+ | QingtingApi.search_hotkeywords | /search/hotkeywords | <a href="http://open.qingting.fm/documents/documents/搜索热词/">搜索热词</a> | |
118
+ | QingtingApi.suggest(keyword) | /newsearch/suggest?k=#{keyword} | <a href="http://open.qingting.fm/documents/documents/获取搜索提示/">获取搜索提示</a> | |
119
+
120
+ 获取内容更新状态
121
+ ----
122
+
123
+ | 方法 | API | 接口文档 | 说明 |
124
+ | --- | --- | --- | --- |
125
+ | QingtingApi.categories_recent(start_time, end_time) | /v6/media/categories/recent/starttime/#{starttime}/endtime/#{endtime} | <a href="http://open.qingting.fm/documents/documents/获取点播分类的更新状态/">获取点播分类的更新状态</a> | |
126
+ | QingtingApi.channels_recent(category_id, start_time, end_time, current_page=1, page_size=30) | /v6/media/categories/#{category_id}/recent/channels/starttime/#{starttime}/endtime/#{endtime}/curpage/#{curpage}/pagesize/#{pagesize} | <a href="http://open.qingting.fm/documents/documents/查询某个点播分类在指定时间段内所有点播分类的更新状态/">查询某个点播分类在指定时间段内所有点播分类的更新状态</a> | |
127
+ | QingtingApi.channelondemands_recent(channelondemand_id, start_time, end_time, current_page=1, page_size=30) | /v6/media/channelondemands/#{channelondemand_id}/recent/starttime/#{starttime}/endtime/#{endtime}/curpage/#{curpage}/pagesize/#{pagesize} | <a href="http://open.qingting.fm/documents/documents/查询某个点播专辑在指定时间段内节目的更新状态/">查询某个点播专辑在指定时间段内节目的更新状态</a> | |
128
+ | QingtingApi.live_recent(start_time, end_time, current_page=1, page_size=30) | /v6/media/categories/live/recent/channels/starttime/#{starttime}/endtime/#{endtime}/curpage/#{curpage}/pagesize/#{pagesize} | <a href="http://open.qingting.fm/documents/documents/查询直播电台在指定时间段内的更新状态/">查询直播电台在指定时间段内的更新状态</a> | |
129
+
130
+ 主播
131
+ ----
132
+
133
+ | 方法 | API | 接口文档 | 说明 |
134
+ | --- | --- | --- | --- |
135
+ | QingtingApi.podcaster_guides | /v6/media/podcasters/guides | <a href="http://open.qingting.fm/documents/documents/获取主播推荐页面信息/">获取主播推荐页面信息</a> | |
136
+ | QingtingApi.podcasters_attributes | /v6/media/podcasters/attributes | <a href="http://open.qingting.fm/documents/documents/获取主播分类属性/">获取主播分类属性</a> | |
137
+ | QingtingApi.podcasters_type(type, page) | /v6/media/podcasters/type/#{type}/page/#{page} | <a href="http://open.qingting.fm/documents/documents/获取主播排行榜或新增主播/">获取主播排行榜或新增主播</a> | |
138
+ | QingtingApi.podcasters_recommends | /v6/media/podcasters/attr/#{attrIds}/page/#{page} | <a href="http://open.qingting.fm/documents/documents/获取属性的所有主播/">获取属性的所有主播</a> | |
139
+ | QingtingApi.podcasters_attr(attr_ids, page) | /v6/media/podcasters/recommends | <a href="http://open.qingting.fm/documents/documents/获取推荐的主播/">获取推荐的主播</a> | |
140
+ | QingtingApi.podcaster(id) | /v6/media/podcasters/#{qingting_id} | <a href="http://open.qingting.fm/documents/documents/获取主播信息/">获取主播信息</a> | |
141
+ | QingtingApi.podcasters_channelondemands(qingting_id) | /v6/media/podcasters/#{qingting_id}/channelondemands | <a href="http://open.qingting.fm/documents/documents/获取主播专辑列表/">获取主播专辑列表</a> | |
142
+ | QingtingApi.podcasters_recent(qingting_id) | /v6/media/podcasters/#{qingting_id}/recent | <a href="http://open.qingting.fm/documents/documents/获取主播最近更新节目/">获取主播最近更新节目</a> | |
45
143
 
46
- #### 分类(Category)
144
+ 此刻
145
+ ----
47
146
 
48
- > |方法|API|说明
49
- |:----- |:-------|----- |
50
- |QingtingApi.categories | /v6/media/categories | 获取点播所有分类
51
- |QingtingApi.get("categories/5") /QingtingApi.get_id("categories",5) | /v6/media/categories/5 |直播分类及获取直播属性
52
- |QingtingApi.get("categories/5") /QingtingApi.get_id("categories",5) | /v6/media/categories/#{category_id} |获取分类属性
53
- |QingtingApi.catrgory_channel(category_id, curpage, page_size) | /v6/media/categories/#{category_id}/channels/order/0/curpage/#{curpage}/pagesize/30 |获取分类下的所有电台或直播电台
54
-
55
- #### 点播(OnDemand)
147
+ | 方法 | API | 接口文档 | 说明 |
148
+ | --- | --- | --- | --- |
149
+ | QingtingApi.now| /v6/media/now | <a href="http://open.qingting.fm/documents/documents/获取此时此刻节目列表/">获取此时此刻节目列表</a> | |
56
150
 
57
- > |方法|API|说明
58
- |:----- |:-------|----- |
59
- |QingtingApi.get("channelondemands/35242") / QingtingApi.get_id("channelondemands",35242) | /v6/media/channelondemands/#{channel_id} | 获取点播电台
60
- |QingtingApi.ondemand_channel(35242,1,30) | /v6/media/channelondemands/#{channel_id}/programs/curpage/#{curpage}/pagesize/30 | 获取点播电台下的点播节目
61
- |QingtingApi.get("programs/3568700") / QingtingApi.get_id("programs",3568700) | /v6/media/programs/#{programid}| 获取点播节目
151
+ 专题
152
+ ----
62
153
 
63
- #### 直播(Live)
154
+ | 方法 | API | 接口文档 | 说明 |
155
+ | --- | --- | --- | --- |
156
+ | QingtingApi.topic(topic_id) | /v6/media/topics/#{topic_id} | <a href="http://open.qingting.fm/documents/documents/获取专题的专辑列表/">获取专题的专辑列表</a> | |
64
157
 
65
- > |方法|API|说明
66
- |:----- |:-------|----- |
67
- |QingtingApi.get("channellives/266") / QingtingApi.get_id("channellives",266) | /v6/media/channellives/#{channel_id} | 获取直播电台
68
- |QingtingApi.live_channel(266,4) | /v6/media/channellives/#{channel_id}/programs/day/#{day_1}/#{day_2}/.../ | 获取直播电台节目单
69
- #### 排行榜
158
+ 活动
159
+ ----
70
160
 
71
- > |方法|API|说明
72
- |:----- |:-------|----- |
73
- |QingtingApi.get("recommends/billboards/channellives") | /v6/media/recommends/billboards/channellives | 电台排行榜
74
- |QingtingApi.get("recommends/billboards/programondemands") | /v6/media/recommends/billboards/programondemands | 点播节目排行榜
161
+ | 方法 | API | 接口文档 | 说明 |
162
+ | --- | --- | --- | --- |
163
+ | QingtingApi.activity(activity_id) | v6/media/activities/#{activity_id} | <a href="http://open.qingting.fm/documents/documents/获取活动信息/">获取活动信息</a> | |
75
164
 
76
- #### 搜索
77
- > |方法|API|说明
78
- |:----- |:-------|----- |
79
- |QingtingApi.search("上海") /QingtingApi.search("上海","channel_ondemand") | /search/#{keyword}/type/#{type}| 搜索
80
-
81
165
 
82
166
 
83
167
  ## Change log
84
168
 
85
- > |时间|版本|说明|
86
- |:----- |:-------|----- |
87
- |2015.12.08 | 0.1.5 |添加自定义分页参数 |
169
+ | 时间 | 版本 | 接口文档 |
170
+ | --- | ---- | ---- |
171
+ |2015.12.08 | 0.1.5 | 添加自定义分页参数 |
172
+ |2016.12.31 | 0.2.0 | API 接口更新 |
173
+ |2017.01.03~01.08 | 0.3.0 | 重构全部接口 |
88
174
 
89
175
  ## Contributing
90
176
 
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "qingting_api"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
@@ -1,14 +1,14 @@
1
1
  require 'rails/generators'
2
2
  require 'rails/generators/active_record'
3
3
 
4
- module QingtingApi
4
+ module Qingting
5
5
  module Generators
6
6
  class ConfigGenerator < Rails::Generators::Base
7
7
  source_root File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
8
8
 
9
9
  desc <<-DESC
10
10
  Description:
11
- Copies QingtingApi configuration file to your application's initializer directory.
11
+ Copies Qingting configuration file to your application's initializer directory.
12
12
  DESC
13
13
 
14
14
  def copy_config_file
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
- QingtingApi.configure do |config|
3
+ Qingting.configure do |config|
4
4
 
5
5
  # config.base_url = "http://api.open.qingting.fm" # api url
6
6
  # config.client_id = "ZTk4MzAwMzAtYWFiOC0xMWU0LTkyM2YtMDAxNjNlMDAyMGFk" # 授权 API client_id
@@ -0,0 +1,44 @@
1
+ # encoding: utf-8
2
+ module Qingting
3
+ module Api
4
+ module Account
5
+ extend self
6
+
7
+ # 获取账户 token
8
+ #
9
+ def access_token
10
+ token_hash['access_token']
11
+ end
12
+
13
+ def token_hash
14
+ validate_token_hash
15
+ @token_hash ||=
16
+ begin
17
+ @token_request_at = Time.now
18
+ params = {
19
+ grant_type: Base.get_grant_type,
20
+ client_id: Base.get_client_id,
21
+ client_secret: Base.get_client_secret
22
+ }
23
+ url = Base.access_url
24
+ result = Utils::Request.post(url, params: params)
25
+ result
26
+ end
27
+ end
28
+
29
+ # Check token expired or not
30
+ def validate_token_hash
31
+ if @token_request_at and
32
+ @token_hash and @token_hash['expires_in'] and
33
+ (Time.now - @token_request_at) > @token_hash['expires_in'].to_i
34
+ @token_hash = nil
35
+ elsif @token_request_at and
36
+ @token_hash and @token_hash['expires_in']
37
+ @token_hash['access_token']
38
+ else
39
+ puts "start get token ..."
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,62 @@
1
+ module Qingting
2
+ module Api
3
+ module Base
4
+ extend self
5
+
6
+ def base_url
7
+ Config::get('base_url')
8
+ end
9
+
10
+ def media_url
11
+ base_url + '/v6/media/'
12
+ end
13
+
14
+ def wapi_url
15
+ base_url + '/wapi/'
16
+ end
17
+
18
+ def access_url
19
+ base_url + '/access'
20
+ end
21
+
22
+ def params
23
+ {
24
+ access_token: token
25
+ }
26
+ end
27
+
28
+
29
+ # 1. Base.v6_categories
30
+ # 2. Base.wapi_categories
31
+ # 3. Base.get_client_id
32
+ def method_missing(name, *args)
33
+ if name =~ /^v6_[\w]+/
34
+ name = name.to_s.gsub("v6_", "")
35
+ # puts name
36
+ media_url + name.to_s.gsub('_',"/")
37
+
38
+ # puts base_url + '/v6/media/' + name.to_s.gsub('_',"/")
39
+
40
+ elsif name =~ /^wapi_[\w]+/
41
+ name = name.to_s.gsub("wapi_", "")
42
+ base_url + '/wapi/' + name.to_s.gsub('_',"/")
43
+
44
+ elsif name =~ /^get_[\w]+/
45
+ name = name.to_s.gsub("get_", "")
46
+ Config::get(name)
47
+ end
48
+ end
49
+
50
+ def token
51
+ Account.access_token
52
+ end
53
+
54
+
55
+ def request(url)
56
+ Utils::Request.get(url, params: params)
57
+ end
58
+
59
+ end
60
+ end
61
+ end
62
+
@@ -0,0 +1,40 @@
1
+ require 'qingting/api/base'
2
+
3
+ module Qingting
4
+ module Api
5
+ module Billboard
6
+ # extend self
7
+
8
+ def self.included(base)
9
+ base.send :extend, ClassMethods
10
+ end
11
+
12
+ # Class methods
13
+ module ClassMethods
14
+
15
+ def recommends_billboards_channellives
16
+ url = eval("Base.v6_recommends_billboards_channellives")
17
+ Base.request(url)
18
+ end
19
+
20
+ def recommends_billboards_programondemands
21
+ url = eval("Base.v6_recommends_billboards_programondemands")
22
+ Base.request(url)
23
+ end
24
+
25
+ def categories_billboard(category_id)
26
+ url = eval("Base.v6_categories_#{category_id}_channels_billboard")
27
+ Base.request(url)
28
+ end
29
+
30
+ def type_billboard(category_id,type)
31
+ url = eval("Base.v6_categories_#{category_id}_channels_billboard_#{type}")
32
+ Base.request(url)
33
+ end
34
+
35
+ end
36
+ end
37
+ end
38
+ end
39
+
40
+
@@ -0,0 +1,51 @@
1
+ require 'qingting/api/base'
2
+
3
+ module Qingting
4
+ module Api
5
+ module Category
6
+ # extend self
7
+
8
+ def self.included(base)
9
+ base.send :extend, ClassMethods
10
+ end
11
+
12
+ # Class methods
13
+ module ClassMethods
14
+ def mediacenterlist
15
+ Base.request(Base.v6_mediacenterlist)
16
+ end
17
+
18
+ def categories
19
+ Base.request(Base.v6_categories)
20
+ end
21
+
22
+ def category(id)
23
+ url = eval("Base.v6_categories_#{id}")
24
+ Base.request(url)
25
+ end
26
+
27
+ def channels(category_id, current_page = Base.get_current_page, page_size = Base.get_page_size)
28
+ url = Base.media_url + "categories/#{category_id}/channels/order/0/curpage/#{current_page}/pagesize/#{page_size}"
29
+ Base.request(url)
30
+ end
31
+
32
+ def channels_attr(category_id, attrs, current_page = Base.get_current_page, page_size = Base.get_page_size)
33
+ attrs = attrs.gsub(".","/")
34
+ url = Base.media_url + "categories/#{category_id}/channels/order/0/attr/#{attrs}/curpage/#{current_page}/pagesize/#{page_size}"
35
+ Base.request(url)
36
+ end
37
+
38
+ def recommend_guides
39
+ url = Base.media_url + "recommend/guides"
40
+ Base.request(url)
41
+ end
42
+
43
+ def live_banner
44
+ url = Base.media_url + "recommend/live/banner"
45
+ Base.request(url)
46
+ end
47
+
48
+ end
49
+ end
50
+ end
51
+ end