import{d as e,r as n,o,k as s,a as l,g as a,f as c,e as i,w as t,l as d,i as r,b as u,t as w,_ as f}from"./index-CdSAAqTC.js";import{i as k}from"./index-B8zeLGbR.js";import{i as p}from"./ipcRenderer-CjF5QmVd.js";const v={id:"app-socket-ipc"},m={class:"one-block-2"},_={class:"one-block-2"},g={class:"one-block-2"},b={class:"one-block-2"},y=f(e({__name:"Ipc",setup(e){const f=n(""),y=n(""),M=n(""),S=n(""),C={type:"vue",content:"#/special/subwindow",windowName:"window2",windowTitle:"ipc window"};function I(){p.send(k.framework.ipcSendMsg,{type:"start",content:"开始"})}function W(){p.send(k.framework.ipcSendMsg,{type:"end",content:""})}function x(){p.invoke(k.framework.ipcInvokeMsg,"异步-回调").then((e=>{console.log("r:",e),y.value=e}))}async function T(){const e=await p.invoke(k.framework.ipcInvokeMsg,"异步");console.log("msg:",e),M.value=e}function h(){const e=p.sendSync(k.framework.ipcSendSyncMsg,"同步");S.value=e}return o((()=>{p.removeAllListeners(k.framework.ipcSendMsg),p.on(k.framework.ipcSendMsg,((e,n)=>{console.log("[ipcRenderer] [socketMsgStart] result:",n),f.value=n,e.sender.send(k.framework.hello,"electron-egg")})),p.removeAllListeners(k.os.window2ToWindow1),p.on(k.os.window2ToWindow1,((e,n)=>{s.info(n)}))})),(e,n)=>{const o=l("a-button"),s=l("a-space");return u(),a("div",v,[n[10]||(n[10]=c("div",{class:"one-block-1"},[c("span",null," 1. 发送异步消息 ")],-1)),c("div",m,[i(s,null,{default:t((()=>[i(o,{onClick:x},{default:t((()=>n[2]||(n[2]=[r("发送 - 回调")]))),_:1}),r(" 结果:"+w(y.value),1)])),_:1}),n[4]||(n[4]=c("p",null,null,-1)),i(s,null,{default:t((()=>[i(o,{onClick:T},{default:t((()=>n[3]||(n[3]=[r("发送 - async/await")]))),_:1}),r(" 结果:"+w(M.value),1)])),_:1})]),n[11]||(n[11]=c("div",{class:"one-block-1"},[c("span",null,[d(" 尽量不要使用,任何错误都容易引起卡死 "),r(" 2. 同步消息(不推荐,阻塞执行) ")])],-1)),c("div",_,[i(s,null,{default:t((()=>[i(o,{onClick:h},{default:t((()=>n[5]||(n[5]=[r("同步消息")]))),_:1}),r(" 结果:"+w(S.value),1)])),_:1})]),n[12]||(n[12]=c("div",{class:"one-block-1"},[c("span",null," 3. 长消息: 服务端持续向前端页面发消息 ")],-1)),c("div",g,[i(s,null,{default:t((()=>[i(o,{onClick:I},{default:t((()=>n[6]||(n[6]=[r("开始")]))),_:1}),i(o,{onClick:W},{default:t((()=>n[7]||(n[7]=[r("结束")]))),_:1}),r(" 结果:"+w(f.value),1)])),_:1})]),n[13]||(n[13]=c("div",{class:"one-block-1"},[c("span",null," 4. 多窗口通信:子窗口与主进程通信,子窗口互相通信 ")],-1)),c("div",b,[i(s,null,{default:t((()=>[i(o,{onClick:n[0]||(n[0]=e=>{p.invoke(k.os.createWindow,C).then((e=>{console.log("[createWindow] wcid:",e)}))})},{default:t((()=>n[8]||(n[8]=[r("打开新窗口2")]))),_:1}),i(o,{onClick:n[1]||(n[1]=e=>async function(){p.invoke(k.os.window1ToWindow2,{receiver:"window2",content:"窗口1给窗口2发送消息"})}())},{default:t((()=>n[9]||(n[9]=[r("向新窗口2发消息")]))),_:1})])),_:1})])])}}}),[["__scopeId","data-v-33fe4ff4"],["__file","/Users/gsx/www/gofile/src/ee/ee-demo-ts/frontend/src/views/framework/socket/Ipc.vue"]]);export{y as default};