12345678910111213141516171819202122232425262728293031 |
- const debug = require('debug')('koa-weapp-demo')
- /**
- * 响应处理模块
- */
- module.exports = async function (ctx, next) {
- try {
- // 调用下一个 middleware
- await next()
- // 处理响应结果
- // 如果直接写入在 body 中,则不作处理
- // 如果写在 ctx.body 为空,则使用 state 作为响应
- ctx.body = ctx.body ? ctx.body : {
- code: ctx.state.code !== undefined ? ctx.state.code : 0,
- data: ctx.state.data !== undefined ? ctx.state.data : {}
- }
- } catch (e) {
- // catch 住全局的错误信息
- debug('Catch Error: %o', e)
- // 设置状态码为 200 - 服务端错误
- ctx.status = 200
- // 输出详细的错误信息
- ctx.body = {
- code: -1,
- error: e && e.message ? e.message : e.toString()
- }
- }
- }
|