diff --git a/internal/server/router/router.go b/internal/server/router/router.go index 349a1ec..d8c8c73 100644 --- a/internal/server/router/router.go +++ b/internal/server/router/router.go @@ -69,7 +69,7 @@ func SetupRoutes(app *fiber.App, ChatService *services.ChatService, sessionServi // 回调 r.Post("/callback", callbackService.Callback) // 钉钉机器人回调 - r.Get("/callback/dingtalk-robot", callbackService.CallbackDingtalkRobot) + r.Post("/callback/dingtalk-robot", callbackService.CallbackDingtalkRobot) // 企业微信回调 r.Get("/qywx/callback", callbackService.QywxCallback) //广播 diff --git a/internal/services/callback.go b/internal/services/callback.go index dde5a97..864d1f2 100644 --- a/internal/services/callback.go +++ b/internal/services/callback.go @@ -367,21 +367,9 @@ func getString(str, endstr string, start int, msg *string) int { // CallbackDingtalkRobot 钉钉机器人回调 func (s *CallbackService) CallbackDingtalkRobot(c *fiber.Ctx) (err error) { - // query 中获取 dev 参数 - 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 校验 - isDev := params["dev"] - - if isDev != "1" { + // header 中获取 X-IsDev 参数 + isDev := c.Request().Header.Peek("X-IsDev") + if string(isDev) != "1" { // 非开发环境,直接返回 return nil }