ya.js 1.38 KB
/**
 * @fileoverview YAS (YOHO! Acquisition System) YOHO!采集系统的前端js的开发包,
 * 用于在网页端采集信息(应用信息,用户信息,用户行为信息,浏览器及其系统信息)。
 */
//工具库
var util = require('./util');

//跨域通信
var cross = require('./cross');

var _yas = {};

/**
 * 发送用户订制信息, 此方法提供给用户调用, 本方法不对参数合法性进行检查, 调用者自己保证。(app上报数据使用)
 * @param json 用户订制信息, 必选参数,采用json格式
 * @param asyncindx 是否需要同步indx
 *        true表示同步,false表示不需要同步, 默认值是false
 * 本方法使用场合:
 *        1. app中的事件上报
 */
_yas.sendAppLogs = function(json) {
  if (!window.appBaseLogs) {
    return;
  }

  // 数据整合
  var param = JSON.parse(json.param);
  if (param.F_URL) {
    param.F_URL = decodeURIComponent(param.F_URL);
  }

  // abtype
  var ev = window.appBaseLogs.events[0];
  if (ev.abtype) {
    param.AB_TYPE = ev.abtype;
  }
  var event = util.merge(ev, {
    ts: (new Date()).getTime().toString(),
    indx: ++window.indx,
    op: json.appop,
    param: param
  });
  var logs = util.merge(window.appBaseLogs, {
    events: [event]
  });

  // 上报数据
  cross.appSend('_mlogs=' + encodeURIComponent(JSON.stringify(logs)));
  window._yasloaded = true;
};

window._yas2 = _yas;