router.go 780 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package websocket
  2. import (
  3. "fmt"
  4. "github.com/gogf/gf/v2/util/gconv"
  5. )
  6. const (
  7. Error = "error"
  8. Login = "login"
  9. Join = "join"
  10. Quit = "quit"
  11. IsApp = "is_app"
  12. Ping = "ping"
  13. )
  14. // ProcessData 处理数据
  15. func ProcessData(client *Client, message []byte) {
  16. defer func() {
  17. if r := recover(); r != nil {
  18. fmt.Println("处理数据 stop", r)
  19. }
  20. }()
  21. request := &request{}
  22. err := gconv.Struct(message, request)
  23. if err != nil {
  24. fmt.Println("数据解析失败:", err)
  25. return
  26. }
  27. switch request.Event {
  28. case Login:
  29. LoginController(client, request)
  30. break
  31. case Join:
  32. JoinController(client, request)
  33. break
  34. case Quit:
  35. QuitController(client, request)
  36. break
  37. case IsApp:
  38. IsAppController(client)
  39. break
  40. case Ping:
  41. PingController(client)
  42. break
  43. }
  44. }