浏览代码

feat(http): 添加可自定义的回复函数功能

- 新增 ReplyFunc 类型,用于定义回复处理函数
- 添加默认回复函数 DefaultFunc,返回标准成功结构体
- 实现 SetReplyFunc 和 GetReplyFunc 函数,支持设置和获取当前回复函数
- 引入全局变量 reply 以存储当前使用的回复函数
- 提供灵活的回复机制,允许外部自定义响应格式
dcsunny 1 周之前
父节点
当前提交
fc8b91c043
共有 1 个文件被更改,包括 23 次插入0 次删除
  1. 23 0
      http/reply/reply.go

+ 23 - 0
http/reply/reply.go

@@ -5,3 +5,26 @@ type SuccessReply struct {
 	Message string      `json:"message"`
 	Data    interface{} `json:"data"`
 }
+
+type ReplyFunc func(req any) any
+
+var reply = DefaultFunc
+
+func DefaultFunc(out any) any {
+	success := &SuccessReply{
+		Code: 0,
+	}
+
+	if out != nil {
+		success.Data = out
+	}
+	return success
+}
+
+func SetReplyFunc(f ReplyFunc) {
+	reply = f
+}
+
+func GetReplyFunc() ReplyFunc {
+	return reply
+}