当前位置: 首页> 健康> 美食 > 建门户网站需要多少钱_缅甸最新消息_关键词优化武汉_如何制定会员营销方案

建门户网站需要多少钱_缅甸最新消息_关键词优化武汉_如何制定会员营销方案

时间:2025/8/27 3:45:40来源:https://blog.csdn.net/jhgfvjfggff_fds_f/article/details/146091491 浏览次数:1次
建门户网站需要多少钱_缅甸最新消息_关键词优化武汉_如何制定会员营销方案

前期插件

前端请求后台的一种方法

npm install got -S

用于获取ArrayBuffer文件类型

npm install image-type -S

生成随机数

npm install randomstring -D

增加右击事件

点击右击事件的时候加载菜单

const imageRightSave = require("./ImageRightSave")  // 创建右击菜单
const imageSaveLocalUtil = require("../utils/ImageSaveLocalUtil");  // 保存图片到本地
let shortcutRegistered = false;  // 用于控制是否注册快捷键// 监听右击事件
win.webContents.on('context-menu', (e, args) => {if (!args.srcURL) return  // 如果路由地址为空则不显示快捷键if (!shortcutRegistered) {globalShortcut.register("CommandOrControl+S", () => {imageSaveLocalUtil(args.srcURL)})shortcutRegistered = true}contextMenu = imageRightSave(args.srcURL)contextMenu.popup()contextMenu.on("menu-will-close", () => {globalShortcut.unregister("CommandOrControl+S")  // 注销快捷键shortcutRegistered = false})
})

编写菜单

注意:accelerator只负责显示快捷键,但是没有快捷键的功能,需要自己手动编写快捷键的规则。 切记 切记 切记!!!

const {Menu} = require('electron');
const imageSaveLocalUtil = require("../utils/ImageSaveLocalUtil")const imageRightSave = (url) => {const template = [{label: "图片另存为...",accelerator: "CommandOrControl+S",  // 仅仅用于快捷键的显示,但是不会有快捷键的功能click: async () => {imageSaveLocalUtil(url)  // 保存图片到本地}}]return Menu.buildFromTemplate(template)
}module.exports = imageRightSave

保存本地

const {dialog} = require("electron");
const {default: got} = require("got");
const path = require("path");
const randomstring = require("randomstring");
const fs = require("fs");
const warningMessageUtil = require("./WarningMessageUtil");/*** 加载文件类型* @param chunk*/
async function loadFileType(chunk) {const imageType = (await import('image-type')).default;const imgType = await imageType(chunk)  // 现在您可以使用 imageType 了return imgType.ext;
}/*** 将图片保存到本地*/
const imageSaveLocalUtil = async (url) => {await got.get(url).then(async (res) => {const chunk = Buffer.from(res.rawBody);const suffix = await loadFileType(chunk)if (suffix == null || suffix == undefined || suffix == "") {warningMessageUtil("图片加载失败")return}const {filePath, canceled} = await dialog.showSaveDialog({title: '图片另存为',defaultPath: path.resolve(__dirname, '../../public/uploads/' + randomstring.generate(10) + "." + suffix),})if (canceled) return  // 用户点击了取消fs.writeFileSync(filePath, chunk)  // 数组写入本地}).catch((e) => {console.error(e)})
}module.exports = imageSaveLocalUtil

警告消息提示

const {dialog, ipcMain} = require('electron');const messagePrompt = (msg) => {dialog.showMessageBox({message: msg,type: 'warning',})
}module.exports = messagePrompt
关键字:建门户网站需要多少钱_缅甸最新消息_关键词优化武汉_如何制定会员营销方案

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: