来源:AI开发日志公众号专辑「Build Your Own X With AI」
原文链接:https://mp.weixin.qq.com/s?__biz=MzUxMjg3MjE2OA==&mid=2247486028&idx=1&sn=36c3c5f62223f641d7ad9f336ff4d150&chksm=f95c91cbce2b18dd599fbc3b484321e0baae6b1cab70dd874d7b559b96bc2bf1613b70be4123#rd
Electron API 测试工具
一个基于 Electron 的 API 测试工具,类似于 Postman,使用 React 和 TypeScript 构建。
| English | 简体中文 |
功能特性
🚀 HTTP 请求测试(GET、POST、PUT、DELETE、PATCH)
🌍 环境管理与变量替换
📁 请求集合与组织管理
📜 请求历史记录追踪
🎨 响应格式化与语法高亮
💾 数据持久化存储
⌨️ 键盘快捷键支持
🔒 安全的 IPC 通信
开发环境设置
前置要求
Node.js(v16 或更高版本)
npm 或 yarn
安装
克隆仓库
git clone https://github.com/build-your-own-x-with-ai/http_tools.git
cd http_tools
安装依赖:
npm install
开发
启动开发环境:
npm run dev
这将同时启动 Electron 主进程和 React 渲染进程的开发模式。
构建
构建生产版本:
npm run build
打包
创建可分发的安装包:
npm run package
支持的平台:
macOS(.dmg)
Windows(.exe)
Linux(.AppImage、.deb)
测试
运行测试:
npm test
运行测试并生成覆盖率报告:
npm run test:coverage
项目结构
src/
├── main/ # Electron 主进程
│ ├── main.ts # 主进程入口点
│ ├── preload.ts # IPC 预加载脚本
│ └── services/ # 后端服务
│ ├── APIService.ts # HTTP 请求服务
│ ├── DataManager.ts # 数据持久化管理
│ ├── EnvironmentProcessor.ts # 环境变量处理
│ ├── HistoryManager.ts # 历史记录管理
│ └── SecurityService.ts # 安全服务
├── renderer/ # React 渲染进程
│ ├── index.tsx # 渲染进程入口点
│ ├── App.tsx # 主应用组件
│ ├── components/ # React 组件
│ │ ├── RequestBuilder.tsx # 请求构建器
│ │ ├── ResponseViewer.tsx # 响应查看器
│ │ ├── EnvironmentSelector.tsx # 环境选择器
│ │ ├── CollectionSidebar.tsx # 集合侧边栏
│ │ ├── HistoryPanel.tsx # 历史面板
│ │ └── Toast.tsx # 通知组件
│ ├── contexts/ # React 上下文
│ │ └── AppContext.tsx # 应用状态管理
│ ├── hooks/ # 自定义 Hooks
│ │ └── useCollections.ts # 集合管理 Hook
│ └── index.css # 全局样式
├── types/ # TypeScript 类型定义
│ └── index.ts # 共享类型
└── test/ # 测试配置
├── setup.ts # Jest 设置
└── setup-renderer.ts # 渲染进程测试设置
使用指南
发送请求
在 URL 输入框中输入 API 端点
选择 HTTP 方法(GET、POST 等)
添加请求头(可选)
添加请求体(对于 POST/PUT 请求)
点击”发送”按钮或按 Ctrl/Cmd + Enter
环境管理
点击环境选择器下拉菜单
点击”+ 新建”创建新环境
定义变量(例如:baseUrl, apiKey)
在请求中使用变量:/users
保存请求
配置您的请求
点击”保存”按钮或按 Ctrl/Cmd + S
请求将被保存到当前集合
查看历史
点击侧边栏的”历史”标签
浏览之前的请求
点击任意历史项重新加载请求
使用过滤器按方法、状态或 URL 搜索
键盘快捷键
请求操作
Ctrl/Cmd + Enter
- 发送请求
Ctrl/Cmd + S
- 保存请求
Ctrl/Cmd + N
- 新建请求
Ctrl/Cmd + K
- 清除响应
导航
Ctrl/Cmd + 1
- 显示集合
Ctrl/Cmd + 2
- 显示历史
Ctrl/Cmd + B
- 切换侧边栏
通用
Ctrl/Cmd + R
- 重新加载
F12
- 切换开发者工具
技术栈
Electron
- 跨平台桌面应用框架
React
- UI 组件库
TypeScript
- 类型安全的 JavaScript
Webpack
- 模块打包工具
Jest
- 测试框架
React Testing Library
- React 组件测试
架构
该应用遵循 Electron 的多进程架构:
主进程
:处理系统级操作、文件 I/O 和 HTTP 请求
渲染进程
:运行 React UI 和用户交互
预加载脚本
:在主进程和渲染进程之间提供安全的 IPC 桥接
安全性
启用上下文隔离
禁用 Node.js 集成
通过 contextBridge 进行安全的 IPC 通信
输入验证和清理
安全的数据存储
贡献
欢迎贡献!请随时提交 Pull Request。
许可证
MIT
致谢
本项目受 Postman 和其他 API 测试工具的启发。