tianji-client-sdk
Version:
59 lines (58 loc) • 1.68 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.initTianjiTracker = initTianjiTracker;
exports.reportEvent = reportEvent;
exports.identify = identify;
const load_script_1 = __importDefault(require("load-script"));
async function initTianjiTracker(options) {
const trackerName = options.customTrackerName ?? 'tracker.js';
const attrs = {
'data-website-id': options.websiteId,
};
if (options.autoTrack === false) {
attrs['data-auto-track'] = 'false';
}
if (Array.isArray(options.domains)) {
attrs['data-domains'] = options.domains.join(',');
}
if (options.disableTrack === true) {
attrs['data-do-not-track'] = 'true';
}
return new Promise((resolve, reject) => {
(0, load_script_1.default)(`${options.url}/${trackerName}`, {
async: true,
attrs,
}, (err, script) => {
if (err) {
reject(err);
return;
}
resolve(script);
});
});
}
function reportEvent(eventName, data = {}) {
const tianji = window.tianji;
if (!tianji) {
return;
}
if (!tianji.track) {
console.warn('tianji.track is not ready');
return;
}
tianji.track(eventName, data);
}
function identify(data) {
const tianji = window.tianji;
if (!tianji) {
return;
}
if (!tianji.identify) {
console.warn('tianji.identify is not ready');
return;
}
tianji.identify(data);
}