Electron 实现打包后动态配置应用参数

项目背景

实现一款交互屏桌面应用软件,类似医院那张种给用户操作办理业务的应用程序。应用程序需要多点放置,根据放置地点的不同给应用做配置

开发框架:electron-vue

vue版本:v2.6.14

electron版本:v17.2.0

node版本:v16.13.0

实现

在架构的根目录下创建一个config.conf文件,作为动态配置的入口。文件内容就是正常的JSON个是就可以。例如:

{
    "STADIUM_ID":"112"
}

在主进程中,定义读取配置文件的程序:

import { app } from 'electron'
const path = require("path");
const fs = require("fs");

export function getExePath() {
  return path.dirname(app.getPath("exe"));
  
}

export function getConfigPath() {
  return getExePath() + "\\config.conf";
}

export function readConfig(callback) {
  fs.readFile(getConfigPath(),"utf-8",(err,data) => {
    if(data) {
      const config = JSON.parse(data);
      callback(config)
    }else {
      callback({STADIUM_ID:102})
    }
  })
}

在ipc中设置handle事件,作为被调用的入口:

ipcMain.handle("get-params", (event, args) => {
      readConfig(res => {
        BrowserWindow.fromWebContents(event.sender).webContents.send(
          "get-params-reply",
          res
        );
      });
    });

在渲染进程中,触发并使用参数:

ipcRenderer.invoke('get-params')
  ipcRenderer.once('get-params-reply',(event,args) => {
    this.getStadiumDetail(args.STADIUM_ID);
  })

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值