安装
npm install --save js-cookie
auth.ts
在 src/utils 下创建 auth.ts 文件夹
import Cookies from "js-cookie";
const TokenKey = "Admin-Token";
export function getToken() {
return Cookies.get(TokenKey); //获取键名为Admin-Token的值
}
export function setToken(token: string) {
return Cookies.set(TokenKey, token); //设置键名Admin-Token,值为token
}
export function removeToken() {
return Cookies.remove(TokenKey); //移除键名为Admin-Token的值
}
这里项目需要将 Token 存进请求头 的 Cookie 里面
在 请求拦截器 里面 操作代码如下:
// 引入 方法
import { setToken } from "@/utils/auth";
// 说明下 userStore , 是登录成功时后端返回的,然后存放在 pinia 里面
// 请求拦截器
service.interceptors.request.use(
(config: InternalAxiosRequestConfig) => {
const userStore = useUserStoreHook();
console.log('userStore.token',userStore.token);
// 在这里将 token 弄进 Cookie
if (userStore.token) {
config.headers.Authorization = userStore.token;
// 直接这里使用方法
setToken(userStore.token)
}
return config;
},
(error: any) => {
return Promise.reject(error);
}
);