1 | ;
|
2 |
|
3 | var util = require('./util');
|
4 | var wrapper = util.wrapper;
|
5 | var postJSON = util.postJSON;
|
6 |
|
7 | var methods = [
|
8 | // 用户分析数据接口
|
9 | 'getUserSummary', // 获取用户增减数据
|
10 | 'getUserCumulate', // 获取累计用户数据
|
11 | // 图文分析数据接口
|
12 | 'getArticleSummary', // 获取图文群发每日数据
|
13 | 'getArticleTotal', // 获取图文群发总数据
|
14 | 'getUserRead', // 获取图文统计数据
|
15 | 'getUserReadHour', // 获取图文统计分时数据
|
16 | 'getUserShare', // 获取图文分享转发数据
|
17 | 'getUserShareHour', // 获取图文分享转发分时数据
|
18 | // 消息分析数据接口
|
19 | 'getUpstreamMsg', //获取消息发送概况数据
|
20 | 'getUpstreamMsgHour', // 获取消息分送分时数据
|
21 | 'getUpstreamMsgWeek', // 获取消息发送周数据
|
22 | 'getUpstreamMsgMonth', // 获取消息发送月数据
|
23 | 'getUpstreamMsgDist', // 获取消息发送分布数据
|
24 | 'getUpstreamMsgDistWeek', // 获取消息发送分布周数据
|
25 | 'getUpstreamMsgDistMonth', // 获取消息发送分布月数据
|
26 | // 接口分析数据接口
|
27 | 'getInterfaceSummary', // 获取接口分析数据
|
28 | 'getInterfaceSummaryHour' // 获取接口分析分时数据
|
29 | ];
|
30 |
|
31 | /**
|
32 | * 公众平台官网数据统计模块
|
33 | * 详情请见:<http://mp.weixin.qq.com/wiki/8/c0453610fb5131d1fcb17b4e87c82050.html>
|
34 | * Examples:
|
35 | * ```
|
36 | * // 用户分析数据接口
|
37 | * api.getUserSummary(startDate, endDate, callback); // 获取用户增减数据
|
38 | * api.getUserCumulate(startDate, endDate, callback); // 获取累计用户数据
|
39 | * // 图文分析数据接口
|
40 | * api.getArticleSummary(startDate, endDate, callback); // 获取图文群发每日数据
|
41 | * api.getArticleTotal(startDate, endDate, callback); // 获取图文群发总数据
|
42 | * api.getUserRead(startDate, endDate, callback); // 获取图文统计数据
|
43 | * api.getUserReadHour(startDate, endDate, callback); // 获取图文统计分时数据
|
44 | * api.getUserShare(startDate, endDate, callback); // 获取图文分享转发数据
|
45 | * api.getUserShareHour(startDate, endDate, callback); // 获取图文分享转发分时数据
|
46 | * // 消息分析数据接口
|
47 | * api.getUpstreamMsg(startDate, endDate, callback); // 获取消息发送概况数据
|
48 | * api.getUpstreamMsgHour(startDate, endDate, callback); // 获取消息分送分时数据
|
49 | * api.getUpstreamMsgWeek(startDate, endDate, callback); // 获取消息发送周数据
|
50 | * api.getUpstreamMsgMonth(startDate, endDate, callback); // 获取消息发送月数据
|
51 | * api.getUpstreamMsgDist(startDate, endDate, callback); // 获取消息发送分布数据
|
52 | * api.getUpstreamMsgDistWeek(startDate, endDate, callback); // 获取消息发送分布周数据
|
53 | * api.getUpstreamMsgDistMonth(startDate, endDate, callback); // 获取消息发送分布月数据
|
54 | * // 接口分析数据接口
|
55 | * api.getInterfaceSummary(startDate, endDate, callback); // 获取接口分析数据
|
56 | * api.getInterfaceSummaryHour(startDate, endDate, callback); // 获取接口分析分时数据
|
57 | * ```
|
58 | * Callback:
|
59 | *
|
60 | * - `err`, 调用失败时得到的异常
|
61 | * - `result`, 调用正常时得到的对象
|
62 | *
|
63 | * Result:
|
64 | * ```
|
65 | * {
|
66 | * "list":[...] // 详细请参见<http://mp.weixin.qq.com/wiki/8/c0453610fb5131d1fcb17b4e87c82050.html>
|
67 | * }
|
68 | * ```
|
69 | * @param {String} startDate 起始日期,格式为2014-12-08
|
70 | * @param {String} endDate 结束日期,格式为2014-12-08
|
71 | * @param {Function} callback 回调函数
|
72 | */
|
73 | methods.forEach(function (method) {
|
74 | exports[method] = function (begin, end, callback) {
|
75 | this.preRequest(this['_' + method], arguments);
|
76 | };
|
77 | });
|
78 |
|
79 | /*!
|
80 | * 获取分析数据的未封装版本
|
81 | */
|
82 | methods.forEach(function (method) {
|
83 | exports['_' + method] = function (begin, end, callback) {
|
84 | var data = {
|
85 | begin_date: begin,
|
86 | end_date: end
|
87 | };
|
88 | var url = this.endpoint + '/datacube/' + method.toLowerCase() + '?access_token=' + this.token.accessToken;
|
89 | this.request(url, postJSON(data), wrapper(callback));
|
90 | };
|
91 | });
|