第一步:和大数据组碰一下规范文档
1.新项目接入时,需提前和大数据组碰一下“规范文档”(见附件1.1)
第二步:前端开发代码
《定义文件_html.js》
"use strict";
var sha1 = require('sha1');
import config from '@/config/index'
let appidDefault = 'z_dresspk'; //appid 针对项目的appid设置默认值,调用时省时
let objectName = 'chaopai'; // 目前是固定值,不会根据项目改变
let isIos = navigator.userAgent.match(/iPhone|iPad|iPod/i) ? true : false;
window._html=function(_ref) {
var _ref$appid = _ref.appid,
appid = _ref$appid === void 0 ? appidDefault : _ref$appid,
_ref$ts = _ref.ts,
ts = _ref$ts === void 0 ? Date.now() : _ref$ts,
_ref$duid = _ref.duid,
duid = _ref$duid === void 0 ? '-' : _ref$duid,
_ref$bk = _ref.bk,
bk = _ref$bk === void 0 ? '-' : _ref$bk,
os = isIos ? 'I' : 'A',
_ref$ver = _ref.ver,
ver = _ref$ver === void 0 ? '-' : _ref$ver,
e = _ref.e,
args = _ref.args;
//ajax 请求
var seq = parseFloat(sessionStorage.getItem('_index')) || 0;
if (!Number.isSafeInteger(Number.parseFloat(seq))) {
seq = 0;
}
seq++;
sessionStorage.setItem('_index', seq);
var xhr = new XMLHttpRequest();
var data = "seq=".concat(seq, "&d=").concat(encodeURI(JSON.stringify({
appid: appid,
ts: ts,
duid: duid,
bk: bk,
os: os,
ver: ver,
e: e,
args: args
})));
xhr.onreadystatechange = function () {
// 通信成功时,状态值为4
if (xhr.readyState === 4) {
if (xhr.status >= 200 && xhr.status < 300 || xhr.status === 304) {
console.log(xhr.responseText);
} else {
console.error(xhr.statusText);
}
}
};
xhr.onerror = function () {
console.error('统计失败');
};
xhr.open('POST', config.VUE_APP_BURY, true);
xhr.setRequestHeader('t', sha1(seq+duid+objectName)); // 指定 10 秒钟超时
xhr.timeout = 3 * 1000;
xhr.send(data);
}
变量注释:
- config.VUE_APP_BURY 接口地址 由config动态配置 //56行
- let appidDefault = ‘z_dresspk’; //appid 针对项目的appid设置默认值(appidDefault命名规范见附件1.2) //6行
- let objectName = ‘chaopai’; // 目前是固定值,不会根据项目改变 //7行
接口环境:
beta: http://betalog.kajicam.com/log.cp
preonline: https://prelog.kajicam.com/log.cp
real: https://log.kajicam.com/log.cp
第三步:方法调用
1.使用案例:<br /> _html({e: "z_dresspk.home", bk: **this**.myApp.userId, ver: **this**.myApp.version, duid: **this**.myApp.duid})<br /> <br /> 2.参数说明<br />JSON格式:<br />appid ts duid bk os ver e args {k/v pairs}<br />appid 必选,应用名称,如潮拍h5的appid为chaopai<br />ts 必选,事件发生的客户端时间(时间戳格式1547606679,从1970开始的秒数)<br />duid 必选,device unique id(从app获取,如为空,则传递"-")<br />bk 可选,用户唯一标识(从app获取,如为空,则传"-")<br />os 必选,操作系统(iOS传"I",Android传"A")<br />ver 必选,app 版本,如7.10.0(从app获取,如为空,则传"-")<br />e 必选,event的缩写,事件名称,参照事件定义规范(见附1.3)<br />cp_ver 可选,新增潮拍native内部版本,「20190514增加」<br />args 可选,各类kv键值的定义,比如内容id<br />JSON示例<br />{<br />"appid": "chaopai",<br />"ts": 1547606679,<br />"duid": "0011E668A22944C593C2E0C4AF704EDB",<br />"bk": "-",<br />"os": "A",<br />"ver": "7.10.0",<br />"e": "chaopai.index.oninit",<br />"args": {<br /> "stkid": 398176<br /> }<br />}<br /> 具体可参考大数据接口规范文档:[https://tower.im/teams/668337/documents/12730/](https://tower.im/teams/668337/documents/12730/)<br /> *****如果新增公共参数、或者协议中缺少枚举值时,提前给大数据组反馈******
3.接口成功并接口返回信息,辅助接口调试:<br /> t = 1099e7db1f4fba65d5c8ff5f46b6bcd5426b6522<br /> seq = 3<br /> d = {"appid":"test","ts": 1547606679,"duid": <br /> "0011E668A22944C593C2E0C4AF704EDB","bk": "-","os": "A","ver": "7.10.0","e": "chaopai.index.oninit","args": {"stkid": 398176}}<br /> duid = 0011E668A22944C593C2E0C4AF704EDB<br /> auth = 1099e7db1f4fba65d5c8ff5f46b6bcd5426b6522
第四步:确定上报日志是否成功
1. 自己查阅读,查看日志方式如下:
查看beta日志:http://betalog.kajicam.com/logs/user.log
预发布环境日志查看:https://prelog.kajicam.com/logs/user.log
正式环境不提供
2. 因为接口对接项目众多,当难以查阅自己上报的记录时,可以找大数据塞选查看
第五步:同步数据
1.同步数据为了h5开发和大数据处理数据,必须同步编写
2.表格编写网址:https://docs.qq.com/sheet/DRm5xYUJBTnh6Wmhp?tab=BB08J2&c=A16A0A0
第六步:部署real链接后核对部署链接
因为服务器跨域请求的设置目前允许的url域名为:
real: https://h5-act.kajicam.com/
如果域名不符合一定要告知大数据,添加域名*
附件:
1.1 规范文档
- 打开链接后的表格规范:[https://docs.qq.com/sheet/DRm5xYUJBTnh6Wmhp?tab=BB08J2&c=A16A0A0](https://docs.qq.com/sheet/DRm5xYUJBTnh6Wmhp?tab=BB08J2&c=A16A0A0)
1.2 appidDefault 推介命名规则
projectName_activityName
- projectName 项目名称,例如 “zepeto”,“kajicam”,“foodie”
- activityName 活动名称,例如“dresspk”等
1.3 e命名规范:
1》page.category.action
- page:当前所处的页面。
- category:要监控的目标的类型名称,通常是同一组目标的名字,比如"按钮"、"视频"等等。。
- action:用户跟目标交互的行为,如"播放"、"暂停"、"点击"、"ajax"等等
例如:home.start_btn.click <br /> 2》page、category、action 关键字命名规范:
- 由"小写字母","_"组成
- 字母为开头