Cookies
使用 Cookies 在客户端存储数据。
使用 H3 处理 Cookies 非常简单。有三个工具来处理 Cookies:
setCookie用于将 Cookie 附加到响应中。getCookie用于从请求中获取 Cookie。deleteCookie用于从响应中清除 Cookie。
设置 Cookie
要设置 Cookie,需要在事件处理器中使用 setCookie:
import { setCookie } from "h3";
app.use(async (event) => {
setCookie(event, "name", "value", { maxAge: 60 * 60 * 24 * 7 });
return "";
});
在选项中,可以配置Cookie 标志:
maxAge设置 Cookie 的过期时间(秒)。expires使用Date对象设置 Cookie 的过期时间。path设置 Cookie 的路径。domain设置 Cookie 的域。secure设置 Cookie 的Secure标志。httpOnly设置 Cookie 的HttpOnly标志。sameSite设置 Cookie 的SameSite标志。
获取 Cookie
要获取 Cookie,需要在事件处理器中使用 getCookie。
import { getCookie } from "h3";
app.use(async (event) => {
const name = getCookie(event, "name");
// 执行相关操作...
return "";
});
如果 Cookie 存在,将返回其值,否则返回 undefined。
删除 Cookie
要删除 Cookie,需要在事件处理器中使用 deleteCookie:
import { deleteCookie } from "h3";
app.use(async (event) => {
deleteCookie(event, "name");
return "";
});
deleteCookie 工具是对 setCookie 的封装,设置的值为 "",maxAge 为 0。
这会从客户端删除该 Cookie。