admin.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package admin
  2. import (
  3. "html/template"
  4. . "jy/mongodbutil"
  5. . "jy/router"
  6. "strconv"
  7. "github.com/gin-gonic/gin"
  8. )
  9. var Admin = Router.Group("/admin")
  10. func init() {
  11. gin.SetMode("")
  12. Admin.Use(AuthMiddleWare())
  13. Router.SetFuncMap(template.FuncMap{
  14. "session": func(key string) string {
  15. return ""
  16. },
  17. "add": func(a, b int) int {
  18. return a + b
  19. },
  20. })
  21. Router.LoadHTMLGlob("web/templates/admin/*")
  22. //获取字段列表
  23. Admin.POST("/getfields", func(c *gin.Context) {
  24. list, b := Mgo.Find("fields", `{}`, `{"_id":-1}`, nil, false, -1, -1)
  25. if b && list != nil {
  26. for _, v := range *list {
  27. v["_id"] = v["s_field"]
  28. v["s_name"] = v["s_name"]
  29. }
  30. }
  31. data := []map[string]interface{}{map[string]interface{}{"_id": "", "s_name": ""}}
  32. data = append(data, *list...)
  33. c.JSON(200, gin.H{"data": data})
  34. })
  35. }
  36. func GetPostForm(c *gin.Context) map[string]interface{} {
  37. val := map[string]interface{}{}
  38. r := c.Request
  39. r.ParseForm()
  40. for k, _ := range r.Form {
  41. if len(k) < 2 {
  42. continue
  43. }
  44. if k != "_id" {
  45. v := r.FormValue(k)
  46. switch k[:2] {
  47. case "s_": //string型
  48. val[k] = v
  49. case "l_": //int64位
  50. val[k], _ = strconv.ParseInt(v, 10, 64)
  51. case "i_": //int型
  52. val[k], _ = strconv.Atoi(v)
  53. default:
  54. if v == "true" || v == "false" {
  55. b, _ := strconv.ParseBool(v)
  56. val[k] = b
  57. } else {
  58. val[k] = v
  59. }
  60. }
  61. }
  62. }
  63. return val
  64. }