Skip to content

Commit

Permalink
优化 tracker 事件派发
Browse files Browse the repository at this point in the history
  • Loading branch information
zswang committed May 20, 2016
1 parent 2a20ccd commit 0b4249b
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 38 deletions.
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"example",
"tools"
],
"version": "0.0.230",
"version": "0.0.231",
"keywords": [
"tracker",
"log",
Expand Down
27 changes: 11 additions & 16 deletions h5tracker.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
* @author
* zswang (http://weibo.com/zswang)
* meglad (https://github.com/meglad)
* @version 0.0.230
* @date 2016-05-19
* @version 0.0.231
* @date 2016-05-20
*/
/**
'''<example>'''
Expand Down Expand Up @@ -1334,10 +1334,6 @@
var instance = createEmitter();
instance.name = trackerName;
var storage = createStorage(appName, trackerName);
/**
* 是否被创建过
*/
var created;
/**
* 字段列表
*
Expand Down Expand Up @@ -1441,7 +1437,7 @@
'''</example>'''
*/
function send(data) {
if (!created) {
if (actionList) {
actionList.push({
name: 'send',
data: data
Expand Down Expand Up @@ -1528,7 +1524,7 @@
level: 'debug'
};
}
if (!created) {
if (actionList) {
actionList.push({
name: 'log',
data: data
Expand Down Expand Up @@ -1570,25 +1566,25 @@
'''</example>'''
*/
function create(opts) {
created = true;
options = opts;
actionList.forEach(function (item) {
var temp = actionList;
actionList = null;
temp.forEach(function (item) {
instance[item.name](item.data);
});
actionList = null;
}
instance.create = create;
/**
* 配置事件通知
*/
function emitEvent(name, data) {
function emitEvent(name) {
if (options && options.event) {
var fn = options.event[name];
if (typeof fn === 'function') {
fn.call(instance, data);
fn.apply(instance, [].slice.call(arguments, 1));
}
}
instance.emit(name, data);
instance.emit.apply(instance, arguments);
}
instance.emitEvent = emitEvent;
return instance;
Expand Down Expand Up @@ -1710,7 +1706,6 @@
var match = line.match(/^(?:([\w$_]+)\.)?(\w+)$/);
var trackerName = match[1];
var methodName = match[2];
var methodArgs = [].slice.call(arguments, 1);
// console.log('trackerName: %s, methodName: %s', trackerName, methodName);
var tracker;
if (trackerName) {
Expand All @@ -1734,7 +1729,7 @@
time: (Date.now() - sessionManager.get('birthday')).toString(36)
});
}
return tracker[methodName].apply(tracker, methodArgs);
return tracker[methodName].apply(tracker, [].slice.call(arguments, 1));
} else {
console.error('Tracker method "%s" is invalid.', methodName);
}
Expand Down
2 changes: 1 addition & 1 deletion h5tracker.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "h5tracker",
"version": "0.0.230",
"version": "0.0.231",
"main": "h5tracker.js",
"description": "Logs Tracker of Mobile",
"repository": {
Expand Down
4 changes: 1 addition & 3 deletions src/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -193,8 +193,6 @@
var trackerName = match[1];
var methodName = match[2];

var methodArgs = [].slice.call(arguments, 1);

// console.log('trackerName: %s, methodName: %s', trackerName, methodName);
var tracker;
if (trackerName) {
Expand All @@ -220,7 +218,7 @@
time: (Date.now() - sessionManager.get('birthday')).toString(36)
});
}
return tracker[methodName].apply(tracker, methodArgs);
return tracker[methodName].apply(tracker, [].slice.call(arguments, 1));
} else {
console.error('Tracker method "%s" is invalid.', methodName);
}
Expand Down

0 comments on commit 0b4249b

Please sign in to comment.