ali-mns-sdk
Version:
The nodejs SDK for aliyun mns service
62 lines • 5.74 kB
JavaScript
const gitVersion = {"branch":"$branch$","rev":"$rev$","hash":"$hash$","hash160":"$hash160$"};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const CryptoA = require("crypto");
const UA = require("universal-analytics");
class GA {
constructor(accId) {
this._bGoogleAnalytics = true;
this._rgxAccId = /\/\/\w+\./;
this._bAccumulated = false;
this._bAccumulatePrefix = '';
this._accumutionMax = 100;
this._accumulation = {};
this._gitMark = gitVersion.branch + '.' + gitVersion.rev + '@' + gitVersion.hash;
this._visitor = UA('UA-75293894-6', this.u2id(accId));
}
send(action, value, url) {
if (this._bGoogleAnalytics) {
if (this._bAccumulated) {
// 累积多个一起发送
this._bAccumulated = false;
const actionPrefixed = this._bAccumulatePrefix + ':' + action;
if (!this._accumulation[actionPrefixed])
this._accumulation[actionPrefixed] = { value: 0, count: 0 };
this._accumulation[actionPrefixed].value += value;
this._accumulation[actionPrefixed].count++;
if (this._accumulation[actionPrefixed].count >= this._accumutionMax) {
this.send(actionPrefixed, this._accumulation[actionPrefixed].value, url);
this._accumulation[actionPrefixed].value = 0;
this._accumulation[actionPrefixed].count = 0;
}
}
else {
const args = { dl: url.replace(this._rgxAccId, '//0.') };
// catagory, action, label, value, params
this._visitor.event('AliMNS', action, this._gitMark, value, args).send();
}
}
}
accumulateNextSend(prefix) {
this._bAccumulated = true;
this._bAccumulatePrefix = prefix;
}
disableGA(bDisable) {
this._bGoogleAnalytics = !bDisable;
}
u2id(uid) {
const cryptoMD5 = CryptoA.createHash('md5');
const md5HEX = cryptoMD5.update(uid).digest('hex');
const uxid = new Array(36);
for (let i = 0, j = 0; i < md5HEX.length; i++, j++) {
if (i === 8 || i === 12 || i === 16 || i === 20) {
uxid[j] = '-';
j++;
}
uxid[j] = md5HEX.charAt(i);
}
return uxid.join('');
}
}
exports.GA = GA;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR0EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvR0EudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxrQ0FBa0M7QUFDbEMsMENBQTBDO0FBRzFDLE1BQWEsRUFBRTtJQUNiLFlBQW1CLEtBQWE7UUF1RHhCLHNCQUFpQixHQUFHLElBQUksQ0FBQztRQUN6QixjQUFTLEdBQUcsV0FBVyxDQUFDO1FBQ3hCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUN4QixtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUNyQixrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQTNEOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxVQUFVLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQ2pGLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLElBQUksQ0FBQyxNQUFjLEVBQUUsS0FBYSxFQUFFLEdBQVc7UUFDcEQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN0QixXQUFXO2dCQUNYLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2dCQUMzQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQztnQkFDOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDO29CQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDckcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUUzQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7b0JBQ25FLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUN6RSxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7b0JBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztpQkFDOUM7YUFDRjtpQkFBTTtnQkFDTCxNQUFNLElBQUksR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDekQseUNBQXlDO2dCQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQzFFO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsTUFBYztRQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFTSxTQUFTLENBQUMsUUFBa0I7UUFDakMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENBQUMsUUFBUSxDQUFDO0lBQ3JDLENBQUM7SUFFTyxJQUFJLENBQUMsR0FBVztRQUN0QixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5ELE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUMvQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO2dCQUNkLENBQUMsRUFBRSxDQUFDO2FBQ0w7WUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM1QjtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QixDQUFDO0NBVUY7QUE5REQsZ0JBOERDIn0=