我正在尝试从可组合项访问存储在 cookie 或 localStorage 中的身份验证令牌。
// composables/useUser.ts
export const useUser = () => {
const info = async () => {
const config = useRuntimeConfig();
try {
const token = localStorage.getItem("auth_token");
const { data } = await useFetch(
`${config.public.baseURL}/users/info`,
{
method: "GET",
headers: { Authorization: `Bearer ${token}` },
}
);
const info = data.value.user;
localStorage.setItem("user", info);
} catch (error) {
console.log(error);
}
};
};
我必须指定
process.client
才能访问文档或本地存储,这不适合我的情况。
要获取 cookie,您可以使用“useCookie”可组合项:
const { sth } = useCookie(cookieName)
对于 localStorage,由于您正在处理浏览器的 Web API,因此您必须确保在客户端而不是服务器端运行代码。