• 封装初衷-不想每次设置cookie的过期时间都写一遍,比较烦!
  • 目前这个包放在npm库中,下载npm install happycookie
class happyCookie {constructor() {this["_instruction"] = {"存cookie": `1.参数说明1.1cookieName:设置cookie名字 string1.2cookieValue:设置cookie的值 string1.3expiresObj:设置cookie的配置参数对象 null/{}/{timeScale:'秒/分/时 日/月/年',timeSize:number}1.3.1null:用户没有传入第三个参数,或者传入null。浏览器会在页面关闭时删除该cookie1.3.2{}:用户传入的是一个空对象。默认过期时间为15分钟1.3.3{timeScale:'时',timeSize:8}:过期时间为8小时2.方法名:setCookie(cookieName, cookieValue, expiresObj = null){}`,"取cookie": `1.参数说明1.1cookieName:获取的cookie名字 string2.方法名:getCookie(cookieName){}`,"删cookie": `1.参数说明1.1cookieName:删除的cookie名字  string2.方法名:delCookie(cookieName){}`,"删除全部cookie": `1.方法名:delAllCookie(){}`}}instruction() {//使用说明for (let [key, value] of Object.entries(this._instruction)) {console.log(key, value);}}/*** @param {*} cookieName:cookie的名字 string* @param {*} cookieValue:cookie的值 string* @param {*} expiresObj:不传/{}/{timeScale:'秒/分/时 日/月/年',timeSize:number}*/setCookie(cookieName, cookieValue, expiresObj = null) {if (!expiresObj) {//用户没有传入第三个参数//不设置这个时间戳,浏览器会在页面关闭时即将删除该cookiedocument.cookie = `${cookieName}=${cookieValue}; path=/`;} else if (Object.keys(expiresObj).length == 0) {//输入的是一个空对象 设置默认过期时间:15分钟let newDate = new Date();//获取当前的时间对象let nowTimeStamp = newDate.getTime();//获取当前时间对象的时间戳nowTimeStamp += (1000 * 60 * 15);newDate.setTime(nowTimeStamp);let expires = "expires=" + newDate.toGMTString();document.cookie = `${cookieName}=${cookieValue};${expires}; path=/`;} else {let newDate = new Date();//获取当前的时间对象let nowTimeStamp = newDate.getTime();//获取当前时间对象的时间戳switch (expiresObj.timeScale) {//判断时间规格case '秒':nowTimeStamp += (1000 * expiresObj.timeSize)break;case '分':nowTimeStamp += (1000 * 60 * expiresObj.timeSize)break;case '时':nowTimeStamp += (1000 * 60 * 60 * expiresObj.timeSize)break;case '日':nowTimeStamp += (1000 * 60 * 60 * 24 * expiresObj.timeSize)break;case '月':nowTimeStamp += (1000 * 60 * 60 * 24 * 30 * expiresObj.timeSize)break;case '年':nowTimeStamp += (1000 * 60 * 60 * 24 * 30 * 12 * expiresObj.timeSize)break;default:break;}newDate.setTime(nowTimeStamp)let expires = "expires=" + newDate.toGMTString();document.cookie = `${cookieName}=${cookieValue};${expires}; path=/`;}}getCookie(cookieName) {let name = cookieName + "=";let ca = document.cookie.split(';');for (let i = 0; i < ca.length; i++) {let c = ca[i].trim();if (c.indexOf(name) == 0) return c.substring(name.length, c.length);}return "";}delCookie(cookieName) {document.cookie = cookieName + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";}delAllCookie() {let keysArr = document.cookie.match(/[^ =;]+(?=\=)/g);if (keysArr && keysArr.length > 0) {keysArr.forEach(item => {this.delCookie(item)})}}
}let hc = new happyCookie();export {hc
}

cookie设置过期时间相关推荐

  1. java cookie过期_Java中Servlet Cookie设置过期时间(expires,max-age)

    Java中Servlet Cookie设置过期时间(expires,max-age) expires或者max-age指定了coolie的生存期,默认情况下coolie是暂时存在的,他们存储的值只在浏 ...

  2. php setcookie 过期,php cookie怎么设置过期时间?

    PHP中可以使用setcookie()函数设置cookie的过期时间.语法为"setcookie(name,value,expire,path,domain,secure)":其中 ...

