Skip to content

zxbdzh/DevicePlug-RunTool

Repository files navigation

DevicePlug-RunTool

一个基于 Electron + Vue 3 + TypeScript 的设备插件自动运行工具,用于监控可移动存储设备并自动执行预配置的任务。

🚀 功能特性

  • 设备监控: 实时监控可移动存储设备的连接和断开
  • 任务配置: 为不同设备配置自定义的可执行程序任务
  • 自动执行: 设备插入时自动执行配置的任务(通过Windows任务计划)
  • 手动执行: 支持立即手动执行设备任务
  • 卷标识别: 支持通过设备ID和卷标两种方式识别设备
  • 多程序支持: 单个设备可配置多个可执行程序并行启动
  • 配置持久化: 任务配置自动保存到本地文件

🛠️ 技术栈

核心框架

  • Electron - 跨平台桌面应用框架
  • Vue 3 - 现代化前端框架
  • TypeScript - 类型安全的JavaScript超集
  • Vite - 快速的构建工具

UI组件

  • Element Plus - Vue 3 UI组件库
  • @element-plus/icons-vue - Element Plus图标库

开发工具

  • ESLint - 代码质量检查
  • Prettier - 代码格式化
  • unplugin-auto-import - 自动导入API
  • unplugin-vue-components - 按需自动导入组件

系统集成

  • Windows任务计划 - 实现设备插入时的自动任务执行
  • PowerShell - 查询可移动存储设备信息
  • 批处理脚本 - 任务执行的具体实现

📦 安装和使用

环境要求

  • Node.js >= 16.0.0
  • pnpm >= 7.0.0(推荐)或 npm

安装依赖

# 使用 pnpm(推荐)
pnpm install

# 或使用 npm
npm install

开发模式

# 启动开发服务器
pnpm dev

构建应用

# 构建所有平台
pnpm build

# 仅构建 Windows 版本
pnpm build:win

# 仅构建 macOS 版本
pnpm build:mac

# 仅构建 Linux 版本
pnpm build:linux

代码质量

# 代码格式化
pnpm format

# 代码检查
pnpm lint

# 类型检查
pnpm typecheck

🎯 使用指南

1. 设备管理

  • 应用启动后会自动监控可移动存储设备
  • 在"设备管理"标签页查看当前连接的设备
  • 支持实时显示设备连接/断开状态

2. 配置任务

  • 点击设备卡片上的"配置任务"按钮
  • 填写任务名称(默认为设备名称+任务)
  • 配置可执行文件路径(支持多个程序)
  • 可选填卷标名称用于设备识别
  • 保存配置后自动创建Windows任务计划

3. 任务执行

  • 自动执行: 设备插入时通过Windows任务计划自动执行
  • 手动执行: 在设备卡片或任务配置页面点击"立即执行"

4. 任务管理

  • 在"任务配置"标签页查看所有已配置的任务
  • 支持立即执行、删除配置等操作

📁 项目结构

DevicePlug-RunTool/
├── src/
│   ├── main/                 # Electron 主进程
│   │   └── index.ts         # 主进程入口文件
│   ├── preload/             # 预加载脚本
│   │   ├── index.ts         # 预加载脚本入口
│   │   └── index.d.ts       # 类型定义
│   └── renderer/            # 渲染进程(Vue应用)
│       ├── src/
│       │   ├── App.vue      # 主应用组件
│       │   ├── main.ts      # 渲染进程入口
│       │   └── components/
│       │       └── DeviceCard.vue  # 设备卡片组件
│       └── index.html       # HTML模板
├── resources/
│   └── icon.png             # 应用图标
├── electron.vite.config.ts   # Electron + Vite 配置
├── electron-builder.yml      # 应用打包配置
├── package.json             # 项目配置
└── README.md               # 项目文档

🔧 配置说明

应用配置

  • 配置文件位置: ~/.deviceplug-runtool/task-configs.json
  • 脚本文件位置: ~/.deviceplug-runtool/scripts/
  • 任务计划前缀: DevicePlug_

设备识别策略

  1. 优先使用设备ID: 精确匹配特定设备
  2. 卷标匹配: 当设备ID变化时使用卷标识别
  3. 自动检测: 每5秒检查一次设备连接状态

🚨 注意事项

  1. 权限要求: 应用需要管理员权限来创建Windows任务计划
  2. 杀毒软件: 某些杀毒软件可能会阻止自动执行功能
  3. 路径格式: 可执行文件路径需要使用绝对路径
  4. 中文支持: 批处理脚本使用GBK编码确保中文正确显示

🐛 故障排除

常见问题

Q: 任务计划创建失败? A: 请确保以管理员身份运行应用

Q: 设备检测不到? A: 检查设备是否为可移动存储设备,确认驱动正常安装

Q: 任务执行没有反应? A: 检查可执行文件路径是否正确,确认程序可以正常启动

日志查看

  • 开发模式: 查看控制台输出
  • 生产模式: 检查Windows事件查看器中的任务计划日志

🤝 贡献指南

  1. Fork 本项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

🔗 相关链接

📞 支持

如果您在使用过程中遇到问题,请:

  1. 查看本文档的故障排除部分
  2. 搜索现有的 Issues
  3. 创建新的 Issue 并提供详细信息

DevicePlug-RunTool - 让设备管理更加智能化 🚀

About

设备插入运行工具

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors