@lx-frontend/multi-track
Version:
sls 日志上传功能,当前支持小程序、web
84 lines • 2.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MiniTrack = void 0;
var tslib_1 = require("tslib");
var track_1 = require("./track");
/**
* 小程序日志上报
*
* @example
*
* ```ts
* const track = new MiniTrack({
* slsOptions: {
* host: 'https://sls.aliyuncs.com',
* project: 'your-project',
* logstore: 'your-logstore',
* topic: 'your-topic',
* source: 'your-source',
* tags: {
* tag1: 'value1',
* tag2: 'value2',
* },
* },
* trackOptions: {
* maxQueueSize: 10,
* debounceTime: 1000,
* persistLogs: false,
* localStorageKey: 'your-local-storage-key',
* uploadEnabled: true,
* },
* sendPayload: (logs) => logs,
* })
* ```
*/
var MiniTrack = /** @class */ (function (_super) {
tslib_1.__extends(MiniTrack, _super);
function MiniTrack(trackConfig) {
var _this = this;
var sendPayload = trackConfig.sendPayload;
_this = _super.call(this, trackConfig) || this;
_this._format = sendPayload !== null && sendPayload !== void 0 ? sendPayload : (function (logs) { return logs; });
return _this;
}
MiniTrack.prototype.format = function (log) {
return this._format(log);
};
/**
* 小程序上报日志
*
* @param payload
* @param headers
* @returns
*/
MiniTrack.prototype._upload = function (payload, headers) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var _this = this;
return tslib_1.__generator(this, function (_a) {
return [2 /*return*/, new Promise(function (resolve, reject) {
wx.request({
url: _this.generateSlsUrl(),
method: 'POST',
header: headers,
data: payload,
success: function (res) {
resolve(res);
},
fail: function (failRes) {
reject(failRes);
},
});
})];
});
});
};
MiniTrack.prototype._getStorage = function (key) {
return wx.getStorageSync(key);
};
MiniTrack.prototype._setStorage = function (key, value) {
wx.setStorageSync(key, value);
};
return MiniTrack;
}(track_1.Track));
exports.MiniTrack = MiniTrack;
//# sourceMappingURL=mini.js.map