123456789101112131415161718192021222324252627282930313233343536373839 |
- 'use strict';
- module.exports = {
- // 通用验证规则
- createCommonRule() {
- return {
- // { type: 'string', required: true, allowEmpty: false }
- startTime: { type: 'number', min: 0 }, // 开始时间的时间戳 包含
- endTime: { type: 'number', min: 0 }, // 结束时间的时间戳 不包含(客户端处理结束时间 下一日 ,下一月第一日 ,下一年第一日)
- type: [ '0', '1', '2' ], // 类型分为 0日 1月 2年
- };
- },
- validate(rules = this.createCommonRule(), data = undefined) {
- data = data || this.query || this.request.body || {};
- this.logger.info('参数', data);
- const errors = this.app.validator.validate(rules, data);
- if (errors) {
- this.throw(422, '参数校验失败', {
- // code: 'invalid_param',
- errors,
- });
- }
- if (data.startTime && data.endTime && data.startTime > data.endTime) {
- this.throw(400, '开始时间不能小于结束时间');
- }
- return data;
- },
- success({ data = null, msg = '请求成功' }) {
- this.logger.info('请求成功', data);
- this.body = {
- code: 0,
- data,
- msg,
- };
- this.status = 200;
- },
- };
|