服务端

第三方平台推送事件

公众号第三方平台推送的有四个事件:

如已经授权的公众号、小程序再次进行授权,而未修改已授权的权限的话,是没有相关事件推送的。

  • 授权成功 authorized
  • 授权更新 updateauthorized
  • 授权取消 unauthorized
  • VerifyTicket component_verify_ticket

处理component_verify_ticket

  1. rs, err := services.OpenPlatformApp.Server.Notify(context.Request, func(event *openplatform.Callback, decrypted []byte) (result interface{}) {
  2. result = kernel.SUCCESS_EMPTY_RESPONSE
  3. //fmt.Dump(event)
  4. msg := &openplatform.EventVerifyTicket{}
  5. err = xml.Unmarshal(decrypted, msg)
  6. if err != nil {
  7. return err
  8. }
  9. fmt.Dump(msg)
  10. return result
  11. })
  12. if err != nil {
  13. panic(err)
  14. }
  15. err = rs.Send(context.Writer)
  16. if err != nil {
  17. panic(err)
  18. }

处理其他消息回调

  1. rs, err := services.OpenPlatformApp.Server.Notify(context.Request, func(event *openplatform.Callback, decrypted []byte) (result interface{}) {
  2. result = kernel.SUCCESS_EMPTY_RESPONSE
  3. msg := &openplatform.EventAuthorization{}
  4. err = xml.Unmarshal(decrypted, msg)
  5. if err != nil {
  6. return err
  7. }
  8. fmt.Dump(msg)
  9. return result
  10. })
  11. if err != nil {
  12. panic(err)
  13. }
  14. err = rs.Send(context.Writer)
  15. if err != nil {
  16. panic(err)
  17. }

使用示例

参考: PowerWechatTutorial