canal.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package http
  2. import (
  3. "go-common/library/ecode"
  4. "go-common/library/log"
  5. bm "go-common/library/net/http/blademaster"
  6. )
  7. func errors(c *bm.Context) {
  8. type result struct {
  9. Error string `json:"error"`
  10. InstanceError map[string]string `json:"instance_error"`
  11. }
  12. res := result{
  13. Error: cs.Error(),
  14. InstanceError: cs.Errors(),
  15. }
  16. c.JSON(res, nil)
  17. }
  18. func checkMaster(c *bm.Context) {
  19. arg := new(struct {
  20. Addr string `form:"addr" validate:"required"`
  21. User string `form:"user" validate:"required"`
  22. Password string `form:"password" validate:"required"`
  23. })
  24. if err := c.Bind(arg); err != nil {
  25. return
  26. }
  27. name, pos, err := cs.CheckMaster(arg.Addr, arg.User, arg.Password)
  28. if err != nil {
  29. c.JSON(nil, ecode.AccessDenied)
  30. return
  31. }
  32. res := map[string]interface{}{"name": name, "pos:": pos}
  33. c.JSON(res, nil)
  34. }
  35. func syncPos(c *bm.Context) {
  36. arg := new(struct {
  37. Addr string `form:"addr" validate:"required"`
  38. })
  39. if err := c.Bind(arg); err != nil {
  40. log.Error("syncpos params err %v", err)
  41. return
  42. }
  43. c.JSON(nil, cs.PosSync(arg.Addr))
  44. }