doc.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. const express = require('express');
  2. const _ = require('lodash');
  3. const { query, body } = require('express-validator');
  4. const { onSuccess, fill } = require('../../../utils');
  5. const { limit } = require('../../config');
  6. const check = require('../../../middleware/check');
  7. const Doc = require('../../../db/models/doc');
  8. const router = express.Router();
  9. async function fillSingle(data) {
  10. return data;
  11. }
  12. /**
  13. * showdoc
  14. * @catalog v1/商家/服务中心文档
  15. * @title 服务中心文档列表
  16. * @description 服务中心文档列表接口
  17. * @method GET
  18. * @url /business/doc/
  19. * @param page 0 Int 页码: 不传默认取第1页数据,每页20条数据
  20. * @return {"code":0, "count":1, "data": []}
  21. * @return_param id integer id
  22. * @return_param name string 文档名
  23. * @return_param content text 内容
  24. * @return_param status boolean 状态
  25. * @return_param createdAt date -
  26. * @return_param updatedAt date -
  27. * @remark
  28. * @number
  29. */
  30. router.get('/', async (req, res) => {
  31. const { page = 0 } = req.query;
  32. const where = _.omit(req.query, ['page']);
  33. const info = onSuccess();
  34. where.status = true;
  35. info.data = await Doc.findAll({ where, limit, offset: page * limit });
  36. info.data = await fill(info.data, fillSingle);
  37. if (!page) {
  38. info.count = await Doc.count({ where });
  39. }
  40. res.send(info);
  41. });
  42. /**
  43. * showdoc
  44. * @catalog v1/商家/服务中心文档
  45. * @title 服务中心文档详情
  46. * @description
  47. * @method GET
  48. * @url /business/doc/:id
  49. * @param :id 1 STRING 详情ID
  50. * @return {"code":0, "data": {}}
  51. * @return_param id integer id
  52. * @return_param name string 文档名
  53. * @return_param content text 内容
  54. * @return_param status boolean 状态
  55. * @return_param createdAt date -
  56. * @return_param updatedAt date -
  57. * @remark
  58. * @number
  59. */
  60. router.get('/:id', async (req, res) => {
  61. let data = await Doc.findOne({ where: req.params });
  62. data = await fill(data, fillSingle);
  63. res.send(onSuccess(data));
  64. });
  65. module.exports = router;