1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 'use strict';
- const routerMethod = require('../../config/routerMethod');
- const routerMondel = require('../../config/routerMondel');
- module.exports = () => {
- return async function errorHandler(ctx, next) {
- let jsons = { };
- const { url, method, body } = ctx.request;
- if (method !== 'GET') {
- const str = url.split('/');
- let mondel;
- let method;
- for (let i = 0; i < str.length; i++) {
- const e = str[i];
- if (e !== '' && e !== 'api') {
- if (e === 'create' || e === 'update' || e === 'delete') {
- method = routerMethod[e];
- if (e === 'delete') {
- break;
- }
- } else {
- mondel = routerMondel[e];
- }
- }
- }
- jsons = { mondel, method, data: body };
- }
- try {
- await next();
- if (method !== 'GET') {
- jsons.result = '成功';
- await ctx.service.log.create(jsons);
- }
- } catch (err) {
- if (method !== 'GET') {
- jsons.result = '失败';
- await ctx.service.log.create(jsons);
- }
- const { message } = err;
- let json = {
- errcode: -1001,
- errmsg: message,
- };
- if (err.code !== 'ERR_ASSERTION') {
- json = JSON.parse(message);
- }
- ctx.body = json;
- ctx.status = 400;
- }
- };
- };
|