UNPKG

3.95 kBJavaScriptView Raw
1'use strict';
2
3var util = require('./util');
4var wrapper = util.wrapper;
5var postJSON = util.postJSON;
6
7var 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 */
73methods.forEach(function (method) {
74 exports[method] = function (begin, end, callback) {
75 this.preRequest(this['_' + method], arguments);
76 };
77});
78
79/*!
80* 获取分析数据的未封装版本
81*/
82methods.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});