larksuite / oapi-sdk-go

larksuite oapi sdk by golang
MIT License
417 stars 85 forks source link

在 Gin框架的消息处理器中 如何在路由中进行多应用管理 #121

Closed LinLiang66 closed 10 months ago

LinLiang66 commented 10 months ago

import ( "context" "fmt"

 "github.com/gin-gonic/gin"
 "github.com/larksuite/oapi-sdk-gin"
 "github.com/larksuite/oapi-sdk-go/v3/card"
 "github.com/larksuite/oapi-sdk-go/v3/core"
 "github.com/larksuite/oapi-sdk-go/v3/event/dispatcher"
 "github.com/larksuite/oapi-sdk-go/v3/service/contact/v3"
 "github.com/larksuite/oapi-sdk-go/v3/service/im/v1"

)

func main() { // 注册消息处理器 handler := dispatcher.NewEventDispatcher("verificationToken", "eventEncryptKey").OnP2MessageReceiveV1(func(ctx context.Context, event larkim.P2MessageReceiveV1) error { fmt.Println(larkcore.Prettify(event)) fmt.Println(event.RequestId()) return nil }).OnP2MessageReadV1(func(ctx context.Context, event larkim.P2MessageReadV1) error { fmt.Println(larkcore.Prettify(event)) fmt.Println(event.RequestId()) return nil }).OnP2UserCreatedV3(func(ctx context.Context, event *larkcontact.P2UserCreatedV3) error { fmt.Println(larkcore.Prettify(event)) fmt.Println(event.RequestId()) return nil })

...

// 在已有 Gin 实例上注册消息处理路由
gin.POST("/webhook/event", sdkginext.NewEventHandlerFunc(handler))

}

请问 以上消息处理器注册 如何 在路由中 根据appid 去本地缓存中获取到 verificationToken 和 eventEncryptKey 再进行注册处理

LinLiang66 commented 10 months ago

问题已解决