1. js-cookie
1.1 src/utils/auth.js封装用到的操作cookie的函数
import Cookies from "js-cookie";
const TokenKey = "Admin-Token";
export function getToken() {
return Cookies.get(TokenKey);
}
export function setToken(token) {
return Cookies.set(TokenKey, token, { expires: 7 });
}
export function removeToken() {
return Cookies.remove(TokenKey);
}
1.2 使用
比如在axios请求拦截器中加上cookie
import axios from "axios";
import { getToken } from "@/utils/auth";
// 创建axios实例
const service = axios.create({
baseURL: "",
withCredentials: true,
timeout: 100000
});
// 传递token
service.defaults.headers.common["Authorization"] = getToken();
// request拦截器
service.interceptors.request.use(
config => {
// 让每个请求携带自定义token 请根据实际情况自行修改
config.headers.Authorization = getToken();
return config;
}
);
2. vue-cookie
2.1 main.js中进行配置
import cookies from 'vue-cookies'
Vue.prototype.$cookies = cookies;
2.2 使用
let token = this.$cookies.get('token');
this.$cookies.set('token',token) // 设置cookie,默认过期时间单位是1天
this.$cookies.set('token',token,10) //过期时间是10天
this.$cookies.remove('token');
PS: 暂时用到的就这些,以后项目中遇到复杂场景时再学习补充