/**
* 获取 cookie
* @param k 键名
* @returns cookie k 键值
*/
export const getCookie = (k: string): string | undefined => {
const keys = document.cookie.split(/;\s*/).map((key) => key.split("="));
for (const [_k, _v] of keys) {
if (_k === k) return _v;
}
};
/**
* 设置 cookie
* @param k 键名
* @param v 键值(无需 stringiiy)
* @param exdays 过期时间
*/
export const setCookie = (k: string, v: string, exdays?: number): void => {
// MaxAge 为 0 时表示浏览器不保存该 Cookie。
// maxAge 为负数的 Cookie,为临时性 Cookie,不会被持久化,不会被写到 Cookie 文件中。
// Cookie 信息保存在浏览器内存中,因此关闭浏览器该 Cookie 就消失了。Cookie 默认的 maxAge 值为 - 1
const maxAge = exdays ? `max-age=${exdays * 60 * 60 * 24}` : "";
document.cookie = `${k}=${v};${maxAge}`;
};
/**
* 移除 cookie
* @param k 键名
*/
export const removeCookie = (k: string): void => {
setCookie(k, "", 0);
};
/**
* 清除 cookie
*/
export const clearCookie = (): void => {
const keys = document.cookie.match(/[^ =;]+(?==)/g);
if (keys) {
for (let i = keys.length; i--; ) {
removeCookie(keys[i]);
}
}
};
/**
* 获取临时会话数据
* @param k 键名
* @returns 临时会话 k 键值
*/
export const getSessionStorage = (k: string): string | null => {
const v = sessionStorage.getItem(k);
return v !== null ? JSONParse(v) : v;
};
/**
* 存储临时会话数据
* @param k 键名
* @param v 键值(无需 stringiiy)
*/
export const setSessionStorage = (k: string, v: any): void => {
sessionStorage.setItem(k, JSON.stringify(v));
};
/**
* 移除临时会话数据
* @param k 键名
*/
export const removeSessioStorage = (k: string): void => {
sessionStorage.removeItem(k);
};
/**
* 清除临时会话数据
*/
export const clearSessioStorage = (): void => {
sessionStorage.clear();
};
/**
* 获取本地会话数据
* @param k 键名
* @returns 本地会话 k 键值
*/
export const getLocalStorage = (k: string): any => {
const v = localStorage.getItem(k);
return v !== null ? JSONParse(v) : v;
};
/**
* 存储本地会话数据
* @param k 键名
* @param v 键值(无需 stringiiy)
*/
export const setLocalStorage = (k: string, v: any): void => {
localStorage.setItem(k, JSONStringify(v));
};
/**
* 移除本地会话数据
* @param k 键名
*/
export const removeLocalStorage = (k: string): void => {
localStorage.removeItem(k);
};
/**
* 清除本地会话数据
*/
export const clearLocalStorage = (): void => {
localStorage.clear();
};
网页存储数据 cookie、sessionStorage、localStorage
更新于: at 07:58