ProxyPin 中文文档 下载 App

ProxyPin 请求映射 本地 Mock 离线开发

请求映射 vs 请求重写

请求重写仍然会把请求发到远程服务器(只是改了内容),而请求映射根本不发请求——直接返回你预设的响应。

这有几个重要区别:

维度请求重写请求映射
是否发远程请求是否
网络依赖需要网络纯本地
性能正常网络延迟瞬时返回
典型用途修改真实请求Mock 后端接口

映射到本地 JSON 文件

这是最常用的场景:

  1. 准备一个 JSON 文件(mocks/user-profile.json):
{
  "code": 200,
  "data": {
    "user_id": "12345",
    "name": "测试用户",
    "vip": true,
    "balance": 9999
  }
}
  1. 在 ProxyPin 中添加映射规则:
  1. 保存启用。App 再发起 GET https://api.myapp.com/user/profile 时,直接返回本地文件内容。

映射到脚本

对于需要动态生成 Mock 数据的场景(比如参数不同返回不同内容),可以映射到 JS 脚本:

// ProxyPin 请求映射脚本
function onRequest(request) {
  // 根据请求参数返回不同数据
  if (request.url.includes('/user/profile')) {
    return {
      statusCode: 200,
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({
        code: 200,
        data: { name: '动态Mock用户' }
      })
    };
  }
  // 其他 URL 继续走远程
  return null;
}

通配符映射

请求映射支持通配符路径:

远程:https://api.myapp.com/users/*/profile
本地:./mocks/user-profile.json(所有匹配返回同一个)

或者用动态脚本处理:

远程:https://api.myapp.com/users/*/profile
脚本:动态从 URL 提取 user_id,返回对应 Mock

实战场景

前后端并行开发

前端开发不依赖后端接口进度。所有 API 映射到本地 Mock 文件,后端接口好了删掉映射规则即可。

测试边界条件

把成功接口映射成错误响应,测试 App 的异常处理:

映射:https://api.myapp.com/payment/submit
返回:{"code":500,"msg":"模拟服务器错误"}

性能测试

请求映射本地瞬时返回,用它测 App 在「后端零延迟」情况下的前端渲染性能。