electron 主进程相关配置

 自定义协议

// 注册自定义协议
const { app, dialog } = require('electron')
const agreement = 'electron-playground-code' // 自定义协议名
// 验证是否为自定义协议的链接
const AGREEMENT_REGEXP = new RegExp(`^${agreement}://`)
	
// 监听自定义协议唤起
function watchProtocol() {
    // mac唤醒应用 会激活open-url事件 在open-url中判断是否为自定义协议打开事件
	app.on('open-url', (event, url) => {
	    const isProtocol = AGREEMENT_REGEXP.test(url)
	    if (isProtocol) {
	        console.log('获取协议链接, 根据参数做各种事情')
            dialog.showMessageBox({
	            type: 'info',
                message: 'Mac protocol 自定义协议打开',
    	        detail: `自定义协议链接:${url}`,
            })
        }
    })

    // window系统下唤醒应用会激活second-instance事件 它在ready执行之后才能被监听
    app.on('second-instance', (event, commandLine) => {
        // commandLine 是一个数组, 唤醒的链接作为数组的一个元素放在这里面
    	commandLine.forEach(str => {
	        if (AGREEMENT_REGEXP.test(str)) {
	            console.log('获取协议链接, 根据参数做各种事情')
	            dialog.showMessageBox({
	                type: 'info',
    	            message: 'window protocol 自定义协议打开',
	                detail: `自定义协议链接:${str}`,
	            })
            }
        })
    })
}
	
// 在ready事件回调中监听自定义协议唤起
watchProtocol();
console.log('监听成功');

注:

        app.removeAsDefaultProtocolClient(protocol) 删除注册的协议, 返回是否成功删除的Boolean
        Mac:app.isDefaultProtocolClient(protocol) 当前程序是否为协议的处理程序。
        app.getApplicationNameForProtocol(url) 获取该协议链接的应用处理程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值