开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2836|回复: 80
收起左侧

[其它源码] 开源一套Go + Wails + HTML+JavaScript开发的API接口测试工具箱

[复制链接]
回帖奖励 30 枚 精币 回复本帖可获得 1 枚 精币奖励! 每人限 1 次
结帖率:100% (3/3)
发表于 2026-4-15 20:11:43 | 显示全部楼层 |阅读模式   重庆市重庆市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
本帖最后由 fengzixie 于 2026-4-15 20:11 编辑

# API接口测试工具箱

## 项目简介

**API接口测试工具箱** 是一款基于 **Go + Wails + HTML** 开发的 Windows 桌面应用程序,专为开发者设计,提供一站式 API 接口测试、JSON 解析、JS 调试、文本编码转换、正则表达式调试等功能。

- **版本**: 1.3.20260415
- **开发语言**: Go 1.24 + JavaScript
- **UI框架**: Wails v2 + 原生HTML/CSS
- **图标库**: Font Awesome 6
- **运行环境**: Windows(兼容跨平台)

## 功能特性

### 1. 接口调试模块
- 支持 HTTP/HTTPS 协议的 GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS 等请求方法
- 支持请求头(Header)、cha询参数(Query)、请求体(Body)配置
- 支持 form-data、x-www-form-urlencoded、raw(JSON/XML/Text)、binary 等请求体类型
- 支持文件上传下载
- 支持请求历史记录保存与加载
- 支持响应内容格式化显示(JSON/XML/HTML)
- 支持响应头、响应时间、响应大小等信息展示

### 2. JSON解析模块
- JSON格式化与压缩
- JSON语法高亮显示
- JSON路径cha询
- JSON历史记录

### 3. JS调试模块
- JavaScript代码在线执行
- 控制台输出显示
- 代码历史记录

### 4. 编码转换模块
- Base64 编码/解码
- URL 编码/解码
- 支持多种字符编码转换
- 编码历史记录

### 5. 正则调试模块
- 正则表达式实时匹配测试
- 支持全局匹配、忽略大小写、多行模式等标志
- 匹配结果高亮显示
- 正则历史记录

### 6. WebSocket/TCP 调试
- WebSocket 连接管理
- WebSocket 消息收发
- TCP 连接管理
- TCP 消息收发

### 7. 压力测试
- HTTP 接口压力测试
- WebSocket 压力测试
- TCP 压力测试
- 实时统计 QPS、响应时间、成功率等指标
- 测试结果图表展示

### 8. 全局配置
- 全局请求头设置
- 全局cha询参数设置
- 全局Cookie设置
- 全局认证配置(Bearer Token、Basic Auth、API Key)
- 全局变量管理(支持动态变量如随机字符串、时间戳等)
- 代理设置(支持HTTP/HTTPS/SOCKS5代理及身份验证)

## 目录结构

```
d:\E\out\tool/
├── main.go                    # 应用程序入口文件
├── app.go                     # 核心业务逻辑(约4500行)
├── go.mod                     # Go模块依赖配置
├── go.sum                     # Go依赖校验文件
├── wails.json                 # Wails项目配置
├── wails.dev.bat              # 开发模式启动脚本
├── 任务日志.md                 # 开发任务记录
├── README.md                  # 项目说明文档

├── build/                     # 构建配置目录
│   ├── appicon.png            # 应用图标
│   └── windows/               # Windows平台构建配置
│       ├── icon.ico           # Windows应用图标
│       └── wails.exe.manifest # Windows应用清单

├── frontend/                  # 前端资源目录
│   ├── package.json           # NPM依赖配置
│   ├── package-lock.json      # NPM依赖锁定文件
│   │
│   └── dist/                  # 编译后前端资源
│       ├── index.html         # 主HTML文件(约3000行)
│       │
│       ├── css/               # 样式文件目录
│       │   ├── main.css       # 主样式文件
│       │   ├── fontawesome.min.css  # Font Awesome图标样式
│       │   └── webfonts/      # 图标字体文件
│       │       ├── fa-brands-400.woff2
│       │       ├── fa-regular-400.woff2
│       │       ├── fa-solid-900.woff2
│       │       └── fa-v4compatibility.woff2
│       │
│       └── js/                # JavaScript文件目录
│           ├── main.js        # 主业务逻辑(约21000行)
│           └── chart.umd.min.js  # Chart.js图表库

└── history/                   # 历史记录存储目录
    ├── config.json            # 应用配置文件
    ├── api_history.json       # API请求历史
    ├── json_history.json      # JSON解析历史
    ├── js_history.json        # JS调试历史
    ├── encode_history.json    # 编码转换历史
    └── regexp_history.json    # 正则调试历史
```

## 核心文件说明

### 后端文件

| 文件 | 行数 | 说明 |
|------|------|------|
| `main.go` | ~50 | 应用程序入口,初始化Wails应用 |
| `app.go` | ~4500 | 核心业务逻辑,包含所有API方法 |

