dbtables.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package tools
  2. import (
  3. "net/http"
  4. "github.com/gin-gonic/gin"
  5. "device-manage/app/admin/models/tools"
  6. tools2 "device-manage/tools"
  7. "device-manage/tools/app"
  8. "device-manage/tools/config"
  9. )
  10. // @Summary 分页列表数据 / page list data
  11. // @Description 数据库表分页列表 / database table page list
  12. // @Tags 工具 / Tools
  13. // @Param tableName query string false "tableName / 数据表名称"
  14. // @Param pageSize query int false "pageSize / 页条数"
  15. // @Param pageIndex query int false "pageIndex / 页码"
  16. // @Success 200 {object} app.Response "{"code": 200, "data": [...]}"
  17. // @Router /api/v1/db/tables/page [get]
  18. func GetDBTableList(c *gin.Context) {
  19. var res app.Response
  20. var data tools.DBTables
  21. var err error
  22. var pageSize = 10
  23. var pageIndex = 1
  24. if config.DatabaseConfig.Driver == "sqlite3" || config.DatabaseConfig.Driver == "postgres" {
  25. res.Msg = "对不起,sqlite3 或 postgres 不支持代码生成!"
  26. c.JSON(http.StatusOK, res.ReturnError(500))
  27. return
  28. }
  29. if size := c.Request.FormValue("pageSize"); size != "" {
  30. pageSize, err = tools2.StringToInt(size)
  31. }
  32. if index := c.Request.FormValue("pageIndex"); index != "" {
  33. pageIndex, err = tools2.StringToInt(index)
  34. }
  35. data.TableName = c.Request.FormValue("tableName")
  36. result, count, err := data.GetPage(pageSize, pageIndex)
  37. tools2.HasError(err, "", -1)
  38. var mp = make(map[string]interface{}, 3)
  39. mp["list"] = result
  40. mp["count"] = count
  41. mp["pageIndex"] = pageIndex
  42. mp["pageSize"] = pageSize
  43. res.Data = mp
  44. c.JSON(http.StatusOK, res.ReturnOK())
  45. }