/**
* 设置cookie - setCookie(option)
* @param {Object} option 参数
* @param {String} option -- key 键
* @param {String} option -- value 值
* @param {Number} option -- expireDays 过期时间
* @param {Number} option -- domain 域
* @param {Number} option -- routing 路径
*/
interface CookieType {
key: string
value: string
expireDays?: number
domain?: string
routing?: string
}
export const setCookie = function (option: CookieType) {
let optionDefault: CookieType = {
key: '',
value: '',
expireDays: 3,
domain: '',
routing: '/',
}
optionDefault = { ...option }
const exdate = new Date()
let cookie
cookie = `${optionDefault.key}=${encodeURIComponent(optionDefault.value)}`
optionDefault.domain && (cookie += `; domain=${optionDefault.domain}`)
optionDefault.routing && (cookie += `; routing=${optionDefault.routing}`)
optionDefault.expireDays && exdate.setDate(exdate.getDate() + optionDefault.expireDays);
optionDefault.expireDays && (cookie += `; expires=${exdate}`)
console.log('cookie', cookie)
document.cookie = cookie
}
/**
* 获取cookie - getCookie(key)
* @param {Object} key 键
* @result {*} result 返回cookie值,没有就返回空
*/
export const getCookie = function (key: string) {
const _cookie = document.cookie
const itemsArr = _cookie.split('; ')
let item = []
for (let i = 0; i < itemsArr.length; i++) {
item = itemsArr[i].split('=')
if (key === item[0] && item.length === 2) {
return decodeURIComponent(item[1])
}
}
return ''
}
/**
* 删除cookie - removeCookie(key)
* @param {Object} key 键
*/
export const removeCookie = function (key: string) {
const date = new Date()
date.setDate(date.getDate() - 10000 * 3600 * 31)
document.cookie = `${key}=; path=/; domain=winshangdata.com; expires = ${date.toString()}`
}
vue3封装cookie
最新推荐文章于 2024-09-01 23:33:40 发布
该代码实现了一个用于设置、获取和删除浏览器Cookie的JavaScript函数库。setCookie函数接受一个包含键值对、过期时间、域和路径的对象参数,getCookie函数通过键来获取Cookie值,而removeCookie函数则用于删除指定键的Cookie。
摘要由CSDN通过智能技术生成