@cainiaofe/cn-utils
Version:
菜鸟前端基础工具库
59 lines (58 loc) • 2.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.cookie = void 0;
/**
* Cookie操作函数
*/
var Cookie = /** @class */ (function () {
function Cookie() {
}
/**
* 获取Cookie
* @param {cookie} name cookie名称
*/
Cookie.get = function (name) {
// 注意对键编码
var cookieName = "".concat(encodeURIComponent(name), "=");
var cookieStart = document.cookie.indexOf(cookieName);
var cookieValue = '';
var cookieEnd;
// 找到cookie键
if (cookieStart > -1) {
// 键后面第一个分号位置
cookieEnd = document.cookie.indexOf(';', cookieStart);
if (cookieEnd === -1) {
cookieEnd = document.cookie.length;
}
// cookie值解码
cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));
}
return cookieValue;
};
/**
* 设置Cookie
* @param {String} name cookie名称
* @param {String} value cookie值
* @param {String} option cookie配置项
*/
Cookie.set = function (name, value, option) {
if (option === void 0) { option = {}; }
// document.cookie = "key=value; path=path; domain=domain; max-age=max-age-in-seconds; expires=date-in-GMTString-format";
var path = option.path, expires = option.expires, domain = option.domain;
var cookieText = "".concat(encodeURIComponent(name), "=").concat(encodeURIComponent(value));
// @ts-ignore
cookieText += expires ? "; expires=".concat(expires.toGMTString()) : '';
cookieText += path ? "; path=".concat(path) : '';
cookieText += domain ? "; domain=".concat(domain) : '';
document.cookie = cookieText;
};
/**
* 清除cookie
* @param {any} name cookie名称
*/
Cookie.clear = function (name) {
this.set(name, '', { expires: new Date(0) });
};
return Cookie;
}());
exports.cookie = Cookie;