plm前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.4 KiB

2 years ago
  1. import Mock from 'mockjs'
  2. import * as common from './modules/common'
  3. import * as jobSchedule from './modules/job-schedule'
  4. import * as oss from './modules/oss'
  5. import * as sysConfig from './modules/sys-config'
  6. import * as sysLog from './modules/sys-log'
  7. import * as sysMenu from './modules/sys-menu'
  8. import * as sysRole from './modules/sys-role'
  9. import * as sysUser from './modules/sys-user'
  10. // tips
  11. // 1. 开启/关闭[业务模块]拦截, 通过调用fnCreate方法[isOpen参数]设置.
  12. // 2. 开启/关闭[业务模块中某个请求]拦截, 通过函数返回对象中的[isOpen属性]设置.
  13. fnCreate(common, false)
  14. fnCreate(jobSchedule, false)
  15. fnCreate(oss, false)
  16. fnCreate(sysConfig, false)
  17. fnCreate(sysLog, false)
  18. fnCreate(sysMenu, false)
  19. fnCreate(sysRole, false)
  20. fnCreate(sysUser, false)
  21. /**
  22. * 创建mock模拟数据
  23. * @param {*} mod 模块
  24. * @param {*} isOpen 是否开启?
  25. */
  26. function fnCreate (mod, isOpen = true) {
  27. if (isOpen) {
  28. for (var key in mod) {
  29. ((res) => {
  30. if (res.isOpen !== false) {
  31. Mock.mock(new RegExp(res.url), res.type, (opts) => {
  32. opts['data'] = opts.body ? JSON.parse(opts.body) : null
  33. delete opts.body
  34. console.log('\n')
  35. console.log('%cmock拦截, 请求: ', 'color:blue', opts)
  36. console.log('%cmock拦截, 响应: ', 'color:blue', res.data)
  37. return res.data
  38. })
  39. }
  40. })(mod[key]() || {})
  41. }
  42. }
  43. }