当前位置: 首页 > news >正文

js-cookie的使用

实际上,cookie本身并不是用来做服务器存储的,关于jscookie存储的理解,可以参考我记录的js的数据存储专栏。

Cookie 是一些数据, 存储于客户端电脑上的文本文件中,其中记录了用户的用户名、密码、浏览的网页、停留的时间等等信息。当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。

简单的说就是:

  • (1) cookie是以小的文本文件形式(即纯文本),完全存在于客户端;cookie保存了登录的凭证,有了它,只需要在下次请求时带着cookie发送,就不必再重新输入用户名、密码等重新登录了。
  • (2) 是设计用来在服务端客户端进行信息传递的;
  • 当用户访问 web 页面时,他的名字可以记录在 cookie 中。
  • 在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录。

 js-cookie的引用

1.直接饮用cdn:
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>2.本地下载下来后:
<script src="/src/libs/utils/js.cookie.js"></script>3.模块化开发时: 
npm i js-cookie 
import Cookies from 'js-cookie'

cookie的使用

cookie的使用方法
cookie的set方法支持的属性有 :

  • expires->过期时间    
  • path->设置为指定页面创建cookie
import Cookies from 'js-cookie'
// 写入cookie
Cookies.set('name', 'value')
// 读取
Cookies.get('name') // => 'value'
// 读取所有可见的cookie
Cookies.get()
// 删除某项cookie值
Cookies.remove('name')
Cookies.remove('name', { path: '' }); // path配置删除存了指定页面path的cookie注意:如果存的是对象
如: userInfo = {age:111,score:90};Cookie.set('userInfo',userInfo)
取出来的userInfo需要进行JSON的解析,解析为对象:
let res = JSON.parse( Cookie.get('userInfo') );
当然你也可以使用:Cookie.getJSON('userInfo');

真实业务中封装一个js文件,单独封装一个cookie存储删除的方法js,在其它页面可以直接引用,这样代码维护行会比较高 

export const TOKEN_KEY = 'pk_h5_token'
export const APPTOKEN_KEY = 'pk_h5_apptoken'
export const REFERURL_KEY = "pk_h5_url"export const setToken = (token) => {Cookies.set(TOKEN_KEY, token, {expires: cookieExpires || 1})
}export const getToken = () => {const token = Cookies.get(TOKEN_KEY)if (token) return tokenelse return false
}export const removeToken = () => {Cookies.remove(TOKEN_KEY)
}

cookie的过期时间 

js-cookie 的示例中只有以天为单位的有效期,按天数设置过期时间的话,直接在expires后设置天数日期即可,实际上我们还可以设置时间戳来应对更小的过期时间,如果过期时间小于一天的话,expires还可以设置毫秒数,比如设置10分钟,就先把10分钟换算成毫秒,在new Date()一下就可以可以获取到一个时间对象

new Date(new Date().getTime() + 10 * 1000)    // 10秒后过期

new Date(new Date().*1 + 10 * 60 * 1000)    // 10分钟后过期

new Date(new Date().getTime() + 720 * 60 * 1000)    // 12个小时之后过期,这里获取到的就是距离当前时间的12个小时之后的时间

//创建有效期为27天的cookie
Cookies.set('key', 'value', { expires: 27 });//可以通过配置path,为当前页创建有效期7天的cookie
Cookies.set('key', 'value', { expires: 7, path: ''  }); 

业余知识普及记录一下,以下方法皆可以获取最新时间戳,Date()对象 *1或者运用+符号可以直接转换为(时间戳),并且在将数学运算符应用于该对象时,JavaScript会为我们转换该数字,获取时间戳的更快方法+new Date();

new Date().valueOf()

new Date().getTime()

Date.parse(new Date())

new Date() * 1

+new Date()

相关文章:

js-cookie的使用

实际上&#xff0c;cookie本身并不是用来做服务器存储的&#xff0c;关于jscookie存储的理解&#xff0c;可以参考我记录的js的数据存储专栏。 Cookie 是一些数据, 存储于客户端电脑上的文本文件中&#xff0c;其中记录了用户的用户名、密码、浏览的网页、停留的时间等等信息。…...

c++11 关键字 override 使用

写在最前。。。 请支持原创~~ 1. 功能 用在类中成员函数声明的地方&#xff0c;用以标记一个virtual function 是重写另一个 virtual function&#xff1b; 2. 语法 只声明时&#xff0c;override 紧跟参数的右括号&#xff0c;如果是纯虚函数&#xff0c;override 会出现在…...

从16K跳槽到20K,最后算下来年薪却还降了,我笑了····

