Blame view
mock/index.js
1.96 KB
80a28914e init |
1 |
import Mock from 'mockjs' |
a86b16bba auto commit the c... |
2 3 4 |
import { param2Obj } from '../src/utils' |
80a28914e init |
5 6 |
import user from './user' |
d7d9c38c2 auto commit the c... |
7 |
import role from './role' |
a86b16bba auto commit the c... |
8 |
import prod from './prod' |
d7d9c38c2 auto commit the c... |
9 10 |
import article from './article' import search from './remote-search' |
a86b16bba auto commit the c... |
11 |
//因为没有Mock上,所以会请求不到数据。报404 |
80a28914e init |
12 13 |
const mocks = [ ...user, |
d7d9c38c2 auto commit the c... |
14 15 |
...role, ...article, |
a86b16bba auto commit the c... |
16 |
...prod, |
d7d9c38c2 auto commit the c... |
17 |
...search |
80a28914e init |
18 19 20 21 22 23 24 25 26 |
] // for front mock // please use it cautiously, it will redefine XMLHttpRequest, // which will cause many of your third-party libraries to be invalidated(like progress event). export function mockXHR() { // mock patch // https://github.com/nuysoft/Mock/issues/300 Mock.XHR.prototype.proxy_send = Mock.XHR.prototype.send |
a86b16bba auto commit the c... |
27 |
Mock.XHR.prototype.send = function () { |
80a28914e init |
28 29 30 31 32 33 34 35 36 37 38 |
if (this.custom.xhr) { this.custom.xhr.withCredentials = this.withCredentials || false if (this.responseType) { this.custom.xhr.responseType = this.responseType } } this.proxy_send(...arguments) } function XHR2ExpressReqWrap(respond) { |
a86b16bba auto commit the c... |
39 |
return function (options) { |
80a28914e init |
40 41 |
let result = null if (respond instanceof Function) { |
a86b16bba auto commit the c... |
42 43 44 45 46 |
const { body, type, url } = options |
80a28914e init |
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
// https://expressjs.com/en/4x/api.html#req result = respond({ method: type, body: JSON.parse(body), query: param2Obj(url) }) } else { result = respond } return Mock.mock(result) } } for (const i of mocks) { Mock.mock(new RegExp(i.url), i.type || 'get', XHR2ExpressReqWrap(i.response)) } } // for mock server const responseFake = (url, type, respond) => { return { url: new RegExp(`${process.env.VUE_APP_BASE_API}${url}`), type: type || 'get', response(req, res) { console.log('request invoke:' + req.path) res.json(Mock.mock(respond instanceof Function ? respond(req, res) : respond)) } } } export default mocks.map(route => { return responseFake(route.url, route.type, route.response) }) |