mm.config.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. const api = require(`./api/index.js`)
  2. const { wrapApiData } = require(`./util.js`)
  3. /**
  4. * 配置说明请参考文档:
  5. * https://hongqiye.com/doc/mockm/config/option.html
  6. * @type {import('mockm/@types/config').Config}
  7. */
  8. module.exports = util => {
  9. return {
  10. guard: false,
  11. port: 9000,
  12. testPort: 9005,
  13. replayPort: 9001,
  14. watch: [`./api/`],
  15. apiWeb: `./apiWeb.json`,
  16. proxy: {
  17. '/': `http://192.168.1.192:8080/`, // 后端接口主域
  18. '/anything/intercept': [`origin`, `127.0.0.1`], // 修改接口返回的数据
  19. },
  20. api: {
  21. // 在其他文件里的 api
  22. ...api(util).api,
  23. // 当为基本数据类型时, 直接返回数据, 这个接口返回 {"msg":"ok"}
  24. '/api/1': {msg: `ok`},
  25. // 也可以像 express 一样返回数据
  26. '/api/2' (req, res) {
  27. res.send({msg: `ok`})
  28. },
  29. // 一个只能使用 post 方法访问的接口
  30. 'post /api/3': {msg: `ok`},
  31. // // 一个 websocket 接口, 会发送收到的消息
  32. // 'ws /api/4' (ws, req) {
  33. // ws.on('message', (msg) => ws.send(msg))
  34. // },
  35. // 一个下载文件的接口
  36. '/file' (req, res) {
  37. res.download(__filename, `mm.config.js`)
  38. },
  39. // 获取动态的接口路径的参数 code
  40. '/status/:code' (req, res) {
  41. res.json({statusCode: req.params.code})
  42. },
  43. // 使用 mockjs 生成数据
  44. '/user' (req, res) {
  45. const json = util.libObj.mockjs.mock({
  46. 'data|3-7': [{
  47. userId: `@id`,
  48. userName: `@cname`,
  49. }],
  50. })
  51. res.json(json)
  52. },
  53. },
  54. static: [],
  55. resHandleReplay: ({req, res}) => wrapApiData({code: 200, data: {}}),
  56. resHandleJsonApi: ({req, res: {statusCode: code}, data}) => wrapApiData({code, data}),
  57. }
  58. }