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

凯叔讲故事网站谁做的百度云搜索引擎入口手机版

凯叔讲故事网站谁做的,百度云搜索引擎入口手机版,深圳高端网站建设,网络营销名词解释汇总最近在做一个C/S架构的项目预研 过程中遇到 Electron 与 Vue3 通讯的问题,费劲巴力的在网上找方案,发现都不理想,最终攻克之后,计划将过程写下来,供有需求的同学白嫖! 开始之前,先说一件重要的…

最近在做一个C/S架构的项目预研

过程中遇到 Electron 与 Vue3 通讯的问题,费劲巴力的在网上找方案,发现都不理想,最终攻克之后,计划将过程写下来,供有需求的同学白嫖!

开始之前,先说一件重要的事情:
看文档
看官方文档
一定要看官方文档

好,言归正传。
先说需求,我是做一个 C/S 架构的串口数据获取的需求预研。另外,项目组 Vue 人才较多,所以,期望后期可以接上 Vue。
因此,我的需求是:在 Vue 项目中,能够获取 串行端口 传递过来的数据。


目前系统和版本情况:

  • 电脑系统:Windows 11
  • Electron 版本:28.1.0
  • Vue 版本:3.4.21

有同学就说了,你 Vue 要获取串口信息,不是可以直接使用 Web Serial API 吗?
是的,Web Serial API 也是一个不错的选择,可是 B/S 架构下,Vue 是没办法获取到 串口的硬件信息的,目前这个 Web Serial API 还不太适用我们的项目需求。再者,预研嘛,技术储备多多益善!


今天先聊聊核心点,Electron 与 Vue3 通讯的问题,随后会写一篇详细的文章来记录具体步骤。

核心一

Electron 的 main.js 中,在合适的时机通过 send 发送相关信号和数据

示例代码:

mainWindow.webContents.send('serial-datas', data);

核心二

Electron 的 preload.js 中,完成上述操作的预加载

示例代码:

const { contextBridge, ipcRenderer } = require('electron')contextBridge.exposeInMainWorld('electronAPI', {onSerialDatas: (callback) => ipcRenderer.on('serial-datas', (_event, value) => callback(value))
})

注意,Electron 的 main.js 中要加载 preload.js 这个预加载文件,参考代码:

const createWindow = () => {mainWindow = new BrowserWindow({width: 1200,height: 600,webPreferences: {nodeIntegration: true,contextIsolation: true,preload: path.join(__dirname, '/preload.js')},})mainWindow.loadURL('http://localhost:5173')mainWindow.on('closed', function () {mainWindow = null;});
}

核心三

Vue 的合适位置,接收 Electron 发送过来的数据。

我这里直接封装了一个监听文件,在 Vue 的 main.js 文件中进行了引入

Vue 的 getPortsFromElectron.js 示例代码:

/*** 接收 electron 发送过来的数据*/
window.electronAPI.onSerialDatas((value) => {/*** 数据转换(value 为 Uint8Array 格式的数据):* 根据你接收到的具体数据格式,你可能需要进行更复杂的解析。* 这取决于你与设备之间的通信协议以及你发送和接收数据的方式。* 如果是 ASCII 编码的,你可以使用 TextDecoder 对象将 Uint8Array 转换为字符串*/const decoder = new TextDecoder('utf-8');const receivedString = decoder.decode(value);console.log(receivedString);
})

Vue 的 main.js 示例代码:

import { createApp } from 'vue'
import...import './utils/getPortsFromElectron'const app = createApp(App)
...

以上三处就是 IPC 通讯(Electron 与 Vue3 通讯)的核心所在,我的总结是:
Electron 中准备好,发送,Vue 中接收,三步对应即可!

以上信息是在各种查找无果的情况下,突然想起去官网看文档,果然找到了可行的方案!

核心内容记录至此,后续更新详细过程。

http://www.hengruixuexiao.com/news/40972.html

相关文章:

  • 做药的常用网站有哪些谷歌推广怎么做
  • 苹果软件做ppt模板下载网站企业seo排名优化
  • 杭州品牌网站建设郴州seo网络优化
  • 专业代办营业执照服务seo哪个软件好
  • 服务器建站用哪个系统好惠州关键词排名提升
  • 佛山营销网站建设推广网站seo优化方法
  • 上海响应式网站制作公司重庆二级站seo整站优化排名
  • 寿光网站建设哪家好快速学电脑培训班
  • 龙岩网站制作公司百度关键词优化推广
  • 宝安石岩网站建设东莞网站建设快速排名
  • 苏州网站制作专业百度竞价什么时候开始的
  • 顺企网网站建设营销策划咨询
  • bt磁力兔子引擎广州seo实战培训
  • 百度站长工具数据提交珠海网站建设制作
  • 富阳网站建设优化seo可以从以下几个方面进行
  • 西宁做网站制作的公司哪家好新媒体代运营
  • 小程序可视化开发工具厦门seo顾问
  • 和城乡建设厅官方网站网站关键词排名seo
  • 青岛专业建设网站sem模型
  • c2c网站架构常州网站建设书生商友
  • 西宁公安网站建设hyein seo官网
  • 最近中国新闻事件seo外链网
  • 网址导航类网站如何做推广品牌宣传策划公司
  • 免费学校网站系统抖音代运营
  • 网站设计就业前景如何如何搭建自己的网站
  • 网站组织管理建设甲马营seo网站优化的
  • 做外贸无法登录国外网站怎么办怎么在网上推销产品
  • wordpress 建视频网站国外推广网站
  • 如何在外管局网站做延期如何建立个人网址
  • wordpress模板和主题长沙优化网站推广