### 前端文件

| 文件 | 行数 | 说明 |
|------|------|------|
| `index.html` | ~3000 | 主HTML结构,三列布局 |
| `main.js` | ~21000 | 前端业务逻辑 |
| `main.css` | - | 样式定义,支持亮色/暗色主题 |

## 技术架构

### 后端架构 (Go)

```
App 结构体
├── Startup()           # 应用启动初始化
├── Shutdown()          # 应用关闭清理

├── HTTP请求模块
│   ├── SendHttpRequest()      # 发送HTTP请求
│   ├── DecodeResponseWithEncoding()  # 响应编码解码
│   └── H_ApplyGlobalParams()  # 应用全局参数

├── TCP/WebSocket模块
│   ├── TcpConnect()           # TCP连接
│   ├── TcpSend()              # TCP发送
│   ├── TcpClose()             # TCP关闭
│   ├── WebSocketConnect()     # WebSocket连接
│   ├── WebSocketSend()        # WebSocket发送
│   └── WebSocketClose()       # WebSocket关闭

├── 压力测试模块
│   ├── StartStressTest()      # 启动HTTP压力测试
│   ├── StartWsStressTest()    # 启动WebSocket压力测试
│   ├── StartTcpStressTest()   # 启动TCP压力测试
│   └── GetStressTestStatus()  # 获取测试状态

├── 历史记录模块
│   ├── SaveHistory()          # 保存历史记录
│   ├── LoadHistory()          # 加载历史记录
│   └── ClearHistory()         # 清除历史记录

└── 工具模块
    ├── EncodeBase64()         # Base64编码
    ├── DecodeBase64()         # Base64解码
    ├── EncodeUrl()            # URL编码
    ├── DecodeUrl()            # URL解码
    └── TestRegexp()           # 正则测试
```

### 前端架构 (JavaScript)

```
全局变量
├── Q_EnableDebug       # 调试开关
├── Q_IsDarkTheme       # 主题状态
├── Q_AppConfig         # 应用配置
└── Q_CurrentTabData    # 当前标签页数据

主要功能模块
├── 接口调试模块
│   ├── H_SendHttpRequest()    # 发送请求
│   ├── H_SwitchMethod()       # 切换请求方法
│   └── H_SyncQueryToUrl()     # 同步Query参数

├── JSON解析模块
│   ├── H_FormatJson()         # 格式化JSON
│   └── H_CompressJson()       # 压缩JSON

├── JS调试模块
│   └── H_ExecuteJs()          # 执行JS代码

├── 编码转换模块
│   ├── H_EncodeBase64()       # Base64编码
│   └── H_EncodeUrl()          # URL编码

├── 正则调试模块
│   └── H_TestRegexp()         # 测试正则

├── 设置模块
│   ├── H_OpenSettingsModal()  # 打开设置
│   ├── H_SaveAppConfig()      # 保存配置
│   └── H_ApplySettingsToUI()  # 应用配置到UI

└── UI交互模块
    ├── H_SwitchModule()       # 切换功能模块
    ├── H_ToggleTheme()        # 切换主题
    └── H_ToggleSidebar()      # 切换侧边栏
```

## 数据结构

### 核心配置结构 (GlobalConfig)

```go
type GlobalConfig struct {
    Version      string                 // 配置版本
    Appearance   GlobalAppearanceConfig // 外观设置
    Send         GlobalSendConfig       // 发送设置
    Proxy        GlobalProxyConfig      // 代理设置
    GlobalParams GlobalParamsConfig     // 全局参数
    Variables    []GlobalVariableItem   // 全局变量
}

type GlobalParamsConfig struct {
    Header   []GlobalParamItem  // 全局请求头
    Query    []GlobalParamItem  // 全局cha询参数
    Cookie   []GlobalParamItem  // 全局Cookie
    BodyForm []GlobalParamItem  // 全局表单参数
    AuthType string             // 认证类型
    AuthConfig GlobalAuthConfig // 认证配置
}
```

### HTTP请求配置结构 (HttpRequestConfig)

```go
type HttpRequestConfig struct {
    Method              string            // 请求方法
    Url                 string            // 请求URL
    Headers             []HttpHeaderItem  // 请求头
    Body                HttpRequestBody   // 请求体
    Timeout             int               // 超时时间
    FollowRedirects     bool              // 是否跟随重定向
    MaxRedirects        int               // 最大重定向次数
    VerifySSL           bool              // 是否验证SSL
    SaveResponseToFile  bool              // 是否保存响应到文件
    ResponseFilePath    string            // 响应文件路径
}
```

## 编码规范

### 命名规范

