官方: 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)
})