UNPKG

@icenet/electron-window

Version:

主要针对使用 electron-vite 初始化的项目做的插件,点击[这里](https://cn-evite.netlify.app/),必在 electron-vite 的基础上使用,针对 electron-vite 中打开新的无边框窗口缓慢、传参困难等问题做的优化,安装方式简单、使用简单

63 lines (58 loc) 1.96 kB
"use strict"; const { app } = require("electron"); const { dirname, join } = require("path"); const https = require("https"); const fs = require("fs"); /** * 获取文件路径 * @param {*} dirname 文件绝对路径 * @param folder 文件目录 * @param name 文件名字 * @returns */ const getFile = (dirname, folder, name) => { return join(dirname, folder, name); }; /** * 获取本地或者远程图标,下载保存在本地 * @param iconPath 图标路径 * @param folder 文件路径 * @param name 图标名字 * @param isLocal 是否是本地图标 * @returns */ const getIcon = (iconPath, folder, name, isLocal = false) => { return new Promise((resolve, reject) => { try { let localIconPath = join(app.getAppPath(), folder, name); // 判断是否是正式环境 if (app.isPackaged) { // 正式环境 localIconPath = join(dirname(app.getPath("exe")), folder, name); } // 下载图标 const file = fs.createWriteStream(localIconPath); if (isLocal) { const readStream = fs.createReadStream(iconPath); readStream.pipe(file); file.on("finish", function () { file.close(); // 设置本地图片作为图标 resolve(localIconPath); }); } else { https.get(iconPath, function (response) { response.pipe(file); file.on("finish", function () { file.close(); // 存到本地图片作为图标 resolve(localIconPath); }); }); } } catch (error) { reject(); } }); }; module.exports = { getFile, getIcon };