Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

支持接口模拟 #74

Open
wll8 opened this issue Sep 28, 2021 · 0 comments
Open

支持接口模拟 #74

wll8 opened this issue Sep 28, 2021 · 0 comments

Comments

@wll8
Copy link

wll8 commented Sep 28, 2021

接口模拟几乎已经成为每个前端的必备技能。可否集成一下?推荐 mockm

npm i mockm -D
npx mockm --template 
功能: 点击查看
  • 支持 0 侵入, 无需修改项目中的任何代码即可投入使用
  • 快速生成接口和数据, 以及文档
  • 支持 Restful API
  • 以最方便的形式支持 api 拦截, 注入, 请求及响应修改
  • 修改实时生效
  • 支持自动允许跨域
  • 自动带参调试, 无需登录
  • 自动根据接口查找文档和调试地址, 标识字段描述
  • 请求记录, 重放
  • 当提供接口的后端服务出现问题, 也可最大程度还原接口响应
  • 参数预校验, 助你分析接口联调的问题所在
  • 无需数据库支持
  • 根据接口生成业务代码
  • 跨平台, 支持 linux macos windows
  • 支持远程调试, 一个属性完成内网穿透
示例: 点击查看
/**
 * @see: https://www.hongqiye.com/doc/mockm/config/option.html
 * @type {import('mockm/@types/config').Config}
 */
module.exports = util => {
  return  {
    // 代理后端的接口, 如果没有可以不填
    proxy: {
      // 根结点
      '/': `https://httpbin.org/`,
      
      // 接口转发
      '/get': `https://www.httpbin.org/ip`,
      
      // 修改响应体中的 json
      '/anything/mid': [`headers.Host`, `xxxxxx`],

      // 使用函数修改响应体
      '/anything/proxy/fn':[({req, json}) => {
        return (json.method + req.method).toLowerCase() // getget
      }],
    },

    // 自己编写的接口
    api: {
      // 当为基本数据类型时, 直接返回数据, 这个接口返回 {"msg":"ok"}
      '/api/1': {msg: `ok`},

      // 也可以像 express 一样返回数据
      '/api/2' (req, res) {
        res.send({msg: `ok`})
      },

      // 一个只能使用 post 方法访问的接口
      'post /api/3': {msg: `ok`},

      // 一个 websocket 接口, 会发送收到的消息
      'ws /api/4' (ws, req) {
        ws.on(`message`, (msg) => ws.send(msg))
      },

      // 一个下载文件的接口
      '/file' (req, res) {
        res.download(__filename)
      },

      // 获取动态的接口路径的参数 code
      '/status/:code' (req, res) {
        res.json({statusCode: req.params.code})
      },
    },
    
    // 自动生成 Restful API
    db: {
      'users': util.libObj.mockjs.mock({
        'data|15-23': [ // 随机生成 15 至 23 条数据
          {
            'id|+1': 1, // id 从 1 开始自增
            name: `@cname`, // 随机生成中文名字
            'sex|1': [`男`, `女`, `保密`], // 性别从这三个选项中随机选择一个
          },
        ]
      }).data,
    },
  }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant