code

package
v1.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ColumnDataType = map[string]string{

	"real": "number",

	"int":      "number",
	"float":    "number",
	"double":   "number",
	"decimal":  "number",
	"char":     "text",
	"text":     "text",
	"blob":     "text",
	"date":     "time",
	"time":     "time",
	"year":     "time",
	"geometry": "gis",
}
View Source
var ColumnNameType = []ColumnShow{

	{"idcard", false, true, true, false, "", false},
	{"id", true, false, true, false, "", true},
	{"parent_id", true, true, true, false, "", true},

	{"status", true, true, true, false, "select", false},
	{"state", true, true, true, false, "select", false},
	{"sex", true, true, true, false, "select", false},
	{"delete", false, false, false, false, "", false},

	{"lat", false, true, true, false, "", false},
	{"lng", false, true, true, false, "", false},
	{"latitude", false, true, true, false, "", false},
	{"longitude", false, true, true, false, "", false},

	{"index", false, false, false, false, "index", false},
	{"password", false, true, false, false, "password", false},
	{"pwd", false, true, false, false, "password", false},
	{"info", false, true, true, false, "", false},
	{"version", false, false, false, false, "", false},
	{"seq", false, true, true, false, "", false},
	{"sort", false, true, true, false, "", false},
	{"note", false, true, true, false, "", false},
	{"description", false, true, true, false, "", false},
	{"abstract", false, true, true, false, "", false},
	{"content", false, true, true, false, "", false},
	{"address", false, true, true, false, "", false},
	{"full_name", false, true, true, false, "", false},
	{"create_time", false, false, true, false, "time", true},
	{"modify_time", true, false, true, false, "time", true},
	{"image", false, true, true, false, "image", false},
	{"img", false, true, true, false, "image", false},
	{"icon", false, true, true, false, "image", false},
	{"avatar", false, true, true, false, "image", false},
	{"file", false, true, true, false, "file", false},
	{"age", false, true, true, false, "", false},
	{"email", false, true, true, false, "", false},
	{"time", true, true, true, true, "time", false},
	{"level", false, false, true, false, "", false},
	{"rule", true, true, true, false, "form", false},
}
View Source
var Config = Map{
	"name":  "HoTimeDashBoard",
	"id":    "2f92h3herh23rh2y8",
	"label": "HoTime管理平台",

	"menus": []Map{
		{"label": "平台首页", "name": "HelloWorld", "icon": "el-icon-s-home"},
	},
}
View Source
var CtrTpt = `package {{name}}

import (
	. "../../../hotime"
	. "../../../hotime/common"
	"strings"
)

var {{table}}Ctr = Ctr{
	"info": func(that *Context) {
		data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()})
		str, inData := that.MakeCode.Info(that.RouterString[1], data, that.Db)
		where := Map{"id": that.RouterString[2]}

		if len(inData) ==1 {
			inData["id"] =where["id"]
			where = Map{"AND": inData}
		}else if len(inData) >1 {
			where["OR"]=inData
			where = Map{"AND": where}
		}

		re := that.Db.Get(that.RouterString[1], str, where)

		if re == nil {
			that.Display(4, "找不到对应信息")
			return
		}

		for k, v := range re {
			column := that.MakeCode.TableColumns[that.RouterString[1]][k]
			if column == nil {
				continue
			}
			if (column["list"] == nil || column.GetBool("list")) && column.GetString("link") != "" {
				re[column.GetString("link")] = that.Db.Get(column.GetString("link"), "id,"+column.GetString("value"), Map{"id": v})
			}
		}

		that.Display(0, re)
	},
	"add": func(that *Context) {
		inData := that.MakeCode.Add(that.RouterString[1], that.Req)
		if inData == nil {
			that.Display(3, "请求参数不足")
			return
		}


		re := that.Db.Insert(that.RouterString[1], inData)

		if re == 0 {
			that.Display(4, "无法插入对应数据")
			return
		}
		//索引管理,便于检索以及权限
		if inData.Get("parent_id") != nil && inData.GetString("index") != "" {
			index := that.Db.Get(that.RouterString[1], "` + "`index`" + `", Map{"id": inData.Get("parent_id")})
			inData["index"] = index.GetString("index")+ObjToStr(re)+","
			that.Db.Update(that.RouterString[1],Map{"index":inData["index"]},Map{"id":re})
		}else if inData.GetString("index") != ""{
			inData["index"] = "," + ObjToStr(re) + ","
			that.Db.Update(that.RouterString[1], Map{"index": inData["index"]}, Map{"id": re})
		}

		that.Display(0, re)
	},
	"update": func(that *Context) {
		inData := that.MakeCode.Edit(that.RouterString[1], that.Req)
		if inData == nil {
			that.Display(3, "没有找到要更新的数据")
			return
		}

		//索引管理,便于检索以及权限
		if inData.Get("parent_id") != nil && inData.GetString("index") != "" {
			Index := that.Db.Get(that.RouterString[1], "` + "`index`" + `", Map{"id": that.RouterString[2]})
			parentIndex := that.Db.Get(that.RouterString[1], "` + "`index`" + `", Map{"id": inData.Get("parent_id")})
			inData["index"] = parentIndex.GetString("index") + that.RouterString[2] + ","

			childNodes := that.Db.Select(that.RouterString[1], "id,` + "`index`" + `", Map{"index[~]": "," + that.RouterString[2] + ","})

			for _, v := range childNodes {
				v["index"] = strings.Replace(v.GetString("index"), Index.GetString("index"), inData.GetString("index"), -1)
				that.Db.Update(that.RouterString[1], Map{"index": v["index"]}, Map{"id": v.GetCeilInt("id")})
			}

		}

		re := that.Db.Update(that.RouterString[1], inData, Map{"id": that.RouterString[2]})

		if re == 0 {
			that.Display(4, "更新数据失败")
			return
		}

		that.Display(0, re)
	},
	"remove": func(that *Context) {
		inData := that.MakeCode.Delete(that.RouterString[1], that.Req)
		if inData == nil {
			that.Display(3, "请求参数不足")
			return
		}
		re :=int64(0)
		//索引管理,便于检索以及权限
		if inData.Get("parent_id") != nil && inData.GetSlice("index") != nil {
			re=that.Db.Delete(that.RouterString[1], Map{"index[~]": "," + that.RouterString[2] + ","})
		}else {
			re=that.Db.Delete(that.RouterString[1], Map{"id": that.RouterString[2]})
		}

		if re == 0 {
			that.Display(4, "删除数据失败")
			return
		}
		that.Display(0, "删除成功")
	},

	"search": func(that *Context) {

		data := that.Db.Get("admin", "*", Map{"id": that.Session("admin_id").ToCeilInt()})

		columnStr, leftJoin, where := that.MakeCode.Search(that.RouterString[1], data, that.Req, that.Db)

		page := ObjToInt(that.Req.FormValue("page"))
		pageSize := ObjToInt(that.Req.FormValue("pageSize"))

		if page < 1 {
			page = 1
		}

		if pageSize <= 0 {
			pageSize = 20
		}

		count := that.Db.Count(that.RouterString[1], leftJoin, where)
		reData := that.Db.Page(page, pageSize).
			PageSelect(that.RouterString[1], leftJoin, columnStr, where)

		for _, v := range reData {
			for k, _ := range v {
				column := that.MakeCode.TableColumns[that.RouterString[1]][k]
				if column == nil {
					continue
				}

				if column["list"] != false && column["name"] == "parent_id" && column.GetString("link") != "" {
					parentC := that.Db.Get(column.GetString("link"), column.GetString("value"), Map{"id": v.GetCeilInt(k)})
					v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = ""
					if parentC != nil {
						v[column.GetString("link")+"_"+column.GetString("name")+"_"+column.GetString("value")] = parentC.GetString(column.GetString("value"))
					}
				}

			}
		}

		that.Display(0, Map{"count": count, "data": reData})
	},
}
`
View Source
var DefaultMenuParentName = "sys"
View Source
var InitTpt = `` /* 1783-byte string literal not displayed */

Functions

This section is empty.

Types

type ColumnShow

type ColumnShow struct {
	Name   string
	List   bool
	Edit   bool
	Info   bool
	Must   bool
	Type   string //空字符串表示
	Strict bool   //name严格匹配必须是这个词才行
}

type MakeCode

type MakeCode struct {
	IndexMenus    Map
	TableConfig   Map
	TableColumns  map[string]map[string]Map
	SearchColumns map[string]map[string]Map
	Config        Map
	Error
}

func (*MakeCode) Add

func (that *MakeCode) Add(table string, req *http.Request) Map

func (*MakeCode) Db2JSON

func (that *MakeCode) Db2JSON(name string, path string, db *db.HoTimeDB, makeCode bool)

func (*MakeCode) Delete

func (that *MakeCode) Delete(table string, req *http.Request) Map

func (*MakeCode) Edit

func (that *MakeCode) Edit(table string, req *http.Request) Map

func (*MakeCode) Info

func (that *MakeCode) Info(table string, userData Map, db *db.HoTimeDB) (string, Map)

func (*MakeCode) Search

func (that *MakeCode) Search(table string, userData Map, req *http.Request, db *db.HoTimeDB) (string, Map, Map)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL