package admin import ( "html/template" . "jy/mongodbutil" . "jy/router" "strconv" "github.com/gin-gonic/gin" ) var Admin = Router.Group("/admin") func init() { gin.SetMode("") Admin.Use(AuthMiddleWare()) Router.SetFuncMap(template.FuncMap{ "session": func(key string) string { return "" }, "add": func(a, b int) int { return a + b }, }) Router.LoadHTMLGlob("web/templates/admin/*") //获取字段列表 Admin.POST("/getfields", func(c *gin.Context) { list, b := Mgo.Find("fields", `{}`, `{"_id":-1}`, nil, false, -1, -1) if b && list != nil { for _, v := range *list { v["_id"] = v["s_field"] v["s_name"] = v["s_name"] } } data := []map[string]interface{}{map[string]interface{}{"_id": "", "s_name": ""}} data = append(data, *list...) c.JSON(200, gin.H{"data": data}) }) } func GetPostForm(c *gin.Context) map[string]interface{} { val := map[string]interface{}{} r := c.Request r.ParseForm() for k, _ := range r.Form { if len(k) < 2 { continue } if k != "_id" { v := r.FormValue(k) switch k[:2] { case "s_": //string型 val[k] = v case "l_": //int64位 val[k], _ = strconv.ParseInt(v, 10, 64) case "i_": //int型 val[k], _ = strconv.Atoi(v) default: if v == "true" || v == "false" { b, _ := strconv.ParseBool(v) val[k] = b } else { val[k] = v } } } } return val }