common-function-utils
Version:
web和node开发中常用的函数工具。
30 lines (29 loc) • 1.93 kB
TypeScript
/**
* 创建或覆盖一个cookie
* @category Cookie
* @param name 要创建或覆盖的cookie的名字。
* @param value cookie的值。
* @param end
* - number类型: 将会赋值给存活时长max-age(一年为31536e<sup>3</sup>, 永不过期的cookie为 Infinity);
* - Date对象或[GMTString](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/toGMTString):将会赋值给expires;
* - 未定义或null: cookie将在会话结束时过期;
* @param path 指定主机下的哪些路径可以接受 Cookie, 例如 '/', '/mydir'。
* @param domain 将cookie发送到的主机, 例如 'example.com', '.example.com' (包括所有子域名), 'subdomain.example.com'。
* @param secure Cookie只有在使用https: scheme发出请求时才会发送到服务器(localhost上除外)。
* @param sameSite 控制cookie是否与跨源请求一起发送。
* @example
* ```js
setCookieItem("test0", "Hello world!");
setCookieItem("test1", "Unicode test: \u00E0\u00E8\u00EC\u00F2\u00F9", Infinity);
setCookieItem("test2", "Hello world!", new Date(2020, 5, 12));
setCookieItem("test3", "Hello world!", new Date(2027, 2, 3), "/blog");
setCookieItem("test4", "Hello world!", "Sun, 06 Nov 2022 21:43:15 GMT");
setCookieItem("test5", "Hello world!", "Tue, 06 Dec 2022 13:11:07 GMT", "/home");
setCookieItem("test6", "Hello world!", 150);
setCookieItem("test7", "Hello world!", 245, "/content");
setCookieItem("test8", "Hello world!", null, null, "example.com");
setCookieItem("test9", "Hello world!", null, null, null, true);
setCookieItem("test1;=", "Safe character test;=", Infinity);
```
*/
export default function setCookieItem(name: string, value: string, end?: Date | string | number | null, path?: string | null, domain?: string | null, secure?: boolean | null, sameSite?: 'Lax' | 'Strict' | 'None'): boolean;