node 调用腾讯大数据接口
第一步
:进入网址 http://mta.qq.com/mta/base/ctr_err?app_id=1注册如下图点击注册一个应用

======第二步:如下图所示,点击新建应用

第三步:
应用注册如下图点击进入应用管理(http://mta.qq.com/h5/manage/ctr_app_manage?app_id=500582001)

第四步:在应用管理中我们可以看到APP ID以及SECRET KEY以及配置指南,这个复制粘贴到html的最后一个js后</body>之前
 
第五步 在网址(http://mta.qq.com/mta/overview/ctr_all_app_new?tab=2)这儿查看我们的应用并进行管理

第六步:将应用管理的统计代码放到前端html的最后js

第七步:写一个封装函数配置参数,注意引用模块,代码如下digdata_tx.js:
'use strict';
const md5 = require('md5');
const request = require('request');
exports.bigdata = {
	readdata: function(path, params, callback) {
		const URL = 'http://mta.qq.com/';
		const secret_key = '08cxxxxxxxxxxxxxxx1d5b3027058f';
		params.app_id = 5xxxxxxxxxxxxxxxx01;
		let paramsArray = new Array();
		for(let item in params) {
			paramsArray.push(`${item}=${params[item]}`);
		}
		paramsArray.sort();
		let sign = md5(secret_key + paramsArray.join(''));
		params.sign = sign;
		request.post({
			url: URL + path,
			form: params
		}, function(error, response, body) {
			if(!error && response.statusCode == 200) {
				let res = JSON.parse(body);
				if(res.code !== 0)
					callback({msg:res.info + ' !tips: message from tencent'}, null);
				else
					callback(null, res.data);
			} else {
				callback(error, null);
			}
		})
	}
};
第八步引入上面的js以及相应模块以及写接口请求数据
const joi = require('joi');
const internals = {};
const security = require('../libs/security');
const bigdata_tx = require('../libs/bigdata_tx');
const mongoose = require('mongoose');
const moment = require('moment');
//const yar=require('yar');
{
			method: ['post'],
			path: '/ctr_core_data',
			config: {
				tags: ['api'],
				description: '应用每天的pv  uv  vv  iv数据',
				notes: '跳出率和在线时长是什么参数???',
				validate: {
					payload: joi.object({
						start_date:joi.string().default(moment().subtract(7,'day').format('YYYY-MM-DD')).min(10).max(10).error(new Error('格式必须为(Y-m-d)')).description('开始时间(Y-m-d),默认7天前'),
						end_date:joi.string().default(moment().format('YYYY-MM-DD')).min(10).max(10).error(new Error('格式必须为(Y-m-d)')).description('结束时间(Y-m-d)默认当前时间'),
						idx:joi.string().default('pv,uv,vv,iv').error(new Error('传入参数必须为字符串类型')).description('使用“,”间隔查询指标,默认pv,uv,vv,iv'),
					}),
					failAction: FailAction
				},
				response: {
					schema: responseModel
				},
			},
			handler: (request, reply) => {
				let cookie = request.state;
				if(cookie.logininfo) {
					let accountobj = JSON.parse(security.aes.decrypt(cookie.logininfo));
					let values={
						start_date:request.payload.start_date,
						end_date:request.payload.end_date,
						idx:request.payload.idx,
					}
					bigdata_tx.bigdata.readdata('h5/api/ctr_core_data',values,(err,res)=>{
						if(err){
							reply({code:111,msg:'fail',data:err});
							return;
						}
						reply({code:0,msg:'success',data:res});
					})
				} else {
					reply({
						code: 510,
						msg: '登录超时,请重新登录!',
						data: null
					});
				}
			}
		},
                    
                
                
            
        
浙公网安备 33010602011771号