跳槽时薪资涨了 4000&#xff0c;但年薪总包算下来反而变少了&#xff0c;这是怎么回事&#xff1f; 上周&#xff0c;我星球里一个同学就遇到了这么一个问题&#xff0c;薪资涨了、总包降了&#xff0c;而且谈薪时把自己坑了。 作为一个案例&#xff0c;我觉得对很多人可能会…...

线性表 链表表示

初识链表 用一组物理位置任意的存储单元来存放线性表的数据元素。这组存储单元既可以是连续的&#xff0c;也可以是不连续的&#xff0c;甚至是零散分布在内存中的任意位置上的。链表中元素的逻辑次序和物理次序不一定相同。 在存储自己内容的同时也存储下一个元素的地址。存…...

面试题JavaScript篇(二)

目录 一、内存泄露 1、是什么 2、导致的原因 二、垃圾回收机制的策略 三、浅拷贝和深拷贝 1、浅拷贝 .slice() ...展开运算符 Object.assign(目标对象, 被复制的对象) ...展开运算符 2、深拷贝 structuredClone() 浏览器提供 JSON.parse(JSON.stringify(obj)) …...

项目管理工具dhtmlxGantt甘特图入门教程(十五):从MS项目导入/导出(下)

这篇文章给大家讲解dhtmlxGantt请求大文件导入的大小限制。 dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表&#xff0c;可满足应用程序的所有需求&#xff0c;是完善的甘特图图表库 DhtmlxGantt正版试用下载&#xff08;qun 764148812&#xff09;https:…...

2023 年 6 大智能合约语言

如果你想成为一名 Web3 开发人员&#xff0c;你需要知道如何编写智能合约&#xff0c;智能合约是所有 Web3 应用程序的支柱。 简而言之&#xff0c;智能合约是在区块链网络上部署和执行的计算机程序&#xff0c;提供确定性保证&#xff0c;使多方能够达成一致的、防篡改的结果…...

家用洗地机哪款最好用?全球洗地机十大品牌

近年来&#xff0c;智能家用电器洗地机已经融入到我们生活中了&#xff0c;成为最受欢迎的清洁工具了&#xff0c;家用洗地机吸拖洗一体&#xff0c;不用先扫后拖那么麻烦&#xff0c;只需轻轻一推&#xff0c;就能把扫地、拖地、擦地的活全干了&#xff0c;操作简单&#xff0…...

【2223sW2】LOG1

写在前面 好好学习&#xff0c;走出宿舍&#xff0c;走向毕设&#xff01; 一些心路历程记录&#xff0c;很少有代码出现 因为鬼知道哪条代码到时候变成毕设的一部分了咧&#xff0c;还是不要给自己的查重挖坑罢了 23.2.27 文件批量重命名 为了给学姐先整出来一批训练数据&…...

Spring Cloud配置application.yml与bootstrap.yml区别及多profile配置 | Spring Cloud 6

一、前言 Spring Cloud 构建于 Spring Boot 之上&#xff0c;在 Spring Boot 中有两种上下文&#xff0c;一种是 bootstrap&#xff0c;另外一种是 application。 1.1 两者区别 bootstrap.yml/bootstrap.properties 和 application.yml/application.yml 都可以用来配置参数。…...

springboot通过aop实现全局日志(是否自定义注解都可以)

内容参考自以下两个链接1、springboot中使用AOP切面完成全局日志_aop全局日志_邹飞鸣的博客-CSDN博客使用AOP记录日志_aop日志_trusause的博客-CSDN博客第一个链接思路很清晰,讲的也很详细,第二个链接讲了自定义注解为了便于自己理解做了以下整理目录 1.aspectj基本概念 2.添加…...

k8s面试题-进阶

1、简述etcd及其特点etcd是CoreOS团队发起的开源项目&#xff0c;是一个管理配置信息和服务发现&#xff08;service discovery&#xff09;的项目&#xff0c;它的目标是构建一个高可用的分布式键值&#xff08;key-value&#xff09;数据库&#xff0c;基于Go语言实现。特点&…...

预览版Edge申请微软new Bing失败解决方案

文章目录1.首先需要配置科学上网2.下载预览版Edge浏览器卡它bug&#xff01;卡它bug&#xff01;卡它bug&#xff01;没有申请上ChatGPT的朋友们&#xff0c;试试new Bing吧&#xff0c;更新更强大&#xff0c;关于申请方式&#xff0c;网上已经有很多帖子了&#xff0c;其中一…...

Spring中Bean生命周期及循环依赖

