node 接口返回封装

2,016 阅读1分钟

每个公司基本都会有一套接口返回的固定格式,大致一般包含

{
    success: true/false, // 表示获取数据是否成功
    result/data: {}/[], // 返回的数据主体
    code: 200, // 代表错误码
    resultDes/msg: 'wrong message', // 代表错误信息描述
}

那么当我们在node层处理数据的时候要按照约定的格式返回给前端,但是不想每次都人肉写这么一串,就需要封装一下,写个公用类,把主要数据扔进去处理一下即可。

'use strict'

class Result {
    // 给写默认值好处理
    constructor({ code:200, msg = 'ok' } = {}) {
        // 定义一些常用的错误信息返回,
        // 可以在其他文件定义好引进来,方便管理
        this.msg = Object.assign({ code: msg }, {
            10000: 'missing parammeter',
            10001: 'parameter type is wrong',
            10002: 'you do not have right to edit this page',
        });
    }
    successFn(result) {
      return {
        success: true,
        result,
      };
    }
    fail(code) {
      return {
        success: false,
        code,
        msg: this.msg[code],
      };
    }
}