errorEmail.js 742 B

12345678910111213141516171819202122232425262728
  1. 'use strict';
  2. const _ = require('lodash');
  3. module.exports = options => {
  4. return async function errorEmail(ctx, next) {
  5. console.log('line 5 in function:');
  6. try {
  7. await next();
  8. } catch (e) {
  9. let errcode = -1,
  10. errmsg = '服务发生错误',
  11. details;
  12. const emailData = {};
  13. if (_.isNumber(e.errcode)) {
  14. errcode = _.get(e, 'errcode');
  15. errmsg = _.get(e, 'errmsg');
  16. details = _.get(e, 'details');
  17. emailData.errmsg = errmsg;
  18. emailData.details = details;
  19. } else {
  20. emailData.errmsg = e.stack;
  21. }
  22. emailData.errcode = errcode;
  23. ctx.service.util.email.errorEmail(emailData);
  24. ctx.fail(errcode, errmsg, details);
  25. }
  26. };
  27. };