1
0
mirror of https://shylinux.com/x/icebergs synced 2025-04-26 01:24:05 +08:00
icebergs/core/chat/meet.go
2020-07-30 16:56:07 +08:00

118 lines
4.5 KiB
Go

package chat
import (
"path"
ice "github.com/shylinux/icebergs"
"github.com/shylinux/icebergs/base/mdb"
"github.com/shylinux/icebergs/base/web"
kit "github.com/shylinux/toolkits"
)
const MEET = "meet"
const (
MISS = "miss"
DATE = "date"
)
var _miss_select = "time,name,性别,年龄,籍贯,学历,职业,照片"
var _miss_insert = kit.List(
"_input", "text", "name", "name",
"_input", "text", "name", "性别",
"_input", "text", "name", "年龄",
"_input", "text", "name", "生日",
"_input", "text", "name", "照片",
"_input", "text", "name", "身高",
"_input", "text", "name", "体重",
"_input", "text", "name", "性格",
"_input", "text", "name", "爱好",
"_input", "text", "name", "籍贯",
"_input", "text", "name", "户口",
"_input", "text", "name", "学历",
"_input", "text", "name", "学校",
"_input", "text", "name", "职业",
"_input", "text", "name", "年薪",
"_input", "text", "name", "资产",
)
var _date_select = "time,id,name,地点,主题"
var _date_insert = kit.List(
"_input", "text", "name", "name",
"_input", "text", "name", "地点",
"_input", "text", "name", "主题",
)
func init() {
Index.Register(&ice.Context{Name: MEET, Help: "遇见",
Configs: map[string]*ice.Config{
MISS: {Name: MISS, Help: "miss", Value: kit.Data(kit.MDB_SHORT, kit.MDB_NAME)},
DATE: {Name: DATE, Help: "date", Value: kit.Data(kit.MDB_SHORT, kit.MDB_NAME)},
},
Commands: map[string]*ice.Command{
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Load(MISS, DATE)
}},
ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Save(MISS, DATE)
}},
MISS: {Name: "miss name=auto auto 添加:button 导出:button 导入:button", Help: "miss", Meta: kit.Dict(
"display", "", "insert", _miss_insert,
), Action: map[string]*ice.Action{
mdb.INSERT: {Name: "insert [key value]...", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.INSERT, m.Prefix(MISS), "", mdb.HASH, arg)
}},
mdb.MODIFY: {Name: "modify key value", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.MODIFY, m.Prefix(MISS), "", mdb.HASH, kit.MDB_NAME, m.Option("name"), arg[0], arg[1])
}},
mdb.DELETE: {Name: "delete", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.DELETE, m.Prefix(MISS), "", mdb.HASH, kit.MDB_NAME, m.Option("name"))
}},
mdb.EXPORT: {Name: "export file", Help: "导出", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.EXPORT, m.Prefix(MISS), "", mdb.HASH)
}},
mdb.IMPORT: {Name: "import file", Help: "导入", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.IMPORT, m.Prefix(MISS), "", mdb.HASH)
}},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Option("fields", _miss_select)
if msg := m.Cmd(mdb.SELECT, m.Prefix(MISS), "", mdb.HASH, kit.MDB_NAME, kit.Select(kit.MDB_FOREACH, arg, 0)); len(arg) == 0 {
msg.Table(func(index int, value map[string]string, head []string) {
for _, k := range head {
if k == "照片" {
m.Push("照片", m.Cmdx(mdb.RENDER, web.RENDER.IMG, path.Join("/share/local", value["照片"])))
} else {
m.Push(k, value[k])
}
}
})
m.PushAction("删除")
}
}},
DATE: {Name: "date name=auto auto 添加:button 导出:button 导入:button", Help: "date", Meta: kit.Dict(
"display", "", "insert", _date_insert,
), Action: map[string]*ice.Action{
mdb.INSERT: {Name: "insert [key value]...", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.INSERT, m.Prefix(DATE), "", mdb.LIST, arg)
}},
mdb.MODIFY: {Name: "modify key value", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.MODIFY, m.Prefix(DATE), "", mdb.LIST, kit.MDB_ID, m.Option("id"), arg[0], arg[1])
}},
mdb.DELETE: {Name: "delete", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
// m.Cmdy(mdb.DELETE, m.Prefix(DATE), "", mdb.LIST, kit.MDB_NAME, m.Option("name"))
}},
mdb.EXPORT: {Name: "export file", Help: "导出", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.EXPORT, m.Prefix(DATE), "", mdb.LIST)
}},
mdb.IMPORT: {Name: "import file", Help: "导入", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.IMPORT, m.Prefix(DATE), "", mdb.LIST)
}},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Option("fields", _date_select)
m.Cmdy(mdb.SELECT, m.Prefix(DATE), "", mdb.LIST)
}},
},
}, nil)
}