|
@@ -0,0 +1,28 @@
|
|
|
+'use strict';
|
|
|
+const _ = require('lodash');
|
|
|
+module.exports = options => {
|
|
|
+ return async function errorEmail(ctx, next) {
|
|
|
+ console.log('line 5 in function:');
|
|
|
+ try {
|
|
|
+ await next();
|
|
|
+
|
|
|
+ } catch (e) {
|
|
|
+ let errcode = -1,
|
|
|
+ errmsg = '服务发生错误',
|
|
|
+ details;
|
|
|
+ const emailData = {};
|
|
|
+ if (_.isNumber(e.errcode)) {
|
|
|
+ errcode = _.get(e, 'errcode');
|
|
|
+ errmsg = _.get(e, 'errmsg');
|
|
|
+ details = _.get(e, 'details');
|
|
|
+ emailData.errmsg = errmsg;
|
|
|
+ emailData.details = details;
|
|
|
+ } else {
|
|
|
+ emailData.errmsg = e.stack;
|
|
|
+ }
|
|
|
+ emailData.errcode = errcode;
|
|
|
+ ctx.service.util.email.errorEmail(emailData);
|
|
|
+ ctx.fail(errcode, errmsg, details);
|
|
|
+ }
|
|
|
+ };
|
|
|
+};
|