# 技术栈和构建系统

## 核心技术栈

### 前端框架
- **Vue 3**: 使用 Composition API 和 `<script setup>` 语法
- **TypeScript**: 严格类型检查，配置在 `tsconfig.json`
- **Element Plus**: UI 组件库，提供现代化界面组件
- **Vue Router 4**: 单页面应用路由管理
- **Pinia**: 状态管理，替代 Vuex

### 桌面应用框架
- **Electron**: 主进程和渲染进程架构
- **IPC 通信**: 主进程与渲染进程间的安全通信
- **electron-store**: 应用配置持久化存储

### 构建工具
- **Vite**: 现代化构建工具，支持热重载
- **vite-plugin-electron**: Electron 集成插件
- **electron-builder**: 应用打包和分发

### 开发工具
- **Jest**: 单元测试框架，配置在 `jest.config.js`
- **vue-tsc**: Vue 组件类型检查
- **Sass**: CSS 预处理器，支持主题变量

## 常用命令

### 开发环境
```bash
# 启动开发服务器
npm run dev

# 类型检查
npm run typecheck

# 运行测试
npm run test
npm run test:watch
```

### 构建和打包
```bash
# 构建生产版本（自动更新 patch 版本）
npm run build

# 指定版本更新类型
npm run build:patch   # 1.0.0 -> 1.0.1
npm run build:minor   # 1.0.0 -> 1.1.0
npm run build:major   # 1.0.0 -> 2.0.0

# 不更新版本号直接打包
npm run build:nobump

# 构建前进行类型检查
npm run build:check
```

## 关键依赖

### 生产依赖
- `axios`: HTTP 客户端
- `unzipper`: 文件解压缩
- `node-windows`: Windows 服务管理
- `sudo-prompt`: 管理员权限提升

### 开发依赖
- `concurrently`: 并行运行多个命令
- `fast-check`: 属性测试库
- `ts-jest`: TypeScript Jest 支持

## 构建配置

- **输出目录**: `dist` (前端), `dist-electron` (Electron)
- **图标**: `build/icon.ico`
- **安装包**: 生成到 `release` 目录
- **目标平台**: Windows x64 (NSIS 和 Portable)

## 开发注意事项

- 使用 `windowsHide: true` 隐藏命令行窗口
- 服务启动使用 VBScript 实现静默启动
- 需要管理员权限进行服务管理和 hosts 文件修改
- 支持开机自启动（任务计划程序）