spring中所说的bean对象 与 我们自己new的对象(原始对象)是不同的&#xff1b;bean对象是指spring框架创建管理的我们的对象生命周期即&#xff1a;何时生&#xff0c;何时死1.实例化 Instantiation&#xff1a;spring通过反射机制以及工厂创建出来的原始对象&#xff1b;2.属性…...

【3.1】MySQL锁、动态规划、Redis缓存,过期删除与淘汰策略

5.4 MySQL死锁了&#xff0c;怎么办&#xff1f; RR隔离级别下&#xff0c;会存在幻读的问题&#xff0c;InnoDB为了解决RR隔离级别下的幻读问题&#xff0c;就引出了next-key 锁&#xff0c;是记录锁和间隙锁的组合。 Record Lock&#xff0c;记录锁&#xff0c;锁的是记录本身…...

Python+Yolov5跌倒检测 摔倒检测 人物目标行为 人体特征识别

PythonYolov5跌倒检测 摔倒检测 人物目标行为 人体特征识别如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01;前言这篇博客针对<<PythonYolov5跌倒摔倒人体特征识别>>编写代码&#xff0c;代码整洁&…...

计算机底层:储存器的性能指标(CPU和内存等硬件的性能以及 对比标准)

计算机底层&#xff1a;储存器的性能指标(CPU和内存等硬件的性能以及 对比标准) 内存&#xff1a; MAR是存放地址的寄存器&#xff1b;MDR是存放数据的寄存器。 MAR是存放地址的寄存器&#xff0c;那么其中的二进制位一定是不能重复的&#xff0c;试想&#xff0c;如果有有两个…...

操作留痕功能实现与探讨

操作留痕功能实现与探讨 背景 接手了一个单体应用项目&#xff0c;看系统介绍&#xff0c;说实现了【高性能的操作日志留痕】功能&#xff0c;就有点好奇它是怎么设计的&#xff0c;是阻塞队列还是怎样的线程池。结果我打开代码一看&#xff0c;真的是笑洗个人了。它是做了一…...

深入浅出消息队列MSMQ

消息队列MSMQ&#xff0c;相信稍有开发经验的小伙伴都了解一些。开始讲解之前&#xff0c;我们先弄清楚一件事&#xff0c;为什么我们要使用MSMQ&#xff1a; 您可能认为您能够通过一个简单的数据库表(一个应用程序往其中写入数据&#xff0c;另一个应用程序从中读取数据)来应用…...

Maven多模块开发

POM主要功能 maven学习教程很多&#xff0c;就不在赘述可以参考以下网站&#xff0c;这里只说明maven实际运用。 https://blog.csdn.net/xwh3165037789/article/details/121545762 菜鸟教程 Maven POM POM是在使用Maven构建项目最重要的部分&#xff0c; POM 中所有信息位于&l…...

QT之OpenGL帧缓冲

