const mailSend = require('../util/mailSend'); const sys = require('../config/sys'); let api, adminMail; class OwnError extends Error { constructor(msg = '', code = 400, additional = undefined) { super(); this.msg = msg; this.code = code; this.additional = additional; } } function err(msg, code, additional) { throw (new OwnError(msg, code, additional)); } async function error(ctx, next) { try { ctx[api] = err; await next() } catch (e) { let body; if (e instanceof OwnError) { ctx.status = e.code body = { msg: e.msg, content: e.additional } } else { ctx.status = 500 body = { code: 500, msg: '系统发生错误,请稍后再试!' }; if (!sys.debug && adminMail) { await mailSend({ to: adminMail, subject: '4维时代公众号SDK平台错误提醒', html: `