cookie使用最多的地方想必是保存用户的账号与密码,可以避免用户每次登录时都要重新输入
1.vue中cookie的安装
在终端中输入命令npm install vue-cookies --save,即可安装cookies,安装之后在main.js文件中写下以下代码
import { createApp } from 'vue'
import VueCookies from 'vue-cookies'
const app = createApp(App)
app.config.globalProperties.$cookies = VueCookies
即可在项目中使用cookies
2.登录过程中cookies的设置
因为用户可能会修改密码,所以我在业务中常用的做法是当登录的接口返回正确的数据后(判断正确,可以登录)先判断有没有cookies,有就将其删除,再创建新的cookies,代码如下
if (ret.code === 200) {
// 删除之前的cookies
if($cookies.isKey("xxxxx") ){
$cookies.remove("xxxxx")
}
}
之后将登录的信息重新存入cookie中,代码如下
// 设置cookies保存的内容
const xxxxx = {
username: '',
password: '',
// 以下还有很多信息
}
最后便是重新存cookies,代码如下
// 设置cookies的日期为一个月
$cookies.config("1m")
// 设置cookies
$cookies.set("xxxxx",xxxxx); // 前面的为设置cookies的名字,后面为内容
这里突然想到了面试中经常提到的一个问题,怎么将cookies设置为无效,答案是将cookies的过期时间设置为之前的时间,不知道大家有没有想到呢。
3.在需要的地方拿到之前存入的cookies
代码也非常简单啦
import { getCurrentInstance } from 'vue'
// 创建可以访问内部组件实例的实例
const internalInstance = getCurrentInstance()
const internalData = internalInstance.appContext.config.globalProperties
const xxxxx = internalData.$cookies.get('xxxxx') // 后面的为之前设置的cookies的名字
这样就可以在需要的地方拿到cookies中的内容了。