flow.js 882 B

12345678910111213141516171819202122232425262728293031
  1. 'use strict';
  2. const _ = require('lodash');
  3. const moment = require('moment');
  4. const statusOpera = {
  5. 0: '保存为草稿',
  6. 1: '提交审核',
  7. 2: '审核通过',
  8. 3: '审核拒绝',
  9. };
  10. module.exports = options => {
  11. return async function flow(ctx, next) {
  12. // 记录申请流程的中间件
  13. await next();
  14. const body = ctx.response.body;
  15. const { data } = body;
  16. const status = data.status;
  17. console.log(status); // 2的情况应该生成副本
  18. // 获取当前状态应该是什么样的描述
  19. const desc = statusOpera[status];
  20. const id = data._id || data.id;
  21. const record = data.record || [];
  22. record.push({ desc, time: moment().format('YYYY-MM-DD HH:mm:ss') });
  23. try {
  24. // 加记录,不需要等待
  25. ctx.service.apply.update({ id }, { record });
  26. } catch (error) {
  27. console.log('记录添加失败');
  28. }
  29. };
  30. };