callbacklogic.go 758 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package callback
  2. import (
  3. "context"
  4. "fmt"
  5. "net/http"
  6. "callback/internal/svc"
  7. "callback/internal/types"
  8. "github.com/zeromicro/go-zero/core/logx"
  9. )
  10. type CallbackLogic struct {
  11. logx.Logger
  12. ctx context.Context
  13. svcCtx *svc.ServiceContext
  14. }
  15. func NewCallbackLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CallbackLogic {
  16. return &CallbackLogic{
  17. Logger: logx.WithContext(ctx),
  18. ctx: ctx,
  19. svcCtx: svcCtx,
  20. }
  21. }
  22. func (l *CallbackLogic) Callback(req *types.CallbackRequest, w http.ResponseWriter) (err error) {
  23. wxcpt := l.svcCtx.Wxcpt
  24. echoStr, cryptErr := wxcpt.VerifyURL(req.MsgSignature, req.Timestamp, req.Nonce, req.Echostr)
  25. if nil != cryptErr {
  26. fmt.Println("verifyUrl fail", cryptErr)
  27. }
  28. _, err = w.Write(echoStr)
  29. return
  30. }