ip.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package model
  2. // TmpInfo old api will del soon
  3. type TmpInfo struct {
  4. Addr string `json:"addr"`
  5. ZoneID int64 `json:"zoneId"`
  6. Country string `json:"country"`
  7. Province string `json:"province"`
  8. City string `json:"city"`
  9. }
  10. // Info ipinfo with the smallest zone_id.
  11. type Info struct {
  12. Addr string `json:"addr"`
  13. Country string `json:"country"`
  14. Province string `json:"province"`
  15. City string `json:"city"`
  16. ISP string `json:"isp"`
  17. Latitude float64 `json:"latitude"`
  18. Longitude float64 `json:"longitude"`
  19. ZoneID int64 `json:"zoneId"`
  20. CountryCode int `json:"country_code"`
  21. }
  22. // InfoComplete ipinfo with all zone_id.
  23. type InfoComplete struct {
  24. Addr string `json:"addr"`
  25. Country string `json:"country"`
  26. Province string `json:"province"`
  27. City string `json:"city"`
  28. ISP string `json:"isp"`
  29. Latitude float64 `json:"latitude"`
  30. Longitude float64 `json:"longitude"`
  31. ZoneID []int64 `json:"zone_id"`
  32. CountryCode int `json:"country_code"`
  33. }
  34. // IP dont' use this, will del soon. use InfoComplete.
  35. type IP struct {
  36. Addr string `json:"addr"`
  37. Country string `json:"country"`
  38. Province string `json:"province"`
  39. City string `json:"city"`
  40. ISP string `json:"isp"`
  41. ZoneID []int64 `json:"zone_id"`
  42. }
  43. // Version for check ip library.
  44. type Version struct {
  45. UpdateTimeV4 string `json:"ipv4_flagship_ipdb_update_time"`
  46. NewestV4 string `json:""ipv4_flagship_ipdb_newest_url`
  47. StableV4 string `json:"ipv4_flagship_ipdb_stable_url"`
  48. UpdateTimeV6 string `json:"ipv6_flagship_ipdb_update_time"`
  49. NewestV6 string `json:""ipv6_flagship_ipdb_newest_url`
  50. StableV6 string `json:"ipv6_flagship_ipdb_stable_url"`
  51. }