ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 一、概述 前后端分离开发的模式,会遇到这样的问题。后台给的接口文档,需要在本地模拟数据返回,直接的办法是新建一个test.json文件,放入接口文档中写的返回示例,这么做有个很大的问题是不够灵活,而且还需要切换url。 >[danger] > 1、用mock.js不需要修改既有代码,就可以拦截 Ajax 请求,更加方便的构造你需要的假数据; ## 二、安装 ``` npm install mockjs ``` ## 三、实例 1、普通模拟数据; ``` // 使用 Mock var Mock = require('mockjs') var data = Mock.mock({ // 属性 list 的值是一个数组,其中含有 1 到 10 个元素 'list|1-10': [{ // 属性 id 是一个自增数,起始值为 1,每次增 1 'id|+1': 1 }] }) // 输出结果 console.log(JSON.stringify(data, null, 4)) ``` 2、与axios请求整合; ``` const login = (options) => { const body = getBody(options) if (!username.includes(body.username) || !password.includes(body.password)) { return builder({ isLogin: true }, '账户或密码错误', 401) } const builderData = builder({ 'id': Mock.mock('@guid'), 'name': Mock.mock('@name'), 'username': 'admin', 'password': '', 'telephone': '', }, '', 100, { 'Custom-Header': Mock.mock('@guid') }) return builderData } Mock.mock(/\/auth\/login/, 'post', login) ``` 将/auth/login请求地址映射到login返回值;