| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- 'use strict';
- const path = require('path');
- const fs = require('fs');
- const {exec} = require('child_process');
- const {app, webContents, shell} = require('electron');
- const AutoLaunchManager = require('../lib/autoLaunch');
- const shortcut = require('../lib/shortcut');
- const eLogger = require('../lib/eLogger').get();
- /**
- * app根目录
- */
- exports.getPath = function () {
- const dir = app.getAppPath();
- return dir;
- }
- /**
- * 打开目录
- */
- exports.openDir = function (dir = '') {
- if (!dir) {
- return false;
- }
- dir = getElectronPath(dir);
- shell.openPath(dir);
- return true;
- }
- /**
- * 执行js
- */
- exports.executeJS = function (str) {
- let jscode = `(()=>{alert('${str}');return 'fromJs:${str}';})()`;
- console.log(jscode);
- return webContents.fromId(1).executeJavaScript(jscode);
- }
- /**
- * 快捷键-注册
- */
- exports.setShortcut = function (shortcutObj) {
- shortcut.register(shortcutObj, true, function (){
- MAIN_WINDOW.hide()
- });
-
- return true;
- }
- /**
- * 开机启动-开启
- */
- exports.autoLaunchEnable = function () {
- const autoLaunchManager = new AutoLaunchManager()
- const enable = autoLaunchManager.enable()
- return enable
- }
- /**
- * 开机启动-关闭
- */
- exports.autoLaunchDisable = function () {
- const autoLaunchManager = new AutoLaunchManager()
- const disable = autoLaunchManager.disable()
- return disable
- }
- /**
- * 开机启动-是否开启
- */
- exports.autoLaunchIsEnabled = function () {
- const autoLaunchManager = new AutoLaunchManager()
- const isEnable = autoLaunchManager.isEnabled()
- return isEnable
- }
- /**
- * 调用其它程序(exe、bash等可执行程序)
- */
- exports.openSoftware = function (softName = '') {
- if (!softName) {
- return false;
- }
- // 资源路径不同
- let softwarePath = '';
- if (app.isPackaged) {
- // 打包后
- softwarePath = path.join(app.getAppPath(), "..", "extraResources", softName);
- } else {
- // 打包前
- softwarePath = path.join(app.getAppPath(), "build", "extraResources", softName);
- }
- // 检查程序是否存在
- if (!fs.existsSync(softwarePath)) {
- return false;
- }
- // 命令行字符串 并 执行
- let cmdStr = 'start ' + softwarePath;
- exec(cmdStr);
- return true;
- }
- function getElectronPath(filepath) {
- //filepath = path.resolve(filepath);
- filepath = filepath.replace("resources", "");
- filepath = filepath.replace("app.asar", "");
- filepath = path.normalize(filepath);
- return filepath;
- };
|