// 添加统一的返回结果方法 // 此代码将一个函数作为模块的导出内容,该函数很可能作为中间件在 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(); }