最近把公司一个 Web APP 项目用 Electron 封装了一个 Mac 客户端,主要是弥补了 Web 浏览器的一些先天不足:支持原生的通知支持原生的 icon 未读提醒支持原生的系统托盘增强网络状态变更的感知其中以前下载方式是通过打开系统浏览器进行文件下载的。因为文件需要鉴权,还得携带一些敏感的 cookie、token 过去,感觉不安全,所以希望文件下载能在 APP 内完成通过 Electron 中will-download事件,我们可以很方便的解决这个问题12345678910111213141516171819202122232425262728293031mainWindow.webContents.session.on('will-download', (e, item) => {//获取文件的总大小const totalBytes = item.getTotalBytes();//设置文件的保存路径,此时默认弹出的 save dialog 将被覆盖const filePath = path.join(app.getPath('downloads'), item.getFilename());item.setSavePath(filePath);//监听下载过程,计算并设置进度条进度item.on('upd
...
继续阅读
(10)