在你的页面中,组件和插件你可以使用useCookie,一个SSR友好的组合来读写cookies。
const cookie = useCookie(name, options)
eg:
const counter = useCookie('counter', { maxAge: 60 }) //60秒有效期
counter.value = {
name: "hello",
age: 37
}
const token = useCookie('token', {maxAge: 60 * 5})
token.value = "hello world"
let user = useCookie('users', {maxAge: 60 * 60 * 24 * 30}) //30天 本地测试会有些问题
user.value = "hello ddskljdsfklj"
console.log(257, "user", user, 886, user.value)
// 获取
const s = useCookie('counter')
s.value
const balance2 = useCookie('balance', {maxAge: 60 * 60, SameSite: "none"})
const hasConsent = useCookie('dialog', {
sameSite: 'strict',
default: () => 'no',
maxAge: 2592000, // 30 days in seconds
});
//删除则设值为null即可
s.value = null
const token = useCookie("token")
token.value = null
const s = useCookie('counter')
const removeCookie = () => {
s.value = null
}
// 将用户登录成功返回的token存储在cookie当中,用户登录成功的标识
const token = useCookie("token")
token.value = data.value.token
const user = useUser()
user.value = data.value
//判断token是否有值
const token = useCookie("token")
token.value == undefined //无值
或者 :token.value == null
简写: !token.value //无值则为true
//Server端的使用
// server/api/counter.ts
export default defineEventHandler(event => {
// Read counter cookie
let counter = getCookie(event, 'counter') || 0
// Increase counter cookie by 1
setCookie(event, 'counter', ++counter)
// Send JSON response
return { counter }
})
RE: Nuxt开发指南