Blame view

src/mock/index.js 1.72 KB
e7ab2c09a   alexYang   权限部分
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
  import Mock from 'mockjs'
  import { baseUrl } from '@/utils/global'
  import * as login from './modules/login'
  import * as user from './modules/user'
  import * as role from './modules/role'
  import * as dept from './modules/dept'
  import * as menu from './modules/menu'
  import * as dict from './modules/dict'
  import * as config from './modules/config'
  import * as log from './modules/log'
  import * as loginlog from './modules/loginlog'
  
  // 1. 开启/关闭[所有模块]拦截, 通过调[openMock参数]设置.
  // 2. 开启/关闭[业务模块]拦截, 通过调用fnCreate方法[isOpen参数]设置.
  // 3. 开启/关闭[业务模块中某个请求]拦截, 通过函数返回对象中的[isOpen属性]设置.
  let openMock = true
  // let openMock = false
  fnCreate(login, openMock)
  fnCreate(user, openMock)
  fnCreate(role, openMock)
  fnCreate(dept, openMock)
  fnCreate(menu, openMock)
  fnCreate(dict, openMock)
  fnCreate(config, openMock)
  fnCreate(log, openMock)
  fnCreate(loginlog, openMock)
  
  /**
   * 创建mock模拟数据
   * @param {*} mod 模块
   * @param {*} isOpen 是否开启?
   */
  function fnCreate (mod, isOpen = true) {
    
    if (isOpen) {
      for (var key in mod) {
        ((res) => {
          if (res.isOpen !== false) {
            let url = baseUrl
            if(!url.endsWith("/")) {
              url = url + "/"
            }
            url = url + res.url
            Mock.mock(new RegExp(url), res.type, (opts) => {
              opts['data'] = opts.body ? JSON.parse(opts.body) : null
              delete opts.body
              console.log('
  ')
              console.log('%cmock拦截, 请求: ', 'color:blue', opts)
              console.log('%cmock拦截, 响应: ', 'color:blue', res.data)
              return res.data
            })
          }
        })(mod[key]() || {})
      }
    }
  }