UNPKG

whistle.mock-plugins

Version:

Whistle 插件,用于快速创建 API 模拟数据

120 lines (97 loc) 7.69 kB
# 🔄 版本更新记录 ## v1.3.0 ### ✨ Feature - **主题系统重构**:新增「大地色系」主题,支持经典亮色 / 赛博朋克 / 大地色系三套主题自由切换 - **主题切换免刷新**:通过 `storage` 事件 + `body.{theme}-theme` class 动态切换即时生效 - **请求统计面板**:新增「请求统计」页面(Ctrl+4),展示近7天命中趋势、Top 10 命中接口、Top 10 功能模块命中排行、最近命中记录 - **最近命中记录增强**:增加"模块"列展示命中接口所属功能模块;去掉冗余的"响应"列;支持日期选择器和 URL 关键字输入框筛选过滤 - **从真实接口导入**:接口编辑表单新增「从真实接口导入」区域,输入真实 API URL 后一键抓取响应,自动生成 Mock.js 模板并应用到当前响应 - **全局键盘快捷键** - `Ctrl+1/2/3/4` — 快速切换功能模块/接口管理/系统设置/请求统计 - `Ctrl+S` — 保存当前表单(Modal/Drawer 打开时) - `Ctrl+Shift+N` — 新建接口/功能模块 - `Ctrl+K` — 聚焦搜索框 - `Shift+?` — 显示快捷键帮助 - **入参匹配开关**:系统设置新增「接口入参匹配」和「响应入参匹配」两个显示开关,关闭后对应 UI 区域隐藏,同时后端运行时跳过对应匹配逻辑 - **响应级入参匹配**:每个响应内容支持独立配置入参匹配规则,同一接口内不同入参可自动匹配返回不同响应 - **记住功能模块**:接口管理页打开时自动恢复上次选择的功能模块 - **交互模式切换**:数据管理和接口表单均支持弹窗/抽屉模式切换 - **全列拖动**:接口列表所有列均支持拖动调整宽度,列宽自动持久化 - **数据管理抽屉模式**:从右侧滑出,宽度 1040px,上下撑满 - **接口复制新增**:可基于已配置接口一键打开新增弹窗并预填 ### 🎨 UI - **赛博朋克主题**:全新深色霓虹主题,采用青色 `#00f0ff` 为主色调,搭配绿色 `#00ff41`、黄色 `#f0e800`、洋红 `#ff00a0` 等霓虹色 - **大地色系主题**:暖色调自然舒适风格,主色 `#b87333`(铜色),搭配橄榄绿 `#6b8e23`、暗金 `#d4a017`、砖红 `#c0392b` - **亮色主题颜色优化**:将组件中硬编码的刺眼霓虹绿 `#00ff41` 替换为标准柔和绿 `#52c41a` - **去掉 V2 标签**:功能模块管理页面右上角 "V2" 标签移除 - **版本弹窗 Markdown 渲染**:版本更新记录弹窗采用 `react-markdown` 渲染,支持完整 Markdown 语法 ### 🐛 Fix - **主题切换彻底修复**`cyber-theme.css` / `earth-theme.css` 全部选择器添加 `body.{theme}-theme` 前缀,关闭主题后不再污染其他模式 - **Modal/Drawer 亮色恢复**:移除各组件中硬编码的深色背景/边框/文字色,恢复 Ant Design 默认亮色样式 - **版本号可见性修复**:亮色模式下版本号按钮文字清晰可见 - **响应级入参匹配保存修复**:后端 `processInterfaceData` 和前端 `fetchInterfaces` 处理响应数据时补全 `paramMatchers` 字段 - **数据管理抽屉模式修复**:恢复 `displayMode` 状态、`useEffect` 监听及 `DataManagementDrawer` 导入 - **接口表单抽屉模式修复**:恢复 `interfaceFormDisplayMode` 状态及相关渲染逻辑 ### 🔧 Technical - **后端日志字段扩展**`ruleManager.js` 记录 `mock_hit` 日志时新增 `featureName`(功能模块名称)和 `responseName`(命中响应名称)字段 - **stats API 增强**`cgi-bin/stats?type=recent` 支持 `date`(YYYY-MM-DD)和 `url`(模糊匹配)查询参数过滤 - **新增 `app/cgi-bin/stats.js`**:后端统计 API,支持 overview/top/timeline/recent 四种查询维度 - **新增 `app/cgi-bin/proxy-fetch.js`**:后端代理抓取真实接口响应 - **新增 `app/cgi-bin/settings.js`**:CGI 处理器,支持 `GET`(读取)和 `PUT`(保存)设置 - **`ruleManager.js` 升级**:引入 `getSettings()` 读取 `settings.json`,接口级匹配和响应级匹配均受开关控制 - **数据结构扩展**`Response` 对象新增 `paramMatchers` 字段 - **原生列宽拖动**:使用原生鼠标事件实现列宽拖动,移除 react-resizable 依赖 ## v1.2.1 ### ✨ Feature - **界面优化**:功能模块页面支持列表/卡片视图切换,列表视图更加紧凑高效 - **代码优化**:下线 V1 版本代码,全面采用 V2 版本 - **界面简化**:移除版本切换功能,统一用户体验 - **新增功能**:新增mock数据管理弹窗 ### 🐛 Fix - **问题修复**:请求入参匹配在编辑删除后保存不生效(V1/V2)。前端在提交时始终显式发送 `paramMatchers` 字段,空数组表示清空,后端得以覆盖旧值。 ## v1.2.0 ### ✨ Feature - **代码优化**:下线 V1 版本代码,全面采用 V2 版本 - **界面简化**:移除版本切换功能,统一用户体验 ## v1.2.1-beta.5 ### ✨ Feature - **新增功能**:新增mock数据管理弹窗 ## v1.2.0 ### ✨ Feature - **界面优化**:模块管理接口管理页面细节调整(v2版本) - **设置更新**:设置界面添加切换 UI 版本 - **界面优化**:功能模块支持列表展示(v2) - **界面优化**:页面细节调整 - **新增**:接口管理页支持"复制新增"。可基于已配置接口一键打开新增弹窗并预填,响应模式会为每个响应生成全新ID并正确映射激活响应;其余配置(分组、参数匹配、重定向设定等)保留。保存后自动刷新缓存。 ### 🐛 Fix - **问题修复**:请求入参匹配在编辑删除后保存不生效(V1/V2)。前端在提交时始终显式发送 `paramMatchers` 字段,空数组表示清空,后端得以覆盖旧值。 - **问题修复**:接口列表分组展示 tag 问题处理 - **问题修复**:编辑接口保存折叠内容丢失 ## v1.1.2 ### 🐛 Fix - **问题修复**: 接口管理中禁用启用功能失效 ## v1.1.1 ### 🆕 更新功能 - **项目优化**:版本号同步显示在页面右上角,支持点击查看详细更新记录 - **项目优化**:新增模拟响应入参校验功能,提升数据准确性 - **项目优化**:接口管理列表支持快速切换多个模拟响应数据 - **项目优化**:清理并标记项目中未使用的文件,提升代码质量 - **项目优化**`模拟响应``res.header` 中添加响应信息,方便标识 - **项目优化**:支持接口延迟响应功能,添加和编辑的时候可以设置 - **项目优化**:接口管理支持分组功能 - **界面精简**:前端页面支持多维度排序,提升数据管理效率 - **界面精简**: 列表支持设置外显列 - **界面精简**:模拟响应数据编辑框支持全屏模式,新增 ESC 快捷键快速关闭 - **界面精简**:移除模拟数据编辑框右上角冗余的 JSON 标签 ### 🐛 Fix - **问题修复**: 模块禁用中接口任然被模拟代理使用了 ## v1.1.0 ### 🆕 更新功能 - **多响应管理系统**:每个接口支持配置多个不同的响应内容 - **响应切换功能**:可在多个响应之间快速切换,便于测试不同场景 - **响应描述系统**:为每个响应添加名称和详细描述 - **JSON格式化预览**:响应内容支持JSON格式化显示和编辑 - **响应管理界面**:全新的响应管理卡片式界面 - **接口匹配引擎重构**:大幅简化匹配逻辑,提升匹配性能 - **正则表达式缓存**:避免重复编译正则表达式,提升匹配效率 - **代码简化**:移除复杂的参数匹配功能,专注核心URL匹配