UNPKG

dazjsx

Version:

参考nestjs,基于KOA2的一款轻量级的后端开发框架

47 lines (46 loc) 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ResponseMiddleware = void 0; const __1 = require(".."); const getCode = (status) => { let code = __1.CustomCode.SUCCESS_CODE; let st = status; switch (status) { case 401: code = __1.CustomCode.NO_AUTH; st = 200; break; case 404: code = __1.CustomCode.NOT_FOUND_CODE; st = 200; break; case 500: code = __1.CustomCode.ERROR_CODE; st = 200; break; } return { code, st }; }; const getMessage = (status, err) => { let message = 'ok'; switch (status) { case 404: message = '该接口不存在或已禁止使用,请确认后重试'; break; default: message = status !== 200 ? err || '未知异常,请联系管理员' : message; } return message; }; const ResponseMiddleware = async (ctx, next) => { const status = ctx.status; const message = getMessage(status, ctx.errorMessage); const { code, st } = getCode(status); ctx.status = st; ctx.body = { code, data: status === 200 ? ctx.proBody || null : undefined, message, }; }; exports.ResponseMiddleware = ResponseMiddleware;