QT之OpenGL帧缓冲1. 概述1.1 帧缓冲的创建与删除1.2 帧缓冲的数据来源1.2.1 数据源与帧缓冲的关系1.2.2 纹理Attachment1.2.3 渲染缓冲对象Attachment1.2.4 两者的区别1.2.5 关于两者的使用场景2. Demo3. 后期处理4. 参考1. 概述 OpenGL管线的最终渲染目的地被称作帧缓冲(fram…...

$ 6 :选择、循环

if-else语句 #include <stdio.h> //判断输入值是否大于0 int main() {int i;while (scanf("%d",&i)){if (i > 0)//不要在括号后加分号{printf("i is bigger than O\n");}else {printf("i is not bigger than O\n");}}return O; } …...

【项目设计】高并发内存池 (四)[pagecache实现]

&#x1f387;C学习历程&#xff1a;入门 博客主页&#xff1a;一起去看日落吗持续分享博主的C学习历程博主的能力有限&#xff0c;出现错误希望大家不吝赐教分享给大家一句我很喜欢的话&#xff1a; 也许你现在做的事情&#xff0c;暂时看不到成果&#xff0c;但不要忘记&…...

玩转qsort——“C”

各位CSDN的uu们你们好呀&#xff0c;今天小雅兰的内容还是我们的深度剖析指针呀&#xff0c;上篇博客我们学习了回调函数这个知识点&#xff0c;但是没有写完&#xff0c;因为&#xff1a;小雅兰觉得qsort值得单独写出来&#xff01;&#xff01;&#xff01;好啦&#xff0c;就…...

【干货】又是一年跳槽季!Nginx 10道核心面试题及解析

Nginx是一款轻量级的高性能Web服务器和反向代理服务器&#xff0c;由俄罗斯的Igor Sysoev开发。它具有占用资源少、高并发、稳定性高等优点&#xff0c;被广泛应用于互联网领域。在Nginx的面试过程中&#xff0c;面试官通常会提出一些核心问题&#xff0c;本文将介绍一些常见的…...

【线程安全的HashMap有哪些,CurrentHashMap底层是怎么实现线程安全的】

在 Java 中&#xff0c;线程安全的 HashMap 通常有以下几种实现&#xff1a; Collections.synchronizedMap 方法&#xff1a;该方法可以将 HashMap 转换为线程安全的 Map。 Hashtable 类&#xff1a;Hashtable 是一种线程安全的集合类&#xff0c;它与 HashMap 类似&#xff0…...

C语言-结构体【详解】

一、 结构体的基础知识 结构是一些值的集合&#xff0c;这些值称为成员变量结构的每个成员可以是不同类型的变量 &#xff08;1&#xff09;结构体的声明 写法一&#xff1a; 注&#xff1a; 括号后边的分号不能忘结构体末尾可以不创建变量&#xff0c;在主函数中再创建 struc…...

浏览器输入url到页面渲染完成经历了哪些步骤

一、URL解析 这一步比较容易理解&#xff0c;在浏览器地址栏输入url后&#xff0c;浏览器会判断这个url的合法性 &#xff0c;以及是否有可用缓存&#xff0c;如果判断是 url 则进行域名解析&#xff0c;如果不是 url &#xff0c;则直接使用搜索引擎搜索 二、域名解析 输入…...

大数据技术之Hadoop(Yarn)

第1章Yarn资源调度器思考&#xff1a;1&#xff09;如何管理集群资源&#xff1f;2&#xff09;如何给任务合理分配资源&#xff1f;Yarn是一个资源调度平台&#xff0c;负责为运算程序提供服务器运算资源&#xff0c;相当于一个分布式的操作系统平台&#xff0c;而MapReduce等…...

5.建造者模式

目录 简介 四个角色 应用场景 实现步骤 和工厂模式的区别 简介 建造者模式也叫生成器模式&#xff0c;是一种对象构建模式&#xff1b;它可以把复杂对象的建造过程抽象出来(抽象类别)&#xff0c;使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象&#xff1b;…...

网站公司怎么做/文章代写

通过UIApplication.sharedApplication().openURL()方法&#xff0c;可以使用浏览器打开相应的网页。 123var urlString "http://hangge.com"var url NSURL(string: urlString)UIApplication.sharedApplication().openURL(url!)...

用wordpress好吗/黑龙江头条今日新闻

欢迎您戳蓝色字“工数平台”持续关注我们哟&#xff01;导言在当今中国的各个领域&#xff0c;“弯道超车”是个经常被提及的口号&#xff0c;然而常识和交规告诉我们&#xff0c;弯道不仅不能超车还得减速&#xff0c;超车极其危险。仔细解读“弯道超车”&#xff0c;其实还暗…...

塘沽网站建设/深圳网络广告推广公司

在 开发Maven 项目的时候&#xff0c;会发现个问题&#xff0c;就是下载下来的项目默认 compiler 为1.5 &#xff0c;项目报错。 明明之前开发用的是1.7的啊。 这里只需要在pom.xml确定下就好了。 <properties><project.build.sourceEncoding>UTF-8</project.bu…...

网站如何设置二级域名/深圳外贸网络推广渠道

文章目录一、先说思路二、示例代码一、先说思路 1、使用cross-env修改系统常量&#xff0c;使程序知道接下来的操作要想那个服务器自动部署 2、使用ssh2操作服务器&#xff0c;将服务器上原有的项目改名&#xff0c;并放入记录文件夹 3、使用scp2将打包后的文件发送到对应的服…...

网站上线后/网站首页的优化

Python的信息太爆炸了吧&#xff01;将纳入高考内容、小学生教材开始接触Python、Python列入全国计算机等级考试……全民学Python的话题铺天盖地&#xff0c;中国的Python学习者是全球第一&#xff0c;人才如此泛滥&#xff0c;甚至以后孩子都会&#xff0c;学习它还能体现自身…...

南京公司网站/百度权重排名

gbcax链交所 【金融时报&#xff1a;区块链技术适用于互联网保单管理】 6月10日&#xff0c;金融时报刊登文章《科技赋能&#xff0c;打开保险业想象空间》。文中指出&#xff0c;近些年&#xff0c;科技在保险业场景中被广泛应用&#xff0c;并向各个流程以及底层架构渗透&…...