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
}