cookiestore 可替代 document.cookie 实现异步、结构化、可维护的 cookie 管理:支持结构化读写、条件筛选、安全设置/删除、变更监听、promise 错误处理及 https 要求。

可以直接用 cookieStore 替代 document.cookie,实现真正异步、结构化、可维护的 Cookie 管理。它不是语法糖,而是底层行为重构——读写不再阻塞主线程,数据不再拼接字符串,操作不再依赖手动转义和格式校验。
获取单个或多个 Cookie 更直观
传统方式要手动解析字符串,容易出错;cookieStore.get() 和 cookieStore.getAll() 直接返回结构化对象或数组:
-
await cookieStore.get('theme')返回包含name、value、expires、domain、path等字段的完整对象 -
await cookieStore.getAll({ domain: 'example.com' })可按域名、路径、sameSite 等条件筛选,无需自己遍历和正则匹配 - 不支持同步读取,但避免了 UI 阻塞,也消除了因读取时机导致的竞态问题
设置和删除 Cookie 更安全可靠
cookieStore.set() 和 cookieStore.delete() 支持两种调用形式,兼顾简洁与精细控制:
- 快捷写法:
cookieStore.set('token', 'abc123'),自动应用当前上下文的domain和path - 完整配置:
cookieStore.set({ name: 'lang', value: 'zh-CN', expires: Date.now() + 86400000, sameSite: 'Lax', secure: true }),所有选项语义清晰,无需拼接字符串 - 删除不用伪造过期时间:
cookieStore.delete('session_id')或cookieStore.delete({ name: 'session_id', domain: 'api.example.com' }),一步到位
监听 Cookie 变更实现状态自动同步
这是 document.cookie 完全不具备的能力。通过事件监听,前端能实时响应服务端或其他脚本触发的 Cookie 更新:
-
cookieStore.addEventListener('change', handler),handler 接收event.changed(新增/更新)和event.deleted(被移除)两个数组 - 适合用于主题切换、语言变更、登录态刷新等场景,比如检测到
theme=dark变更后,立即更新的 class - 监听器在 Document 和 Service Worker 中都可用,便于跨上下文协同
错误处理与降级策略更可控
所有方法返回 Promise,天然支持 try/catch 和 await,异常类型明确(如网络权限拒绝、跨源限制、存储配额超限):
- 捕获失败后可优雅降级,例如回退到
localStorage存储非敏感状态 - 不支持的浏览器(如旧版 Safari)可通过
'cookieStore' in window检测,再决定是否加载 polyfill 或启用备选方案 - 注意:该 API 要求 HTTPS(或
localhost),且部分选项(如secure)在非安全上下文中会被静默忽略
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











