mcpField
A
apifox-mock

apifox-mock

github.com/giikin测试与质量79 次安装
代码仓库

关于 apifox-mock

apifox-mock 是用于为项目接口生成 Mock 数据的技能,默认输出 Apifox Mock JSON,也可按指令生成脚本、本地 Mock 文件或初始化 Mock 地址。它会读取接口与类型定义,并依据字段语义和注释推断数据。

主要功能

  1. 01默认生成 Apifox Mock JSON
  2. 02支持 Apifox Mock 脚本与本地文件
  3. 03可初始化 Mock 地址配置
  4. 04解析接口请求与响应类型
  5. 05根据字段语义和枚举推断数据

适用场景

  1. 01为接口快速生成符合类型的 Mock 响应
  2. 02为字段关联或条件逻辑生成 Mock 脚本
  3. 03为 Vue 文件创建本地 Mock 数据
  4. 04将开发环境代理接入 Apifox Mock 地址

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/giikin/skills --skill apifox-mock

安装后在 Claude Code 中输入/apifox-mock确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
apifox-mock-json.md
apifox-mock-script.md
init-mock-address.md
local-mock.md

详细介绍

来自项目 README

Mock 数据生成规范

本技能提供四种 Mock 数据生成方式。默认生成 Apifox Mock JSON,只有用户明确指定时才切换到其他方式。

选择规则

用户指令特征生成方式输出形式参考文档
默认(无特殊指定)Apifox Mock JSON直接在聊天中返回 JSON 代码块apifox-mock-json.md
提到 js、脚本、script,或需要字段关联/条件逻辑Apifox Mock 脚本生成 .js 文件到项目根目录 mock/ 下,文件名与接口方法对应apifox-mock-script.md
提到 local、本地,或指定了 .vue 文件本地 Mock 文件生成 .ts 文件到 Vue 文件同级目录local-mock.md
提到 开启 mock 地址、初始化 mock 地址、接入 mock、代理到 ApifoxMock 地址初始化修改 .env.development 与 vite.config.tsinit-mock-address.md

通用流程

无论哪种方式,前两步相同:

1. 解析接口文件

读取 @/api/xxx/controller 下的接口文件,识别:

  • 响应类型(如 RPageMcpServiceVo、RMcpServiceDetailVo)
  • 请求类型(如 McpServicePageQuery)
2. 追溯类型定义

在 interface/apiTypes/ 目录下找到完整的类型定义,包括:

  • 嵌套类型(如 PageMcpServiceVo → McpServiceVo[])
  • 关联类型(如 TagVo、McpServiceToolVo)
  • JSDoc 注释中的枚举值和业务含义

字段语义推断规则

根据字段名和类型智能生成合适的 mock 值,三种方式共用:

字段名模式推断类型示例值
id, *Id自增/随机整数1, 2, 3
name, *Name(中文语境)中文标题/姓名'商品名称', '张三'
name(英文标识符语境)英文单词拼接'mcp-service-alpha'
description, *Desc中文段落'这是一段描述...'
url, *Url, icon图片/链接 URL'https://picsum.photos/800/800'
*Time, *At, created*, updated*日期时间'2024-01-15 08:30:00'
status, is*(布尔语义)0/1 或 true/false1
*Color十六进制颜色'#3B82F6'
*Count, *Num, total自然数42
*Order, *Sort自增排序1, 2, 3
imgs, images, *List对应类型数组[{...}, {...}]
content(富文本)HTML 内容'<div><img src="..." /></div>'
枚举值识别

优先从 JSDoc 注释中提取枚举值:

interface Example {
  /** 创建类型:1-HTTP转MCP,2-MCP服务直接代理 */
  createType?: number;
  // → mock 值范围限定为 1 或 2
}
响应结构

项目统一的接口响应结构:

{
  "code": 200,
  "bizCode": 0,
  "data": {},
  "msg": "success"
}

分页响应包含 records、total、size、current、searchCount、pages 等字段。

评论

支持 Markdown