32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
import fs from 'fs';
 | 
						|
import path from 'path'
 | 
						|
import {shell, dialog} from 'electron'
 | 
						|
import {_PATHS} from "../paths";
 | 
						|
import {isDev} from "../env";
 | 
						|
 | 
						|
// 通过浏览器打开链接
 | 
						|
export function openInBrowser(url: string) {
 | 
						|
  return shell.openExternal(url);
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
export function getAppInfo(): any {
 | 
						|
  try {
 | 
						|
    const yamlPath = isDev ? path.join(_PATHS.publicRoot, '../electron-builder.yaml') : path.join(_PATHS.electronRoot, 'env.yaml');
 | 
						|
    const yamlContent = fs.readFileSync(yamlPath, 'utf-8');
 | 
						|
    // 通过正则表达式匹配 appId 和 productName
 | 
						|
    const appIdMatch = yamlContent.match(/appId:\s*['"]([^'"]+)['"]/);
 | 
						|
    const productNameMatch = yamlContent.match(/productName:\s*['"]([^'"]+)['"]/);
 | 
						|
    const appId = appIdMatch ? appIdMatch[1] : '';
 | 
						|
    const productName = productNameMatch ? productNameMatch[1] : '';
 | 
						|
    return {appId, productName}
 | 
						|
  } catch (e) {
 | 
						|
    dialog.showMessageBoxSync(null, {
 | 
						|
      type: 'error',
 | 
						|
      title: '错误',
 | 
						|
      message: '应用启动失败,请从官网下载最新版本安装包后重新安装!',
 | 
						|
    });
 | 
						|
    process.exit(-1);
 | 
						|
  }
 | 
						|
}
 |