mcpField
A
apifox-mock

apifox-mock

github.com/giikinTesting & quality79 installs
Repository

About apifox-mock

apifox-mock is a skill for generating mock data for project APIs. It defaults to Apifox Mock JSON and can also produce scripts, local mock files, or mock address configuration when requested, using interface types and field semantics to shape the data.

Key features

  1. 01Generate Apifox Mock JSON by default
  2. 02Support Apifox Mock scripts and local files
  3. 03Initialize mock address configuration
  4. 04Parse API request and response types
  5. 05Infer values from field semantics and enums

Use cases

  1. 01Create type-aligned mock responses for APIs
  2. 02Generate scripts for related fields or conditional logic
  3. 03Create local mock data beside Vue files
  4. 04Route development requests to an Apifox mock address

Install

Copy the command and run it in a terminal.

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

After installing, type/apifox-mockin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

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

Details

From the project 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 等字段。

Comments

Markdown supported