| 类型 | 前缀 | 示例 |
|------|------|------|
| 全局变量/配置 | `Q_` | `Q_EnableDebug`、`Q_AppConfig` |
| 局部变量 | `J_` | `J_Url`、`J_Response` |
| 函数/方法 | `H_` | `H_SendHttpRequest`、`H_LoadConfig` |
| 函数参数 | `C_` | `C_Url`、`C_Method` |

### 注释规范

- 函数/模块必须添加中文注释
- 包含最后修改时间戳(格式:年月日时分秒)
- 说明数据逻辑和调试开关

## 开发指南

### 环境要求

- Go 1.24+
- Node.js 18+
- Wails v2

### 开发模式

```bash
# 安装依赖
go mod download
cd frontend && npm install

# 启动开发模式
wails dev
```

### 编译发布

```bash
# 调试版本
wails build -debug

# 生产版本
wails build
```

## 更新日志

### v1.3.20260415
- 新增全局变量选择菜单功能
- 修复URL编码问题
- 修复代理身份验证开关状态问题
- 优化全局参数合并逻辑
- 新增全局Query/Cookie/Body参数支持

## 开源协议

MIT License

## 联系方式

- 反馈QQ: 20794386/ Q群1098663633


API1.png

API3.png

API2.png

API4.png

API6.png

API7.png

API5.png

API9.png

API10.png

API11.png

API12.png

API8.png

注意:tool.exe 为打包经过UPX压缩后的程序,不放心的请自行删除,自行打包!




需要安装WebView2!需要安装WebView2!需要安装WebView2!




AI搞的,纯体力活,喜欢的麻烦点个赞。没做全面深入测试,所以可能存在或多或少的BUG,有需要的自行测试修改吧!


tool.zip (4.39 MB, 下载次数: 94, 售价: 2 枚 精币)

评分

参与人数 13好评 +5 精币 +19 收起 理由
ppppzj + 1 + 2 支持开源~!感谢分享
xhping + 1 感谢分享,很给力!~
Ctrl0101 + 1 + 2 感谢分享,很给力!~
chuanqibuding + 1 感谢分享!
cbl521ysys + 1 感谢分享,很给力!~
恒大大 + 1 感谢分享,很给力!~
文西哥 + 1 感谢分享,很给力!~
ldljlzw + 1 + 2 支持开源~!感谢分享
风雨3137 + 1 感谢分享,很给力!~
cui870222829 + 1 感谢分享,很给力!~
zjbin1989 + 1 感谢分享,很给力!~
番茄吧 + 1 + 3 YYDS~!
大骗子 + 1 + 2 支持开源~!感谢分享

查看全部评分


本帖被以下淘专辑推荐:

结帖率:100% (3/3)

签到天数: 26 天

 楼主| 发表于 2026-4-17 13:05:22 | 显示全部楼层   重庆市重庆市
1.4.20260416 已经更新,修复了多处BUG

tool-1.4.zip

4.43 MB, 下载次数: 26, 下载积分: 精币 -2 枚

售价: 2 枚 精币  [记录]

回复 支持 反对

使用道具 举报

结帖率:89% (49/55)

签到天数: 1 天

发表于 昨天 22:09 | 显示全部楼层   湖北省荆州市

回帖奖励 +1 枚 精币

        支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:25% (1/4)

签到天数: 29 天

发表于 昨天 09:57 | 显示全部楼层   四川省泸州市

回帖奖励 +1 枚 精币

Wails + HTML+JavaScript开发的API接口测试工具箱
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 4 天前 | 显示全部楼层   广东省湛江市

回帖奖励 +1 枚 精币

感谢分享呢
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 6 天前 | 显示全部楼层   安徽省合肥市

回帖奖励 +1 枚 精币

学习嘻嘻嘻
回复 支持 反对

使用道具 举报

签到天数: 8 天

发表于 2026-4-22 17:52:06 | 显示全部楼层   陕西省渭南市

回帖奖励 +1 枚 精币

回复 支持 反对

使用道具 举报

结帖率:0% (0/2)

签到天数: 28 天

发表于 2026-4-22 08:37:19 | 显示全部楼层   广西壮族自治区玉林市
谢谢楼主分享
回复 支持 反对

使用道具 举报

结帖率:43% (10/23)

签到天数: 10 天

发表于 2026-4-22 08:08:41 | 显示全部楼层   湖北省武汉市

回帖奖励 +1 枚 精币

看重还不错啊
回复 支持 反对

使用道具 举报

结帖率:96% (482/502)

签到天数: 25 天

发表于 2026-4-21 09:07:52 | 显示全部楼层   内蒙古自治区乌海市
感谢分享
回复 支持 反对

使用道具 举报

签到天数: 26 天

发表于 2026-4-21 08:29:10 | 显示全部楼层   重庆市重庆市

回帖奖励 +1 枚 精币

感谢分享呢
回复 支持 反对

使用道具 举报

签到天数: 2 天

发表于 2026-4-20 15:47:05 | 显示全部楼层   河北省沧州市
学习学习
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表