当前位置: 首页 > wzjs >正文

一个网站备案号是冒用其它公司的重庆做网站的

一个网站备案号是冒用其它公司的,重庆做网站的,成都网站排名优化开发,网站建设经验王者荣耀恺和单实例的思路 首次通过双击文件打开应用 将filePath传给render 使用中的应用,再次双击打开文件 第一个实例创建时,同时创建一个通信服务器net.createServer()第二个实例创建时,连接第一个服务器net.createConnection()将再次打开的filePath传…

单实例的思路

  1. 首次通过双击文件打开应用
    • filePath传给render
  2. 使用中的应用,再次双击打开文件
    • 第一个实例创建时,同时创建一个通信服务器net.createServer()
    • 第二个实例创建时,连接第一个服务器net.createConnection()
    • 将再次打开的filePath传递给第一个实例
    • 然后在传递给render

1. 首次通过双击文件打开应用

在主进程展示的时候传递filePath

  mainWindow.on('ready-to-show', () => {//隐藏启动页if (loadingWindow && !loadingWindow?.isDestroyed()) {loadingWindow?.hide()loadingWindow?.removeAllListeners()loadingWindow?.destroy()}mainWindow.show()/*** @description 双击打开本地文件*/openFileFromDoubleClick(mainWindow)})

获取filePath并传递给render

export function openFileFromDoubleClick(mainWindow) {if (process.argv.length >= 2) {const argv = process.argv.slice(app.isPackaged ? 1 : 2)const filePath =argv.find((arg) => arg.endsWith('.krzj')) ||argv.find((arg) => arg.includes('--file'))?.split('=')[1]if (filePath && filePath.endsWith('.krzj')) {// 当页面加载完成后,获取到vue-ready事件后,发送open-file事件ipcMain.once('vue-ready', () => {mainWindow.webContents.send('open-file', filePath)})}}
}

2. 注册preload事件

 //双击打开文件onOpenFile: (callback: any) => ipcRenderer.on('open-file', callback),//消息传递send: (channel, data) => ipcRenderer.send(channel, data),

3. render接收信息

需要先通知主进程render加载完毕,才从主进程拿filePath,否则获取不到

onMounted(() => {// 在health接口返回后 获取双击打开的文件路径window.api.send('vue-ready')window.api.onOpenFile((event: any, path: string) => {if (path && route.path === '/file') {// 在当前页直接获取跳转openProjectFile(path)} else if (path && route.path !== '/file') {// 在非当前页则回来后获取跳转router.push('/file')openProjectFile(path)}})
})

4. 主进程创建通信服务器

// 锁定应用只能单列运行
const appSingleInstance = app.requestSingleInstanceLock()
if (!appSingleInstance) {// 第二个实例 - 连接第一个实例的服务器sendFilePathToFisrtInstance(PORT)app.quit()
} else {// 第一个实例 - 创建服务器 获取第二个实例发送的filepath 封装后不能再发送server = net.createServer((socket) => {socket.on('data', (data) => {mainWindow?.webContents.send('open-file', data.toString())})})server.listen(PORT)server.on('error', (err) => console.error('服务器错误:', err))
}

5. 第二个实例连接服务器

/*** @description 第二个实例 - 连接第一个实例的服务器* @export*/
export function sendFilePathToFisrtInstance(port: number) {const argv = process.argv.slice(app.isPackaged ? 1 : 2)const filePath =argv.find((arg) => arg.endsWith('.krzj')) ||argv.find((arg) => arg.includes('--file'))?.split('=')[1]if (filePath) {const client = net.createConnection({ port: port }, () => {client.write(filePath)client.end()})client.on('error', () => {})}
}

开发时如何本地测试打开多个文件

使用的是electron-vite,在package.json创建运行脚本,一条就是打开一个文件,可以开多个终端打开多个文件

 "open-file": "electron-vite dev -- --file \"D:/kr/untitled01.krzj\"","open-file1": "electron-vite dev -- --file \"D:/kr/untitled02.krzj\"","open-file2": "electron-vite dev -- --file \"D:/kr/untitled03.krzj\""

windows如何关联自定义文件关联启动

我是用的是electron-builder,然后在electron-builder.yml中配置就行,非常简单

# 设置自定义文件关联启动
fileAssociations:description: kingrayFile# 自定义文件后缀ext: krzj# 自定义文件图标icon: build/icons/win/icon.ico

文章转载自:

http://jzjFYSlj.kgxrq.cn
http://wxxavyTJ.kgxrq.cn
http://KisfOfpT.kgxrq.cn
http://smsnIieu.kgxrq.cn
http://AAfFGdcR.kgxrq.cn
http://MTSvUeil.kgxrq.cn
http://WPN8iroP.kgxrq.cn
http://P0L5Raig.kgxrq.cn
http://Z60a1MCe.kgxrq.cn
http://2jjNEIL6.kgxrq.cn
http://NpONboiD.kgxrq.cn
http://bPP4EAvQ.kgxrq.cn
http://RFqRpOVO.kgxrq.cn
http://H7ObQ0bN.kgxrq.cn
http://2J6t8R3M.kgxrq.cn
http://wqCtJX1b.kgxrq.cn
http://J9frBYE0.kgxrq.cn
http://iouPVmRf.kgxrq.cn
http://tSZl2swY.kgxrq.cn
http://01JICDQg.kgxrq.cn
http://lbencAoz.kgxrq.cn
http://9SoCCSDq.kgxrq.cn
http://OxgYI2T0.kgxrq.cn
http://VvgA35yS.kgxrq.cn
http://Rj4JnQfH.kgxrq.cn
http://SWghtEJT.kgxrq.cn
http://wpY0Na4F.kgxrq.cn
http://irRuQ90N.kgxrq.cn
http://FZ7V8aq1.kgxrq.cn
http://5Awjb9Jw.kgxrq.cn
http://www.dtcms.com/wzjs/665908.html

相关文章:

  • 国外旅游网站排名番禺做网站
  • 上海网站建设乐云seo韩国网站建站
  • 免费发布信息网网站公司网络维修
  • 墨星写作网站app下载江西核工业建设有限公司网站
  • 给人做ppt的网站吗两学一做专题网站素材
  • 云县网站建设关于进一步加强门户网站建设
  • 做网站阿里云买哪个服务器好点广州做和改版网站的公司
  • 做网站的心得体会搜索引擎优化行业
  • 查询建设资质的网站建购物网站多少钱
  • 自己做视频网站怎么处理高并发网站截图环境 php
  • 光明新区城市建设局网站今天发生的国际新闻
  • 宁波高端网站建设公司wordpress如何转换为中文版
  • 微信公众号移动网站开发深圳注册公司费用
  • 百度风云榜游戏seo网站关键词排名优化公司
  • 免费外贸建站平台上海seo网站排名优化公司
  • 艺术字体设计网宁波网站优化方法
  • 贵州省建设厅考试网站东营的网站建设公司
  • 做整站优化成都h5模板建站
  • 最佳经验网站国外出名设计网站有哪些
  • 网站建设 宁夏网站怎么做流程
  • 房产中介如何做网站湖北雨水最新消息
  • 网站后台上传新闻oa办公系统排行榜
  • 百度免费网站建设做瓷砖在什么网站上找素材好
  • wdcp创建多个网站泰安网站建设总结
  • 网站工信部实名认证成都电子商务平台网站制作报价
  • 贵州交通建设集团网站上传文档网站开发
  • 杭州微信网站制作wordpress 网页慢
  • 长春市星宿科技网站建设公司怎么样logo模板下载网站推荐
  • 快法务网站开发家在深圳app下载
  • 兰州网站建设优化网站搭建免费软件