API信息批量提取器
一个专为 Apifox 设计的用户脚本,可以批量提取API接口信息并导出为JSON文件。
🚀 功能特性
核心功能
- 一键提取:快速提取当前页面的API接口信息
- 自动监听:自动监听接口切换,无需手动操作
- 批量导出:将提取的数据导出为JSON格式文件
- 数据预览:在导出前预览提取的数据内容
- 本地存储:自动保存提取的数据,刷新页面不丢失
界面特性
- 可拖拽面板:控制面板支持自由拖拽定位
- 位置记忆:记住面板位置,下次访问自动恢复
- 实时反馈:操作状态实时显示在信息面板中
- 响应式设计:适配不同屏幕尺寸
📦 安装使用
安装要求
- 浏览器:Chrome、Firefox、Edge 等现代浏览器
- 扩展:Tampermonkey 或 Greasemonkey
安装步骤
- 安装 Tampermonkey 浏览器扩展
- 点击脚本链接进行安装
- 访问 Apifox 即可看到控制面板
🎯 使用指南
基本操作
1. 提取当前API
- 点击 "提取当前API" 按钮
- 脚本会自动提取当前页面的接口信息
- 提取的信息包括:
- 接口名称
- 请求URL
- 请求方法
- 请求参数结构
- 参数类型和描述
2. 自动提取模式
- 点击 "自动提取" 开启自动模式
- 脚本会监听接口切换,自动提取新接口
- 再次点击变为 "停止提取" 可关闭自动模式
3. 数据管理
- 预览数据:查看已提取的所有API数据
- 下载全部:导出所有数据为JSON文件
- 清空数据:清除本地存储的所有数据
提取的数据结构
{
"exportTime": "2024-01-01 12:00:00",
"dataCount": 10,
"apiList": [
{
"apiName": "获取用户信息",
"apiUrl": "/api/user/info",
"requestMethod": "GET",
"requestParams": [
{
"paramName": "userId",
"paramType": "string",
"isRequired": true,
"paramDescription": "用户ID"
}
],
"responseInfo": "暂无响应信息"
}
]
}
🔧 技术特性
安全性
- 无网络请求:脚本完全在本地运行
- 数据隔离:使用独立的存储空间
- 权限最小化:仅请求必要的页面访问权限
性能优化
- DOM监听优化:使用 MutationObserver 高效监听页面变化
- 防抖处理:避免频繁触发提取操作
- 内存管理:自动清理不需要的事件监听器
兼容性
- 网站兼容:支持
app.apifox.com
及其子域名
- 浏览器兼容:支持所有现代浏览器
- 版本兼容:适配 Apifox 界面更新
📋 数据字段说明
字段名 |
类型 |
说明 |
apiName |
string |
API接口名称 |
apiUrl |
string |
接口请求路径 |
requestMethod |
string |
请求方法(GET/POST等) |
requestParams |
array |
请求参数列表 |
responseInfo |
string |
响应信息描述 |
参数对象结构
字段名 |
类型 |
说明 |
paramName |
string |
参数名称 |
paramType |
string |
参数类型 |
isRequired |
boolean |
是否必填 |
paramDescription |
string |
参数描述 |
🎨 界面说明
控制面板按钮
- 紫色按钮:提取当前API、下载全部
- 橙色按钮:预览数据
- 蓝色按钮:自动提取(开启后变红色)
- 红色按钮:清空数据、停止提取
信息显示区域
- 显示当前操作状态
- 显示提取结果反馈
- 显示错误信息提示
🔍 常见问题
Q: 提取不到数据怎么办?
A: 确保页面已完全加载,接口信息显示完整后再点击提取。
Q: 自动提取不工作?
A: 检查是否在正确的页面,确保接口详情页面的URL格式正确。
Q: 数据丢失了怎么办?
A: 数据存储在浏览器本地,清除浏览器数据会导致丢失,建议定期导出备份。
Q: 面板位置乱了怎么办?
A: 拖拽面板到合适位置,或清除浏览器存储重置为默认位置。
📄 开源协议
本项目基于 MIT License 开源协议。
👥 贡献指南
欢迎提交 Issue 和 Pull Request 来改进这个工具!
注意事项:
- 本脚本仅用于合法的API文档整理用途
- 请遵守网站的使用条款和隐私政策
- 大量自动化操作可能会影响网站性能,请合理使用