  3. Vue项目使用Cookie,以Json格式存入与读取Cookie,设置过期时间以及删除操作

    前端项目开发时,常常需要很多小技巧,比如使用Cookie巧妙实现某个效果.此次就以Vue项目记录一下如何使用Cookie. cookie.js /*** 写入cookie* @param {*} na ...

  4. Redis 笔记(03)— string类型(设置key、获取key、设置过期时间、批量设置获取key、对key进行加减、对key值进行追加、获取value子串)

    字符串 string 是 Redis 最简单的数据结构.Redis 所有的数据结构都是以唯一的 key 字符串作为名称,然后通过这个唯一 key 值来获取相应的 value 数据.不同类型的数据结构的 ...

  5. c# redis 如何设置过期时间_Redis Hash存储token、及设置过期时间

    相信大家在很多业务场景都会遇到对数据设置过期时间,如安全认证token.短信验证码等.一般我们的解决有几种:存redis.存数据库.实时计算(如JWT),不管使用哪种方式,需求就是过期了对数据的清理. ...

  6. c# redis hashid如何设置过期时间_Redis中Key过期策略amp;淘汰机制

    1. Redis中设置Key过期时间 我们有两种方式设置过期时间 1.1 设置多久后过期 设置一个 key 10s 过期,可以这样 127.0.0.1:6379> SET key value E ...

  7. Redis键命令(查找键、判断键值是否存在、查看键值类型、删除键值、设置过期时间、查看键值有效时间)

    [键命令对于不同数据结构类型通用] 查找键,参数⽀持正则表达式 keys pattern 例2:查看名称中包含a的键 keys a* 判断键是否存在,如果存在返回1,不存在返回0 exists key ...

  8. redistemplate.opsforhash设置过期时间_Redis详解(十一)------ 过期删除策略和内存淘汰策略...

    大家好,我是可乐,一个专注原创,乐于分享的程序猿. 本系列教程持续更新,可以微信搜索「 IT可乐 」第一时间阅读.回复<电子书>有我为大家特别筛选的海量免费书籍资料 在介绍这篇文章之前,我 ...

  9. redis缓存失效时间设为多少_java操作Redis缓存设置过期时间的方法

    关于Redis的概念和应用本文就不再详解了,说一下怎么在java应用中设置过期时间. 在应用中我们会需要使用redis设置过期时间,比如单点登录中我们需要随机生成一个token作为key,将用户的信息 ...

最新文章

  1. 网元——就是网络中的元素,网络中的设备。总之,网元是网络管理中可以监视和管理的最小单位...
  2. mvn filter autoconfig 产生自动配置
  3. C++静态全局变量问题
  4. SQL和PL/SQL的性能优化之四---联结与子查询
  5. MyBatis中in的使用
  6. 撸了个 DDD 项目,爽!
  7. shell循环遍历多条字符串
  8. Arm-Linux 移植 ssh
  9. Java中static final用法小结
  10. sqlalchemy Column Elements
  11. 【转载】QT 的信号与槽机制介绍
  12. 逼真照片随手画,马良神笔已上线 | 点击收获这份英伟达GauGAN开源代码
  13. 2018湘南学院计算机分数线,湘南学院录取分数线2021是多少分(附历年录取分数线)...
  14. WinRAR 注册文件 注册码
  15. C语言算法训练学做菜,Java实现 蓝桥杯VIP 算法训练 学做菜
  16. HTML / CSS 实践练习
  17. 手机居然可以变成电脑的无线麦克风?快来瞧瞧
  18. 【每日论文】GenCo: Generative Co-training for Generative Adversarial Networks with Limited Data
  19. HTTP Cache
  20. 2022中国中医药产业展,山东医药保健展,济南药交会9月举办

热门文章

  1. LOAD_TEMP - Unable to get database metadata from this database connection
  2. python bisect_python bisect模块
  3. android7.0及以上版本签名校验过程详解
  4. matlab中图像分割技术之三分水岭分割法
  5. 浅析安科瑞能耗监测云平台在公共建筑上的应用及未来发展趋势
  6. C++之union详解
  7. Thinkphp5.1+workerman+getway实现聊天功能
  8. php优酷收益,优酷号收益怎么样?大概有这么多!
  9. Andorid源码编译需要掌握的shell语法(三)
  10. Andorid实现皮皮蟹App的核心功能-语音播放