From 9468037d66c5ebfe42d3a6e880108652fbba64b6 Mon Sep 17 00:00:00 2001 From: fuzhongyun <15339891972@163.com> Date: Thu, 22 Jan 2026 10:36:30 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/server/router/router.go | 2 ++ internal/services/callback.go | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/internal/server/router/router.go b/internal/server/router/router.go index 17fff12..ecfd1c3 100644 --- a/internal/server/router/router.go +++ b/internal/server/router/router.go @@ -68,6 +68,8 @@ func SetupRoutes(app *fiber.App, ChatService *services.ChatService, sessionServi r.Post("/chat/useful", ChatService.Useful) // 回调 r.Post("/callback", callbackService.Callback) + // 钉钉机器人回调 + r.Get("/callback/dingtalk-robot", callbackService.CallbackDingtalkRobot) // 回调 r.Get("/qywx/callback", callbackService.QywxCallback) //广播 diff --git a/internal/services/callback.go b/internal/services/callback.go index fe46028..2a58bd7 100644 --- a/internal/services/callback.go +++ b/internal/services/callback.go @@ -364,3 +364,25 @@ func getString(str, endstr string, start int, msg *string) int { *msg = str[start:end] return end + len(endstr) } + +// CallbackDingtalkRobot 钉钉机器人回调 +func (s *CallbackService) CallbackDingtalkRobot(c *fiber.Ctx) (err error) { + // 获取query中的参数 + query := c.Request().URI().QueryString() + str, _ := url.QueryUnescape(string(query)) + // 转map + params := make(map[string]string) + for _, param := range strings.Split(str, "&") { + kv := strings.Split(param, "=") + if len(kv) == 2 { + params[kv[0]] = kv[1] + } + } + // token 校验 + token := params["token"] + if token != "aB3dE7fG9hI2jK4L5M6N7O8P9Q0R1S2T" { + return fmt.Errorf("token not match") + } + + return nil +}