index.ts 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. import fs from 'fs';
  2. import path from 'path'
  3. import {shell, dialog} from 'electron'
  4. import {_PATHS} from "../paths";
  5. import {isDev} from "../env";
  6. // 通过浏览器打开链接
  7. export function openInBrowser(url: string) {
  8. return shell.openExternal(url);
  9. }
  10. export function getAppInfo(): any {
  11. try {
  12. const yamlPath = isDev ? path.join(_PATHS.publicRoot, '../electron-builder.yaml') : path.join(_PATHS.electronRoot, 'env.yaml');
  13. const yamlContent = fs.readFileSync(yamlPath, 'utf-8');
  14. // 通过正则表达式匹配 appId 和 productName
  15. const appIdMatch = yamlContent.match(/appId:\s*['"]([^'"]+)['"]/);
  16. const productNameMatch = yamlContent.match(/productName:\s*['"]([^'"]+)['"]/);
  17. const appId = appIdMatch ? appIdMatch[1] : '';
  18. const productName = productNameMatch ? productNameMatch[1] : '';
  19. return {appId, productName}
  20. } catch (e) {
  21. dialog.showMessageBoxSync(null, {
  22. type: 'error',
  23. title: '错误',
  24. message: '应用启动失败,请从官网下载最新版本安装包后重新安装!',
  25. });
  26. process.exit(-1);
  27. }
  28. }