# x-analyzer **Repository Path**: luodeb/x-analyzer ## Basic Information - **Project Name**: x-analyzer - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-15 - **Last Updated**: 2026-04-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # V11 Monitor Electron + Vue 3 + TypeScript 打造的监控仪表盘桌面应用。 ![License](https://img.shields.io/badge/license-MIT-blue.svg) ![Electron](https://img.shields.io/badge/Electron-33.4.11-9feaf9.svg) ![Vue](https://img.shields.io/badge/Vue-3.5.13-4fc08d.svg) ## 快速开始 ### 环境要求 - Node.js >= 20 ### 安装 ```bash # 克隆项目 git clone cd v11-monitor # 安装依赖 npm install # 复制环境变量配置 cp .env.example .env # Windows: Copy-Item .env.example .env ``` ### 开发 ```bash # 启动开发服务器 npm run dev # 开发模式 + 打开 DevTools npm run dev:debug ``` ### 构建 ```bash # 构建应用 npm run build # 预览生产构建 npm run preview ``` 构建产物输出到 `out/` 目录。 ## 项目结构 ``` v11-monitor/ ├── electron/ # Electron 主进程 │ ├── main.ts # 主进程入口 │ ├── preload.ts # 预加载脚本 │ ├── ipc-types.ts # IPC 类型定义 │ └── tray.ts # 系统托盘 ├── src/ # Vue 渲染进程 │ ├── main.ts # 前端入口 │ ├── App.vue # 根组件 │ ├── views/ # 页面视图 │ │ ├── Dashboard.vue # 仪表盘 │ │ └── Settings.vue # 设置页 │ ├── components/ # 组件 │ ├── composables/ # 组合式函数 │ ├── adapters/ # 数据源适配器 │ │ ├── customApi.ts │ │ ├── grafanaApi.ts │ │ └── mockApi.ts │ └── router/ # 路由配置 ├── out/ # 构建输出 └── resources/ # 静态资源 ``` ## 技术栈 - **框架**: Electron 33 + Vue 3 + TypeScript - **构建**: electron-vite - **UI**: Naive UI - **图表**: ECharts 6 - **路由**: Vue Router - **IPC**: Electron contextBridge ## 配置说明 ### 环境变量 编辑 `.env` 文件配置 API: ```env VITE_API_BASE_URL=http://127.0.0.1:8080 VITE_DATASOURCE=custom VITE_REQUEST_TIMEOUT_MS=10000 ``` ### 数据源类型 - `custom`: 自定义 REST API - `grafana`: Grafana 数据源 - `mock`: 模拟数据(开发测试用) ### 用户配置 应用配置自动保存到系统用户目录: - Windows: `%APPDATA%/v11monitor-config.json` - macOS: `~/Library/Application Support/v11monitor-config.json` - Linux: `~/.config/v11monitor-config.json` ## 开发指南 ### IPC 通信 预定义的 IPC 频道: ```typescript // 获取配置 const config = await window.v11monitor.getConfig() // 保存配置 await window.v11monitor.setConfig(newConfig) // 打开文件对话框 const result = await window.v11monitor.openFileDialog({ properties: ['openFile'] }) ``` ### 类型检查 ```bash # 仅检查前端代码(src/) npm run typecheck # 注意:Electron 主进程代码不会被 typecheck 检查 ``` ### 常见问题 **Electron 二进制下载失败** 项目已配置 `.npmrc` 使用 npmmirror 镜像。如果下载失败: ```bash # 手动设置镜像后重新安装 set ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ npm install ``` 验证安装成功:`node_modules/electron/path.txt` 和 `dist/` 目录应存在。