package admin import ( "html/template" . "jy/front" . "jy/mongodbutil" . "jy/router" qu "qfw/util" "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}) }) //获取城市列表 Admin.POST("/getcitys", func(c *gin.Context) { list, b := Mgo.Find("citys", `{}`, `{"_id":-1}`, nil, false, -1, -1) if b && list != nil { for _, v := range *list { v["s_field"] = "" } } data := []map[string]interface{}{map[string]interface{}{"_id": "", "s_name": ""}} data = append(data, *list...) c.JSON(200, gin.H{"data": data}) }) //获取省份列表 Admin.POST("/getprovinces", func(c *gin.Context) { list, b := Mgo.Find("province", `{}`, `{"_id":-1}`, nil, false, -1, -1) if b && list != nil { for _, v := range *list { v["s_field"] = "" } } data := []map[string]interface{}{map[string]interface{}{"_id": "", "s_name": ""}} data = append(data, *list...) c.JSON(200, gin.H{"data": data}) }) //获取抽取版本列表 Admin.POST("/getversions", func(c *gin.Context) { list, b := Mgo.Find("version", `{"delete":false}`, `{"_id":-1}`, `{"version":1}`, false, -1, -1) if b && list != nil { for _, v := range *list { v["_id"] = qu.BsonIdToSId(v["_id"]) v["s_name"] = v["version"] } } c.JSON(200, gin.H{"data": list}) }) //获取清理版本列表 Admin.POST("/getclearversions", func(c *gin.Context) { list, b := Mgo.Find("clearversion", `{"delete":false}`, `{"_id":-1}`, `{"clearversion":1}`, false, -1, -1) if b && list != nil { for _, v := range *list { v["_id"] = qu.BsonIdToSId(v["_id"]) v["s_name"] = v["clearversion"] } } c.JSON(200, gin.H{"data": list}) }) } 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 }