123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // +----------------------------------------------------------------------
- // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2016~2024 https://www.crmeb.com All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
- // +----------------------------------------------------------------------
- // | Author: CRMEB Team <admin@crmeb.com>
- // +----------------------------------------------------------------------
- import Mock from 'mockjs'
- import { param2Obj } from '../src/utils'
- import user from './user'
- import role from './role'
- import article from './article'
- import search from './remote-search'
- const mocks = [
- ...user,
- ...role,
- ...article,
- ...search
- ]
- // 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
- Mock.XHR.prototype.send = function() {
- 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) {
- return function(options) {
- let result = null
- if (respond instanceof Function) {
- const { body, type, url } = options
- // 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))
- }
- }
- export default mocks
|