统一接口成功或失败返回格式
//成功返回
{
"code":200,
"msg":"success",
"data":{
"list":[]
}
}
//失败返回
{
"code":00,
"msg":""
}
调用
router.get('/',ctx=>{
//期望在api中通过如下方式返回数据
ctx.success({
items:[]
})
})
中间件
function routerResponse(option={}){
return function(ctx,next){
ctx.success = function (data) {
ctx.type = option.type || 'json'
ctx.body = {
code : option.successCode || 200,
msg : option.successMsg || 'success',
data : data
}
}
ctx.fail = function (msg,code) {
ctx.type = option.type || 'json'
ctx.body = {
code : code || option.failCode || 99,
msg : msg || option.successMsg || 'fail',
}
}
next()
}
}
module.exports= routerResponse
引用
const Koa = require('koa')
const app = new Koa()
let routerResponse = require('./middleware/routerResponse')
...
app.use(routerResponse())
...
app.listen(3031)
代码实例 [含注册登录,token,刷新token,授权相关功能] GitHub - r70kg/node_demo: node项目基本结构【mvc】 如有帮助 请start支持,感谢支持 ^_^