应用场景

公司项目需要放在一体机上,没有外接键盘与鼠标,并且要求客户端软件全屏。因此在某些需要输入中文的地方,使用系统自带的屏幕键盘无疑是最好的选择。

实现思路

由于electron-vue是采用的electron2.0.4,因此我们可以在渲染进程中随便调用node.js API.而无需其他的配置。
因为要兼容linux与windows两个平台。因此需要借助node的os模块
因为需要使用子进程打开屏幕键盘,因此需要借助node的child_process模块
通过以上两个node api我们就可以实现调用屏幕键盘的功能了

具体代码

首先编写调用屏幕键盘的函数

const { exec } = require('child_process')
const os = require('os')
class ControlVirtualKeyBoard {

    constructor() { }

    static OpenVirtualKeyBoard() {
        if (os.platform() === 'win32') {
            exec('osk.exe')
        } else {
            exec('onboard')
        }

    }
}


export default ControlVirtualKeyBoard

其中osk.exe为在windows 64位上的调用屏幕键盘的命令。windows 32位系统没有验证。
而onboard为linux上调用屏幕键盘的命令。我只在ubuntu与deepin上测试过。如果你的linux系统没有onboard屏幕键盘,你可以先安装它。

之后你便可以把这部分代码导入你的vue文件中调用了。

结尾

electron-vue毕竟是基于electron2.0.4版本开发的,目前electron的版本已经9.0.3了,因此我建议使用新的electron-vue框架,
以下为链接
vue-cli-plugin-electron-builder

Logo

前往低代码交流专区

更多推荐