import { ICookieSetOptions } from '../types'; /** * 设置 cookie,默认为时间为 180 天,设置 extra.days 为 0 可以保存为 session cookie * * HTTP 下,非 Iframe、Iframe 不跨域、Iframe 跨子域(跨全域都不行)成功的测试用例: * * | SameSite | Secure | Firefox | Chrome | Safari | * |--------------|-------------|---------|--------|--------| * | `undefined` | `undefined` | ✅ | ✅ | ✅ | * | Lax | `undefined` | ✅ | ✅ | ✅ | * | Strict | `undefined` | ✅ | ✅ | ✅ | * * HTTPS 下,非 Iframe、Iframe 不跨域、Iframe 跨子域、Iframe 跨全域(Safari 都不行)成功的测试用例: * * | SameSite | Secure | Firefox | Chrome | Safari | * |--------------|-------------|---------|--------|--------| * | None | `true` | ✅ | ✅ | ✅ | * | None | `false` | ✅ | ✅ | ✅ | * * 1. 若 HTTPS,则 `sameSite=None; secure=true` * 2. 若 HTTP,则 `SameSite` 和 `secure` 不设置 */ export default function setCookie(name: string, value: string | number | boolean, { domain, path, days, sameSite: sameSite0, secure: secure0 }?: ICookieSetOptions): void;