ip.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package controller
  2. import (
  3. "git.wanbits.cc/sin/flytalk/config"
  4. "git.wanbits.cc/sin/flytalk/models"
  5. "github.com/gin-gonic/gin"
  6. "strconv"
  7. )
  8. func PostIpblack(c *gin.Context) {
  9. ip := c.PostForm("ip")
  10. if ip == "" {
  11. c.JSON(200, gin.H{
  12. "code": 400,
  13. "msg": "请输入IP!",
  14. })
  15. return
  16. }
  17. kefuId, _ := c.Get("kefu_name")
  18. models.CreateIpblack(ip, kefuId.(string))
  19. c.JSON(200, gin.H{
  20. "code": 200,
  21. "msg": "添加黑名单成功!",
  22. })
  23. }
  24. func DelIpblack(c *gin.Context) {
  25. ip := c.Query("ip")
  26. if ip == "" {
  27. c.JSON(200, gin.H{
  28. "code": 400,
  29. "msg": "请输入IP!",
  30. })
  31. return
  32. }
  33. models.DeleteIpblackByIp(ip)
  34. c.JSON(200, gin.H{
  35. "code": 200,
  36. "msg": "删除黑名单成功!",
  37. })
  38. }
  39. func GetIpblacks(c *gin.Context) {
  40. page, _ := strconv.Atoi(c.Query("page"))
  41. if page == 0 {
  42. page = 1
  43. }
  44. count := models.CountIps(nil, nil)
  45. list := models.FindIps(nil, nil, uint(page), config.VisitorPageSize)
  46. c.JSON(200, gin.H{
  47. "code": 200,
  48. "msg": "ok",
  49. "result": gin.H{
  50. "list": list,
  51. "count": count,
  52. "pagesize": config.PageSize,
  53. },
  54. })
  55. }