jpush-ui
Version:
极光大数据前端Angular组件(^6.1.0)
63 lines • 2.16 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var platform_service_1 = require("../platform/platform.service");
var Storage = /** @class */ (function () {
function Storage(platform) {
this.platform = platform;
}
Storage.prototype.set = function (key, data, useCookie) {
if (this.platform.localStorage && !useCookie) {
try {
this.platform.localStorage.setItem(key, data);
return;
}
catch (err) {
// 在safari的匿名模式的时候会报错
// go ahead
}
}
this.platform.document.cookie = key + '=' + data;
};
Storage.prototype.get = function (key, useCookie) {
if (this.platform.localStorage && !useCookie) {
var value = this.platform.localStorage.getItem(key);
if (value) {
return value;
}
}
// 从cookie里面取
var reg = new RegExp(key + '=([^;]*)');
var m = this.platform.document.cookie.match(reg);
if (m && m.length > 1) {
return m[1];
}
return null;
};
Storage.prototype.remove = function (key, useCookie) {
if (this.platform.localStorage && !useCookie) {
var val = this.platform.localStorage.getItem(key);
if (val) {
this.platform.localStorage.removeItem(key);
return val;
}
}
// 从localstorage里没发现这个key
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var value = this.get(key);
this.platform.document.cookie = key + '=' + value + ';expires=' + exp.toUTCString();
return value;
};
Storage.decorators = [
{ type: core_1.Injectable },
];
/** @nocollapse */
Storage.ctorParameters = function () { return [
{ type: platform_service_1.PlatformService, },
]; };
return Storage;
}());
exports.Storage = Storage;
// export const storage = new Storage();
//# sourceMappingURL=storage.service.js.map