// 添加统一的返回结果方法
// 此代码将一个函数作为模块的导出内容，该函数很可能作为中间件在 Express 等 Node.js 的 Web 框架中使用，
// 目的是为响应对象（res）添加一个自定义的 `sendResult` 方法，用于统一格式化返回给客户端的结果数据。
module.exports = function (req, res, next) {
    // 为响应对象（res）添加 `sendResult` 方法，用于按照特定格式向客户端返回结果数据，
    // 该方法接收要返回的数据（data）、状态码（code）以及提示消息（message）作为参数。
    res.sendResult = function (data, code, message) {
        // 获取请求对象（req）中查询参数（query）里名为 `fmt` 的参数值，若不存在则默认为 "rest"，
        // 这个参数用于指定返回结果的格式，这里根据不同的值可以实现不同的返回格式逻辑（目前仅实现了 "rest" 格式）。
        var fmt = req.query.fmt? req.query.fmt : "rest";
        // 判断返回结果的格式是否为 "rest"，如果是，则按照相应的 JSON 格式进行数据组装并返回给客户端。
        if (fmt == "rest") {
            res.json(
                {
                    // 将传入的要返回的数据（data）放置在 "data" 字段下。
                    "data": data,
                    "meta": {
                        // 将传入的提示消息（message）放置在 "meta" 字段下的 "msg" 子字段中，用于告知客户端相关操作的提示信息。
                        "msg": message,
                        // 将传入的状态码（code）放置在 "meta" 字段下的 "status" 子字段中，用于告知客户端操作的状态，比如 200 表示成功，400 表示客户端错误等。
                        "status": code
                    }
                });
        }
    };
    // 调用 `next` 函数，将请求传递给下一个中间件继续处理，遵循 Express 等框架中间件的执行顺序和规范，
    // 保证整个请求处理流程能够继续进行下去。
    next();
}