一、项目环境
将网页端封装成pc端,所以从github上克隆了electron的项目下来,企图electron直接做一个vue dist 的壳
二、问题描述
cookie 是后端通过set-cookie直接设置的,在cookie 里面有值但是,electron 主进程可以读取,但是通过 document.cookie 死都读不出来,尝试了网上的方法没有解决,
三、临时的解决办法
- 在 electron mian.js 主进程中 读取cookie,定时保存
const {app, BrowserWindow, Menu, globalShortcut, session} = require('electron')
、
、
、
// 渲染进程里面读不到 document.cookie 的内容 通过主进程读取
const cookies = session.defaultSession.cookies
setInterval(() => {
cookies.get({name: 'tio_session', domain: (cookieDomain || '')}).then(res => {
// 发送给渲染进程事件
mainWindow.webContents.send('tio_session', (res.length > 0 && res[0].value) ? res[0].value : '');
})
}, 500)
- 在 proload 中
// 接收来自主进程的事件
const electron = require('electron')
electron.ipcRenderer.on('tio_session', (event, args)=>{
// console.log('接收到主进程的消息',args)
window.localStorage.setItem('tio_session', args) // 将主进程发过来的参数保存到 localstorage 中
})
-
在vue dist 中再通过 localStorage.getItem(‘tio_session’) 读取
-
实现曲线救国