# Mock 数据 联调时后端接口没就绪?OpsxAPI 内置 **Mock.js 风格的数据生成器**,两种用法覆盖绝大多数场景: 1. **显式表达式** —— 在参数值、Body 中直接写 `@cname`、`@integer(1,100)`; 2. **智能匹配** —— 开启后按**字段名**自动套用规则表(`username` → 姓名、`email` → 邮箱…),一行不用写。 ## 开启与配置 顶栏 **⋯ → Mock 数据**(或「设置 → Mock 数据」): - **启用 Mock 数据**:总开关,关闭后 `@` 表达式按普通文本原样发送; - **智能 Mock 匹配**:JSON Body 字段值未写表达式时,按字段名匹配规则自动生成; - **智能匹配规则表**:数据类型(string / number / integer / boolean)、匹配方式(通配符 / 完全匹配 / 正则)、匹配规则(如 `*name*`)、Mock 表达式、备注与启用开关,支持搜索、新增、删除与恢复默认。 规则**从上到下**匹配,先命中先用;类型需与 JSON 字段实际类型一致(KV 参数一律按 string 匹配)。 ## 表达式速查 | 表达式 | 说明 | 示例输出 | | --- | --- | --- | | `@cname` | 中文姓名 | `王国强` | | `@email` | 邮箱 | `kx8f2@qq.com` | | `@phone` | 手机号 | `138****2733` 形式 11 位 | | `@id` | 身份证号 | 18 位 | | `@guid` | UUID / GUID | `3f2b…-…` | | `@integer(1, 100)` | 整数 | `42` | | `@float(1, 9999, 2)` | 小数(保留 2 位) | `128.50` | | `@boolean` | 布尔 | `true` | | `@string(8, 16)` | 随机字符串 | `aZ3k…` | | `@datetime(YYYY-MM-DD HH:mm:ss)` | 日期时间 | `2026-09-17 14:30:00` | | `@date(YYYY-MM-DD)` / `@time(HH:mm:ss)` | 日期 / 时间 | — | | `@timestamp` | 毫秒时间戳 | `1760000000000` | | `@url` / `@domain` / `@ip` | URL / 域名 / IPv4 | — | | `@province` / `@city(true)` / `@county(true)` | 省市区 | `广东省深圳市南山区` | | `@ctitle(4, 12)` / `@csentence(10, 24)` | 中文标题 / 句子 | — | | `@image(200x200)` | 图片地址 | picsum 随机图 | | `@pick("A", "B", "C")` | 从列表中选择 | `B` | 未列出的写法会**原样发送**,可放心与真实值混用。 ## 在请求中使用 **Params / x-www-form-urlencoded / form-data**:值一栏直接填表达式。 ```text username = @cname page = @integer(1, 10) ``` **JSON Body**:叶子值写表达式,或交给智能匹配: ```json { "username": "@cname", "email": "@email", "age": "@integer(18, 60)", "vip": "@boolean" } ``` Body 工具栏提供两个辅助按钮: - **智能填充**:按规则把 JSON 各字段值批量替换为对应 `@` 表达式,生成可编辑的 Mock 模板; - **Mock 预览**:即时查看发送时实际生成的数据,不必真的发请求。 ## 生效范围 - 生效:Query 参数、JSON / XML / Text Body、x-www-form-urlencoded、form-data、GraphQL Variables; - 不生效:Headers、Cookies、鉴权字段(避免意外改坏签名与令牌)。 > 提示:Mock 在**发送瞬间**求值,同一请求每次发送都会得到新数据;预览结果仅供核对格式。