context.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. 'use strict';
  2. module.exports = {
  3. // 通用验证规则
  4. createCommonRule() {
  5. return {
  6. // { type: 'string', required: true, allowEmpty: false }
  7. startTime: { type: 'number', min: 0 }, // 开始时间的时间戳 包含
  8. endTime: { type: 'number', min: 0 }, // 结束时间的时间戳 不包含(客户端处理结束时间 下一日 ,下一月第一日 ,下一年第一日)
  9. type: [ '0', '1', '2' ], // 类型分为 0日 1月 2年
  10. };
  11. },
  12. validate(rules = this.createCommonRule(), data = undefined) {
  13. data = data || this.query || this.request.body || {};
  14. this.logger.info('参数', data);
  15. const errors = this.app.validator.validate(rules, data);
  16. if (errors) {
  17. this.throw(422, '参数校验失败', {
  18. // code: 'invalid_param',
  19. errors,
  20. });
  21. }
  22. if (data.startTime && data.endTime && data.startTime > data.endTime) {
  23. this.throw(400, '开始时间不能小于结束时间');
  24. }
  25. return data;
  26. },
  27. success({ data = null, msg = '请求成功' }) {
  28. this.logger.info('请求成功', data);
  29. this.body = {
  30. code: 0,
  31. data,
  32. msg,
  33. };
  34. this.status = 200;
  35. },
  36. };