- 主进程新增 CrashReporter 捕获崩溃信息,提升诊断能力 - 优化 ipcMain 游戏扫描进度事件,加入节流防止 IPC 风暴 - 扫描平台分工重构,支持并发执行,添加执行日志和错误捕获 - 完善扫描结果去重逻辑,优先基于标准化安装目录合并游戏条目 - 增加未捕获异常、渲染进程退出和子进程退出日志,提升稳定性监控 - 更新日志模块,错误级日志立即同步落盘,降低闪退日志丢失风险 - 延长日志落盘监听事件,兼容多种退出信号安全清理日志 - 主进程窗口配置修改,始终保留调试工具,提高开发调试便捷性 - 优化扫描服务代码注释和参数说明,提升可维护性和易读性
51 lines
1.3 KiB
TypeScript
51 lines
1.3 KiB
TypeScript
/**
|
|
* 游戏对象接口
|
|
*
|
|
* 前后端共享的统一定义,所有游戏相关的 CRUD 操作均基于此接口。
|
|
*/
|
|
export interface Game {
|
|
/** 游戏唯一 ID */
|
|
id?: string
|
|
/** 游戏名称 */
|
|
name: string
|
|
/** 图标 URL (支持 http/https/data URI) */
|
|
iconUrl?: string
|
|
/** 游戏进程名 (支持单个字符串或数组) */
|
|
processName: string | string[]
|
|
/** 主分类 ID */
|
|
category: string
|
|
/** 分类 ID 列表(支持多标签分类) */
|
|
categories?: string[]
|
|
/** 标签列表 */
|
|
tags?: string[]
|
|
/** 关联的配置文件 ID */
|
|
profileId?: string
|
|
/** 最后运行时间戳 (毫秒) */
|
|
lastPlayed?: number
|
|
/** 当前状态 */
|
|
status?: 'idle' | 'accelerating'
|
|
/** 延迟 (ms) */
|
|
latency?: number
|
|
/** 指定的节点 ID */
|
|
nodeId?: string
|
|
/** 代理模式:process (按进程) | routing (按路由规则) */
|
|
proxyMode?: 'process' | 'routing'
|
|
/** 路由规则列表 (bypass_cn, global, 或 IP CIDR) */
|
|
routingRules?: string[]
|
|
/** 是否启用链式代理(自动代理子进程) */
|
|
chainProxy?: boolean
|
|
}
|
|
|
|
/**
|
|
* 本地扫描到的游戏信息
|
|
*/
|
|
export type LocalScanGame = {
|
|
name: string
|
|
processName: string[]
|
|
source: string
|
|
installDir: string
|
|
/** 游戏图标 URL(可选) */
|
|
iconUrl?: string
|
|
}
|
|
|