context.js 856 B

1234567891011121314151617181920212223242526272829303132333435
  1. 'use strict';
  2. const is = require('is-type-of');
  3. const { isString } = require('util');
  4. const { ErrorCode } = require('naf-core').Error;
  5. // this 就是 ctx 对象,在其中可以调用 ctx 上的其他方法,或访问属性
  6. module.exports = {
  7. get requestparam() {
  8. return { ...this.query, ...this.request.body };
  9. },
  10. // 返回JSON结果
  11. json(errcode = 0, errmsg = 'ok', data = {}) {
  12. if (is.object(errmsg)) {
  13. data = errmsg;
  14. errmsg = 'ok';
  15. }
  16. this.body = { errcode, errmsg, ...data };
  17. },
  18. success(message = 'ok', data = {}) {
  19. this.json(0, message, data);
  20. },
  21. fail(errcode, errmsg, details) {
  22. if (isString(errcode)) {
  23. this.json(ErrorCode.BUSINESS, errcode, errmsg);
  24. } else {
  25. this.json(errcode, errmsg, { details });
  26. }
  27. },
  28. ok(message, data) {
  29. this.success(message, data);
  30. },
  31. };