Releases: freewu/api-manager
Releases · freewu/api-manager
Release list
v0.5.1
版本 v0.5.1 更新内容
🎭 Mock 服务与占位符(本轮重点)
- Mock 服务响应体支持 mock.js 语法:@cname/@integer(1,100) 等占位符(含参数)、键规则 key|count / key|min-max /
key|min-max.d / key|1 / key|+step,以及自定义占位符(服务端用 boa 纯 Rust JS 引擎完整执行占位符代码,默认模板与 demo
写法均可运行) - list|1-5 数组规则修正:按模板重复随机生成 1~5 条(与 mock.js 官方语义一致,单元素模板也能生成多条)
- Mock 页签响应体输入 @ 弹出占位符选择器,选中后插入光标处,任意输入法均稳定触发;响应区新增「🧪 测试」按钮实时预览渲
染结果 - Mock 服务读取最新配置:启动/停止前自动保存当前接口,运行中保存即热重载,无需重启
- Mock 占位符弹窗改为分类滚动切换(左侧导航 + 右侧面板)、加宽每排 4-5 个;demo 新增 @zodiac 星座占位符演示
📦 对象管理
- 新增**「生成一条 Mock 数据」**按钮(按对象属性 + 引用递归生成示例 JSON,防循环引用),按钮靠右紧贴「添加属性」
- 属性表行高加大、「添加属性」按钮改绿色
- 修复选中对象后黑屏崩溃(Hooks 调用顺序违规)
- 生成演示案例后对象列表自动刷新
- 代码生成字段名转换:Java 下划线转驼峰(user_name → userName)、Go 每段首字母大写(→ User_Name)
📝 接口文档 tab
- 类型新增 Datetime / Date / Time / Any(旧自由文本自动归一化)
- 对象名改为弹窗选择对象(与对象管理一致),选中后可一键清空
🔧 其他修复
- HTTP Body 选 JSON 时不再误显示 GraphQL 的 query 占位符
- 全部导入格式统计接口协议 4 类(Http/WebSocket/GraphQL/Socket.IO)
- 自定义占位符编辑弹窗改全屏 + JS 语法高亮 + 测试运行,测试不通过禁止保存/启用
🛠 工程
- lib.rs / export.rs / import.rs 大规模拆分模块化;测试移至独立 *_test.rs
- 新增 GitHub Actions 远程打包发布(Windows / macOS / Linux)
- 版本号同步至 v0.5.1(已打 tag 推送)
v0.5.0
🎯 数据生成(核心新功能)
- 数据生成入口:对象右键新增「数据生成」,配置属性 mock / 参与状态,导出 JSON 或 SQL,异步生成不阻塞 UI
- 生成记录日志:.gen_log/<时间戳>_.json 单文件保存(含提交的数据配置 + 耗时)
- 记录管理页面(替代弹窗,与请求历史布局一致):
- 左侧记录列表(格式徽标 / 对象名 / 时间 / 条数 / 耗时,时间倒序)
- 右侧详情(基本信息 + 提交属性配置表),进入页面自动刷新
- 详情操作:「打开导出目录」「重新生成」(预填原配置,生成后自动刷新)
- 生成增强:支持 CSV 格式(逗号/引号/换行自动转义)、属性拖拽排序、属性带描述列、条数千分位展示
📁 对象管理
- 建表语句 tab:按属性生成 MySQL CREATE TABLE,SQL 语法高亮(类型映射:string→VARCHAR、number→BIGINT、boolean→TINYINT
、object/list→JSON、引用→BIGINT 等) - 版本倒排:版本号大靠上,默认选中最新版本
- DDL/建表文件导入:按表 COMMENT 命名、按文件名建分组、支持拖拽导入
- 属性增强:新增日期类型与 mock 值;「说明」改为「描述」;object 类型引用对象弹窗树状选择(分组可折叠)
- 分组管理:复制分组(uuid 重新生成)、废弃标记持久化、组内对象自动废弃展示、右键统计
- Java 代码生成:Lombok / 原生两种风格 tab 切换;Dart 语言图标接入
v0.4.0
🔧 功能新增
- Curl 命令导入新建接口
- 左侧导入菜单新增「Curl 命令」,弹窗粘贴请求串即可创建 HTTP 接口
- 支持 -X/-H/-d/--data*/-F/-u/-G、单双引号与 " 转义、行尾 \ 续行、URL 内 query 自动拆分、body 模式自动推断(JSON / 表
单)
- POST/PUT/PATCH 默认 Body 页签
- 左侧列表选中 POST/PUT/PATCH 接口时默认展示 Body 页签(GET 等仍默认 Query)
- 请求历史比对 ESC 退出
- 点击「调用结果比对」进入勾选模式后按 ESC 退出;比对视图内按 ESC 返回——全程键盘可退
🌐 WebSocket / Socket.IO
- 实时接口握手提示
- Query / Headers 页签加「握手」徽标,面板顶部提示条说明参数只在握手阶段生效,避免误改
- 历史列表实时协议名显示
- WS / Socket.IO 请求在历史列表直接显示协议名(绿色 WebSocket / 橙色 Socket.IO),不再显示 HTTP method
🎨 视觉体验
- 加载动画:黑客帝国字符雨
- 全屏绿色字符雨,掉落字符为接口协议与 method(GET/POST/WS/SOCKET.IO/GRAPHQL…),品牌标题霓虹发光
v0.3.0
📡 GraphQL 接口支持(新增协议类型)
- 新建接口时协议选择新增 GraphQL 类型(带专属图标)
- GraphQL 接口固定使用 POST 方法(不可更改)
- Body 仅支持 JSON 格式,新建时默认选中 Body 页签
- 统计面板单独统计 GraphQL 接口数量(与 HTTP/WebSocket 等区分)
- 左侧接口树中 GraphQL 接口显示专属图标
✨ 编辑器与交互增强
- 接口描述支持 Markdown:编辑 / 预览双模式切换(✏️ 编辑、👁 预览),预览由后端渲染,支持标题、表格、代码块、列表等
- 新建接口弹窗:协议选择改为图标 radio 卡片形式并加宽,更直观
- 所有弹窗 / 弹出菜单支持 ESC 键关闭(新增对象、设置、导入、右键菜单等统一生效)
🔧 工程与杂项
- 加载页 loading.html 移入 src 目录,tauri 窗口 URL 同步更新
- 版本号更新至 v0.3.0(已合并 main 并打 tag)
v0.2.2
v0.2.2 版本更新汇总
🚀 导入 / 导出格式大幅扩展(新增 17 种)
- 新增完整导入导出:Apifox、Apipost、RAML、WADL、YApi、Eolink、Insomnia、JMeter(.jmx)、apiDoc(api_project.json +
api_data.json) - RAP2 导入导出:项目 / 单接口双格式自动识别,URL query 自动解析为参数
- 十种扩展格式(Rust + TS 全链路):apidog、bruno、apizza、nei、doclever、io-docs、easydoc、docway、hoppscotch、
metersphere - HAR 抓包文件导入
- 导入 / 导出格式选择使用自绘下拉 + 官方图标,设置页新增各格式展示开关(默认仅开启 apifox/apipost)
- 修复:apifox 导入空分组与重复分组;默认导出格式下拉过滤
💻 代码生成(WebSocket 多库支持)
- 15+ 语言支持多库切换(注释含官网 / 编译参数):C(libwebsockets/libuv-ws/wslay)、
C++(Boost.Beast/libwebsockets/uWebSockets/Qt)、Java(JSR-356/Spring/Netty/OkHttp)、
Ruby(faye-websocket/websocket-ruby/Sinatra/Rails ActionCable)、PHP(Swoole/OpenSwoole/Ratchet)、
Swift(URLSession/Starscream/Network.framework)、Perl(Mojo/AnyEvent)、Julia(WebSocket.jl)、
Kotlin(OkHttp/Java-WebSocket)、Erlang(gun)、PowerShell(.NET 原生)、Lua(lua-resty-websocket/lua-websocket)、
Python(websockets/websocket-client)、Rust(tokio-tungstenite/tungstenite)、Delphi(Indy
10/Synapse/Websocket4Delphi) - 语言下拉框展示各语言 logo 图标(内置图片,含 csharp/perl/delphi 新图标)
🔍 搜索与历史
- 搜索框一键清除 + 高级搜索(接口类型 + Method 多选过滤),修复递归过滤丢失
- 查询时自动隐藏空分组
- 调用历史新增同接口 Diff 比对(选中 2 条自动对比)、历史列表按接口过滤
- 统计区分 HTTP / WebSocket 接口
- 示例页签显示记录数角标,保存后即时刷新
🎨 UI / 体验
- 独立加载页 + 全屏加载动画(防白屏),window 背景色统一深色
- 导入接口刷新后保留分组展开状态
- 多处禁用右键默认菜单(导出窗口 / 历史视图 / 侧边栏底部)
- 设置窗口文案与界面精简、开关右对齐、语言选项去 emoji 缩写
🔧 工程重构
- codegen.ts(4136 行)按语言拆解到 src/utils/code/(23 个语言文件 + shared + index),输出与拆分前 162 项对比一致
- App.tsx(1739 行)按模块拆出 10 个
hooks(settings/ui/bootstrap/workspace/requests/envs/mock/modals/imports/vcs),Landing / ApiDocModal 等改为
React.lazy 懒加载按需分包
v0.2.1
v0.2.1 更新内容
🆕 WebSocket 接口类型(本次最大新功能)
- 新增 WebSocket 接口类型:独立于 HTTP 的编辑/发送/交互流程,支持消息发送、实时交互记录(连接/发送/接收/错误)、连接管
理(连接/断开) - 代码生成:WebSocket 客户端代码生成(支持路径参数替换),新增对应演示用例与测试服务器 tests/websocket-server.py
- 交互完善:专用图标、无状态码/方法展示、模式切换、markdown 文档支持;去掉 WS 的 Path 页签,演示仅保留"回显"接口并回传
header/query 参数 - 修复:连接失败问题——不再把 Header 值当作 WebSocket 子协议发送(浏览器 API 本就无法自定义请求头),描述补充测试服务启
动与测试步骤说明 - 请求日志:WS 发送的消息与回显写入历史日志(一次发送一条记录)
- 保存示例:WS 请求成功后可将发送消息与回显保存为示例
- 新建工作区的演示案例内置 WebSocket 分组
🏷️ 已废弃标记
- 支持标记/取消标记已废弃接口与分组,侧栏可按废弃状态筛选,统计含废弃数量,废弃项以斜体+红色删除线展示
- 导出选择树中废弃项带角标标识,markdown 文档标题带"(已废弃)"标注,分组废弃自动继承到其下接口
- 右键菜单"标记已废弃"调整到"删除"上方
📄 导出
- 修复导出 markdown/html 时接口重复问题(嵌套分组去重,前端只提交顶层路径)
- HTML 导出支持悬浮导航栏(设置可选关闭/左侧/右侧)
📦 版本管理
- 版本信息支持"恢复到该版本"按钮(恢复前自动备份为新版本),保存版本无改动时提示已是最新
⚡ 性能与工程
- Vite 分包 + 懒加载:单文件 528KB → 首屏 ~380KB,highlight.js 与代码生成页签、7 个弹窗组件按需加载
- 代码拆分重构:i18n 按语言、样式按功能模块、App 拆分为顶栏/落地页/右侧面板/弹窗组件
- 修复最近打开工作目录列表中出现已不存在目录的问题
v0.1.6
1️⃣ 新增「响应」页签 852a828
- 编辑器新增「响应」页签:返回成功 / 返回失败条目可增删、改名、改状态码、Content-Type、Body
- 文档页签的「返回」部分按响应条目逐条生成(### 名称 + HTTP 状态徽标 + 字段表)
- 旧接口文件无 responses 键时自动迁移(显式空列表尊重用户删除)
- OpenAPI 导出响应改用响应条目
2️⃣ 相关修复
- fd3dce8 点击「响应」页签时隐藏下方请求/响应面板
- 29e13d1 文档页签改为自动生成视图(去掉「添加字段」按钮和「操作」列)
- 82f342a 分组 Markdown 同一分组只生成一次分组信息
- bdce03e 修复分组保存 .md/.html 失败(目录误走单接口 read_api)
3️⃣ 请求历史日期文字提示 6bda7f8
- 分组标题「今天 / 昨天 / 前天」用文字替换日期(完整日期保留在悬停提示)
v0.1.5
🧪 接口测试
- 支持 GET / POST / PUT / DELETE / PATCH 等常用方法
- 完整支持路径参数 / Query / Headers / Body,Body 支持 raw / JSON / XML / 表单 / 二进制文件五种模式
- JSON / XML 一键格式化,响应查看状态码、耗时、大小、Headers 与 Body(JSON 语法高亮)
- 请求历史自动记录,随时回看、一键回填重发
🎭 Mock 服务
- 一键启动本地 Mock 服务(默认端口 5050),自动扫描所有启用 Mock 的接口
- 支持路径参数、请求延迟、模板变量与全局环境变量
- 无需后端联调,前端开发即刻起步
📁 目录即集合
- 打开应用选择一个工作目录,目录结构即接口集合结构,一个接口一个 JSON 文件
- 天然支持 Git 版本管理,接口定义、参数、Mock 数据全部可追溯、可协作
- 接口支持多版本保存、左右对比差异、随时回退到任意历史版本
🌐 全局环境变量
- 开发 / 测试 / 生产多环境一键切换,
{{变量名}}自动替换到 URL / Headers / Query / Body / Mock 响应 - 环境变量集支持拖动排序、右键编辑/复制/删除;每个变量含现有值、默认值与说明
💻 代码生成与导出
- 一键生成 20+ 种语言 / 框架的请求代码(curl、JavaScript、Python、Java、Go、Rust 等)
- 一键导出 Postman Collection / OpenAPI 3.0 / Docsify 文档站点
- 一键导入 Postman Collection / OpenAPI (Swagger) / Markdown 接口文档,集合级变量自动迁移
📝 接口文档
- 内置接口文档页,自动从请求配置与 Mock 响应体推导参数(类型、嵌套字段、说明)
- 支持手动补充修正,可导出 Markdown 文档
📊 统计与演示
- 分组 / 工作区维度统计接口数、Mock 启用数与请求方法分布
- 内置演示工作区(用户管理 / 订单管理),开箱即用体验全部功能
🖥️ 系统托盘与更新
- 关闭窗口最小化到托盘,托盘菜单快速显示/隐藏窗口、启停 Mock、切换语言、检查更新
- 启动时自动检查 GitHub Releases,发现新版本弹窗提醒并可一键跳转下载
🗂️ 界面与体验
- Postman 风格布局:左侧接口树(搜索 / 分组 / 增删改 / 复制)、中间请求编辑器、下方响应面板
- 三语界面(简体中文 / 繁體中文 / English)随时切换
- 轻量原生(Tauri 2 + Rust),单文件分发,无需安装,拷贝即用