electron cookies 应用与封装


官方: https://www.electronjs.org/docs/api/structures/cookie

electron 中提供了cookie 来实现数据的持久化

Cookie 对象

name String - cookie 的名称。
value String - cookie 的值。
domain String (可选) - cookie所在域名,通常使用点号开头,以使其对子域名可用。
hostOnly Boolean (可选) - cookie 是否仅匹配主机头;此项仅在未设置域名时才能为 true。
path String (可选) - cookie 的路径。
secure Boolean (可选) - cookie 是否标记为安全。
httpOnly Boolean (可选) - cookie 是否只标记为 HTTP。
session Boolean (可选) - cookie是会话cookie 还是具有过期时间的持久性 cookie
expirationDate Double (可选) - cookie的过期时间, 为从UNIX标准时间开始的秒数 没有为 session cookies 提供.
sameSite String - The Same Site policy applied to this cookie. Can be unspecified, no_restriction, lax or strict

引入session

  const { session } = require('electron').remote

setCookie

		// 设置一个 cookie,使用设置的名称;
		// 如果存在,则会覆盖原先 cookie.
        const cookie = { url: 'http://www.github.com', name, value }
        session.defaultSession.cookies.set(cookie)
            .then((cookie) => {
               console.log(cookie)
            }, (error) => {
                console.log(error)
            })

getCookie

        // 查询所有 cookies。
		 session.defaultSession.cookies.get({})
		     .then((cookies) => {
		         console.log(cookies)
		    }).catch((error) => {
		     console.log(error)
		 })
        // 查询所有与设置的 URL 相关的所有 cookies.
        session.defaultSession.cookies.get({ url: 'http://www.github.com',name })
            .then((cookies) => {
                console.log(cookies)
            }).catch((error) => {
            console.log(error)
        })

简单封装

const { session } = require('electron').remote
const Cookie = {}
Cookie.getCookie = (name)=>{
    return new Promise(((resolve, reject) => {
        // 查询所有与设置的 URL 相关的所有 cookies.
        session.defaultSession.cookies.get({ url: 'http://www.github.com',name })
            .then((cookies) => {
                resolve(cookies)
            }).catch((error) => {
            reject(error)
        })
    }))
}


// 设置一个 cookie,使用设置的名称;
// 如果存在,则会覆盖原先 cookie.
Cookie.setCookie = (name,value)=>{
    return new  Promise((resolve, reject) => {
        const cookie = { url: 'http://www.github.com', name, value }
        session.defaultSession.cookies.set(cookie)
            .then(() => {
                resolve()
            }, (error) => {
                reject(error)
            })
    })
}
module.exports = Cookie

应用

		const Cookie = require('./cookie.js')
		Cookie.setCookie("test3", "wwww.test.com")
		Cookie.getCookie('test3').then(res=>{
		    console.log(res)
		})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狗_都不做前端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值