1
0
mirror of https://shylinux.com/x/icebergs synced 2025-05-04 04:17:01 +08:00
This commit is contained in:
shaoying 2021-07-27 01:23:39 +08:00
parent da6ffe8b0d
commit 530bec2d3a
12 changed files with 67 additions and 199 deletions

View File

@ -15,8 +15,6 @@ var Index = &ice.Context{Name: CHAT, Help: "聊天中心",
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Cmd(web.SERVE, aaa.WHITE, HEADER, RIVER, ACTION, FOOTER) m.Cmd(web.SERVE, aaa.WHITE, HEADER, RIVER, ACTION, FOOTER)
m.Cmd(mdb.SEARCH, mdb.CREATE, P_SEARCH, m.Prefix(P_SEARCH)) m.Cmd(mdb.SEARCH, mdb.CREATE, P_SEARCH, m.Prefix(P_SEARCH))
m.Cmd(mdb.SEARCH, mdb.CREATE, EMAIL, m.Prefix(EMAIL))
m.Cmd(aaa.ROLE, aaa.WHITE, aaa.VOID, "usr/publish")
m.Watch(web.SPACE_START, m.Prefix(NODE)) m.Watch(web.SPACE_START, m.Prefix(NODE))
m.Watch(web.SPACE_STOP, m.Prefix(NODE)) m.Watch(web.SPACE_STOP, m.Prefix(NODE))
m.Load() m.Load()

View File

@ -7,13 +7,12 @@ header.go
search.go search.go
river.go river.go
action.go action.go
footer.go footer.go
scan.go scan.go
paste.go paste.go
files.go files.go
location.go location.go
study.go
email.go
meet.go meet.go

View File

@ -1,36 +0,0 @@
package chat
import (
ice "github.com/shylinux/icebergs"
"github.com/shylinux/icebergs/base/mdb"
kit "github.com/shylinux/toolkits"
)
func _email_show(m *ice.Message, name, text string, arg ...string) {
}
func _email_search(m *ice.Message, kind, name, text string) {
if kit.Contains(kind, kit.MDB_FOREACH) || kit.Contains(kind, EMAIL) {
m.PushSearchWeb(EMAIL, name)
}
}
const EMAIL = "email"
func init() {
Index.Merge(&ice.Context{
Configs: map[string]*ice.Config{
EMAIL: {Name: "email", Help: "邮件", Value: kit.Data(kit.MDB_SHORT, kit.MDB_TEXT)},
},
Commands: map[string]*ice.Command{
EMAIL: {Name: "email [name] word", Help: "邮件", Action: map[string]*ice.Action{
mdb.SEARCH: {Name: "search type name text", Help: "搜索", Hand: func(m *ice.Message, arg ...string) {
_email_search(m, arg[0], arg[1], arg[2])
}},
mdb.CREATE: {Name: "create type name text", Help: "创建", Hand: func(m *ice.Message, arg ...string) {
m.Cmd(mdb.INSERT, m.Prefix(EMAIL), "", mdb.HASH, arg)
}},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
_email_show(m, arg[0], kit.Select(arg[0], arg[1]), arg[2:]...)
}},
}})
}

View File

@ -13,28 +13,25 @@ func init() {
Index.Merge(&ice.Context{ Index.Merge(&ice.Context{
Configs: map[string]*ice.Config{ Configs: map[string]*ice.Config{
FILES: {Name: FILES, Help: "文件夹", Value: kit.Data( FILES: {Name: FILES, Help: "文件夹", Value: kit.Data(
kit.MDB_SHORT, kit.MDB_DATA, kit.MDB_FIELD, "time,hash,type,name,size", kit.MDB_SHORT, kit.MDB_DATA, kit.MDB_FIELD, "time,hash,type,name,size,data",
)}, )},
}, },
Commands: map[string]*ice.Command{ Commands: map[string]*ice.Command{
FILES: {Name: "files hash auto upload", Help: "文件夹", Action: map[string]*ice.Action{ FILES: {Name: "files hash auto upload", Help: "文件夹", Action: map[string]*ice.Action{
web.UPLOAD: {Name: "upload", Help: "上传", Hand: func(m *ice.Message, arg ...string) { web.UPLOAD: {Name: "upload", Help: "上传", Hand: func(m *ice.Message, arg ...string) {
up := kit.Simple(m.Optionv(ice.MSG_UPLOAD)) up := kit.Simple(m.Optionv(ice.MSG_UPLOAD))
m.Cmdy(mdb.INSERT, m.Prefix(FILES), "", mdb.HASH, kit.MDB_NAME, up[1], kit.MDB_TYPE, kit.Ext(up[1]), kit.MDB_DATA, up[0], kit.MDB_SIZE, up[2]) m.Cmdy(mdb.INSERT, m.Prefix(FILES), "", mdb.HASH, kit.MDB_TYPE, kit.Ext(up[1]), kit.MDB_NAME, up[1], kit.MDB_SIZE, up[2], kit.MDB_DATA, up[0])
}}, }},
mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) { mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.DELETE, m.Prefix(FILES), "", mdb.HASH, kit.MDB_HASH, m.Option(kit.MDB_HASH)) m.Cmdy(mdb.DELETE, m.Prefix(FILES), "", mdb.HASH, m.OptionSimple(kit.MDB_HASH))
}}, }},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Fields(len(arg), m.Conf(FILES, kit.META_FIELD)) m.Fields(len(arg), m.Conf(FILES, kit.META_FIELD))
m.Cmd(mdb.SELECT, m.Prefix(FILES), "", mdb.HASH, kit.MDB_HASH, arg).Table(func(index int, value map[string]string, head []string) { m.Cmdy(mdb.SELECT, m.Prefix(FILES), "", mdb.HASH, kit.MDB_HASH, arg)
m.Table(func(index int, value map[string]string, head []string) {
link := kit.MergeURL("/share/cache/"+value[kit.MDB_DATA], "pod", m.Option(ice.MSG_USERPOD)) link := kit.MergeURL("/share/cache/"+value[kit.MDB_DATA], "pod", m.Option(ice.MSG_USERPOD))
m.Push("", value, kit.Split(m.Option(ice.MSG_FIELDS))) if m.PushDownload(kit.MDB_LINK, value[kit.MDB_NAME], link); len(arg) > 0 && kit.ExtIsImage(value[kit.MDB_NAME]) {
if m.PushDownload(kit.MDB_LINK, value[kit.MDB_NAME], link); len(arg) > 0 { m.PushImages(kit.MDB_IMAGE, link)
switch {
case kit.ExtIsImage(value[kit.MDB_NAME]):
m.PushImages(kit.MDB_IMAGE, link)
}
} }
}) })
m.PushAction(mdb.REMOVE) m.PushAction(mdb.REMOVE)

View File

@ -2,6 +2,7 @@ package chat
import ( import (
ice "github.com/shylinux/icebergs" ice "github.com/shylinux/icebergs"
"github.com/shylinux/icebergs/base/cli"
"github.com/shylinux/icebergs/base/ctx" "github.com/shylinux/icebergs/base/ctx"
kit "github.com/shylinux/toolkits" kit "github.com/shylinux/toolkits"
) )
@ -9,7 +10,6 @@ import (
const ( const (
LEGAL = "legal" LEGAL = "legal"
) )
const P_FOOTER = "/footer"
const FOOTER = "footer" const FOOTER = "footer"
func init() { func init() {
@ -20,16 +20,15 @@ func init() {
)}, )},
}, },
Commands: map[string]*ice.Command{ Commands: map[string]*ice.Command{
P_FOOTER: {Name: "/footer", Help: "状态栏", Action: map[string]*ice.Action{ "/footer": {Name: "/footer", Help: "状态栏", Action: map[string]*ice.Action{
ctx.COMMAND: {Name: "command", Help: "命令", Hand: func(m *ice.Message, arg ...string) { ctx.COMMAND: {Name: "command", Help: "命令", Hand: func(m *ice.Message, arg ...string) {
if len(arg) > 0 && arg[0] == "run" {
if m.Right(arg[1:]) {
m.Cmdy(arg[1:])
}
return
}
m.Cmdy(ctx.COMMAND, arg) m.Cmdy(ctx.COMMAND, arg)
}}, }},
cli.RUN: {Name: "run", Help: "执行", Hand: func(m *ice.Message, arg ...string) {
if !m.Warn(!m.Right(arg), ice.ErrNotRight) {
m.Cmdy(arg)
}
}},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
kit.Fetch(m.Confv(FOOTER, LEGAL), func(index int, value string) { m.Echo(value) }) kit.Fetch(m.Confv(FOOTER, LEGAL), func(index int, value string) { m.Echo(value) })
}}, }},

View File

@ -1,11 +1,11 @@
package chat package chat
import ( import (
"math"
ice "github.com/shylinux/icebergs" ice "github.com/shylinux/icebergs"
"github.com/shylinux/icebergs/base/mdb" "github.com/shylinux/icebergs/base/mdb"
kit "github.com/shylinux/toolkits" kit "github.com/shylinux/toolkits"
"math"
) )
func distance(lat1, long1, lat2, long2 float64) float64 { func distance(lat1, long1, lat2, long2 float64) float64 {
@ -30,41 +30,42 @@ const (
GETLOCATION = "getLocation" GETLOCATION = "getLocation"
OPENLOCATION = "openLocation" OPENLOCATION = "openLocation"
) )
const LOCATION = "location" const LOCATION = "location"
func init() { func init() {
Index.Merge(&ice.Context{ Index.Merge(&ice.Context{
Configs: map[string]*ice.Config{ Configs: map[string]*ice.Config{
LOCATION: {Name: LOCATION, Help: "地理位置", Value: kit.Data(kit.MDB_SHORT, kit.MDB_TEXT)}, LOCATION: {Name: LOCATION, Help: "地理位置", Value: kit.Data(
kit.MDB_SHORT, kit.MDB_TEXT, kit.MDB_FIELD, "time,hash,type,name,text,longitude,latitude",
)},
}, },
Commands: map[string]*ice.Command{ Commands: map[string]*ice.Command{
LOCATION: {Name: "location hash auto getLocation", Help: "地理位置", Action: map[string]*ice.Action{ LOCATION: {Name: "location hash auto getLocation", Help: "地理位置", Action: map[string]*ice.Action{
OPENLOCATION: {Name: "openLocation", Help: "地图", Hand: func(m *ice.Message, arg ...string) {}}, OPENLOCATION: {Name: "openLocation", Help: "地图", Hand: func(m *ice.Message, arg ...string) {}},
GETLOCATION: {Name: "getLocation", Help: "打卡", Hand: func(m *ice.Message, arg ...string) { GETLOCATION: {Name: "getLocation", Help: "打卡", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.INSERT, LOCATION, "", mdb.HASH, arg) m.Cmdy(mdb.INSERT, m.Prefix(LOCATION), "", mdb.HASH, arg)
}}, }},
mdb.CREATE: {Name: "create type=text name text latitude longitude", Help: "添加", Hand: func(m *ice.Message, arg ...string) { mdb.CREATE: {Name: "create type=text name text latitude longitude", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.INSERT, LOCATION, "", mdb.HASH, arg) m.Cmdy(mdb.INSERT, m.Prefix(LOCATION), "", mdb.HASH, arg)
}}, }},
mdb.MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) { mdb.MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.MODIFY, LOCATION, "", mdb.HASH, kit.MDB_HASH, m.Option(kit.MDB_HASH), arg) m.Cmdy(mdb.MODIFY, m.Prefix(LOCATION), "", mdb.HASH, m.OptionSimple(kit.MDB_HASH), arg)
}}, }},
mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) { mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.DELETE, LOCATION, "", mdb.HASH, kit.MDB_TEXT, m.Option(kit.MDB_TEXT)) m.Cmdy(mdb.DELETE, m.Prefix(LOCATION), "", mdb.HASH, m.OptionSimple(kit.MDB_TEXT))
}}, }},
mdb.EXPORT: {Name: "export", Help: "导出", Hand: func(m *ice.Message, arg ...string) { mdb.EXPORT: {Name: "export", Help: "导出", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.EXPORT, LOCATION, "", mdb.HASH) m.Cmdy(mdb.EXPORT, m.Prefix(LOCATION), "", mdb.HASH)
}}, }},
mdb.IMPORT: {Name: "import", Help: "导入", Hand: func(m *ice.Message, arg ...string) { mdb.IMPORT: {Name: "import", Help: "导入", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.IMPORT, LOCATION, "", mdb.HASH) m.Cmdy(mdb.IMPORT, m.Prefix(LOCATION), "", mdb.HASH)
}}, }},
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) { mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.INPUTS, LOCATION, "", mdb.HASH, arg) m.Cmdy(mdb.INPUTS, m.Prefix(LOCATION), "", mdb.HASH, arg)
}}, }},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Option(mdb.FIELDS, kit.Select("time,hash,type,name,text,longitude,latitude", mdb.DETAIL, len(arg) > 0)) m.Fields(len(arg), m.Conf(LOCATION, kit.META_FIELD))
m.Cmdy(mdb.SELECT, cmd, "", mdb.HASH, kit.MDB_HASH, arg) m.Cmdy(mdb.SELECT, m.Prefix(LOCATION), "", mdb.HASH, kit.MDB_HASH, arg)
m.PushAction(OPENLOCATION, mdb.REMOVE) m.PushAction(OPENLOCATION, mdb.REMOVE)
}}, }},
}, },

View File

@ -1,57 +1,36 @@
package chat package chat
import ( import (
"math/rand"
ice "github.com/shylinux/icebergs" ice "github.com/shylinux/icebergs"
"github.com/shylinux/icebergs/base/cli"
"github.com/shylinux/icebergs/base/mdb" "github.com/shylinux/icebergs/base/mdb"
"github.com/shylinux/icebergs/base/tcp"
kit "github.com/shylinux/toolkits" kit "github.com/shylinux/toolkits"
) )
const ( const (
MISS = "miss" MEET = "meet"
MEDIA = "media"
) )
const MISS = "miss"
const MEET = "meet"
func init() { func init() {
Index.Register(&ice.Context{Name: MEET, Help: "遇见", Index.Register(&ice.Context{Name: MEET, Help: "遇见",
Configs: map[string]*ice.Config{ Configs: map[string]*ice.Config{
MISS: {Name: MISS, Help: "miss", Value: kit.Data(kit.MDB_SHORT, kit.MDB_NAME)}, MISS: {Name: MISS, Help: "miss", Value: kit.Data(
kit.MDB_SHORT, kit.MDB_NAME, kit.MDB_FIELD, "time,name,照片,性别,年龄,身高,体重,籍贯,户口,学历,学校,职业,公司,年薪,资产,家境",
)},
}, },
Commands: map[string]*ice.Command{ Commands: map[string]*ice.Command{
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Load() }}, ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Load() }},
ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Save() }}, ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Save() }},
MEDIA: {Name: "media name auto open snapshot", Help: "视频会议", Meta: kit.Dict( MISS: {Name: "miss name auto create", Help: "资料", Meta: kit.Dict("trans", kit.Dict("name", "姓名")), Action: map[string]*ice.Action{
ice.Display("/plugin/local/chat/media.js"),
), Action: map[string]*ice.Action{
tcp.OPEN: {Name: "open", Help: "打开摄相头", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.IMPORT, m.Prefix(MISS), "", mdb.HASH)
}},
"snapshot": {Name: "snapshot", Help: "拍照", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.IMPORT, m.Prefix(MISS), "", mdb.HASH)
}},
mdb.IMPORT: {Name: "import", 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) {
}},
MISS: {Name: "miss name auto create", Help: "资料", Meta: kit.Dict(
"trans", kit.Dict("name", "姓名"),
), Action: map[string]*ice.Action{
mdb.CREATE: {Name: "create name 照片 性别 年龄 身高 体重 籍贯 户口 学历 学校 职业 公司 年薪 资产 家境", Help: "添加", Hand: func(m *ice.Message, arg ...string) { mdb.CREATE: {Name: "create name 照片 性别 年龄 身高 体重 籍贯 户口 学历 学校 职业 公司 年薪 资产 家境", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.INSERT, m.Prefix(MISS), "", mdb.HASH, arg) m.Cmdy(mdb.INSERT, m.Prefix(MISS), "", mdb.HASH, arg)
}}, }},
mdb.MODIFY: {Name: "modify key value", Help: "编辑", Hand: func(m *ice.Message, arg ...string) { 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(kit.MDB_NAME), arg) m.Cmdy(mdb.MODIFY, m.Prefix(MISS), "", mdb.HASH, m.OptionSimple(kit.MDB_NAME), arg)
}}, }},
mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) { mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.DELETE, m.Prefix(MISS), "", mdb.HASH, kit.MDB_NAME, m.Option(kit.MDB_NAME)) m.Cmdy(mdb.DELETE, m.Prefix(MISS), "", mdb.HASH, m.OptionSimple(kit.MDB_NAME))
}}, }},
mdb.EXPORT: {Name: "export", Help: "导出", Hand: func(m *ice.Message, arg ...string) { mdb.EXPORT: {Name: "export", Help: "导出", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.EXPORT, m.Prefix(MISS), "", mdb.HASH) m.Cmdy(mdb.EXPORT, m.Prefix(MISS), "", mdb.HASH)
@ -60,18 +39,12 @@ func init() {
m.Cmdy(mdb.IMPORT, m.Prefix(MISS), "", mdb.HASH) m.Cmdy(mdb.IMPORT, m.Prefix(MISS), "", mdb.HASH)
}}, }},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Option(mdb.FIELDS, kit.Select("time,name,照片,性别,年龄,身高,体重,籍贯,户口,学历,学校,职业,公司,年薪,资产,家境", mdb.DETAIL, len(arg) > 0)) m.Fields(len(arg), m.Conf(MISS, kit.META_FIELD))
m.Cmd(mdb.SELECT, m.Prefix(MISS), "", mdb.HASH, kit.MDB_NAME, arg).Table(func(index int, value map[string]string, head []string) { m.Cmd(mdb.SELECT, m.Prefix(MISS), "", mdb.HASH, kit.MDB_NAME, arg).Table(func(index int, value map[string]string, head []string) {
value["照片"] = kit.Format(`<img src="%s" height=%s>`, value["照片"], kit.Select("100", "400", m.Option(mdb.FIELDS) == mdb.DETAIL)) value["照片"] = kit.Format(`<img src="%s" height=%s>`, value["照片"], kit.Select("100", "400", m.Option(mdb.FIELDS) == mdb.DETAIL))
m.Push("", value, kit.Split(m.Option(mdb.FIELDS))) m.Push("", value, kit.Split(m.Option(ice.MSG_FIELDS)))
}) })
}}, }},
"random": {Name: "random max auto", Help: "随机", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
max := kit.Int(kit.Select("6", arg, 0))
n := rand.Intn(max + 1)
m.Echo(`<span style="font-size:48px">%s</span>`, cli.Color(m, cli.RED, kit.Format(n)))
m.Status("time", m.Time(), "max", max)
}},
}, },
}, nil) }, nil, MISS)
} }

View File

@ -11,35 +11,37 @@ const PASTE = "paste"
func init() { func init() {
Index.Merge(&ice.Context{ Index.Merge(&ice.Context{
Configs: map[string]*ice.Config{ Configs: map[string]*ice.Config{
PASTE: {Name: PASTE, Help: "粘贴板", Value: kit.Data(kit.MDB_SHORT, kit.MDB_TEXT)}, PASTE: {Name: PASTE, Help: "粘贴板", Value: kit.Data(
kit.MDB_SHORT, kit.MDB_TEXT, kit.MDB_FIELD, "time,hash,type,name,text",
)},
}, },
Commands: map[string]*ice.Command{ Commands: map[string]*ice.Command{
PASTE: {Name: "paste hash auto getClipboardData", Help: "粘贴板", Action: map[string]*ice.Action{ PASTE: {Name: "paste hash auto getClipboardData", Help: "粘贴板", Action: map[string]*ice.Action{
"getClipboardData": {Name: "getClipboardData", Help: "粘贴", Hand: func(m *ice.Message, arg ...string) { "getClipboardData": {Name: "getClipboardData", Help: "粘贴", Hand: func(m *ice.Message, arg ...string) {
_trans(arg, map[string]string{"data": "text"}) _trans(arg, map[string]string{"data": "text"})
m.Cmdy(mdb.INSERT, PASTE, "", mdb.HASH, arg) m.Cmdy(mdb.INSERT, m.Prefix(PASTE), "", mdb.HASH, arg)
}}, }},
mdb.CREATE: {Name: "create type=text name=hi data:textarea=hi", Help: "添加", Hand: func(m *ice.Message, arg ...string) { mdb.CREATE: {Name: "create type=text name=hi data:textarea=hi", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
_trans(arg, map[string]string{"data": "text"}) _trans(arg, map[string]string{"data": "text"})
m.Cmdy(mdb.INSERT, PASTE, "", mdb.HASH, arg) m.Cmdy(mdb.INSERT, m.Prefix(PASTE), "", mdb.HASH, arg)
}}, }},
mdb.MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) { mdb.MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.MODIFY, PASTE, "", mdb.HASH, kit.MDB_HASH, m.Option(kit.MDB_HASH), arg) m.Cmdy(mdb.MODIFY, m.Prefix(PASTE), "", mdb.HASH, m.OptionSimple(kit.MDB_HASH), arg)
}}, }},
mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) { mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.DELETE, PASTE, "", mdb.HASH, kit.MDB_HASH, m.Option(kit.MDB_HASH)) m.Cmdy(mdb.DELETE, m.Prefix(PASTE), "", mdb.HASH, m.OptionSimple(kit.MDB_HASH))
}}, }},
mdb.EXPORT: {Name: "export", Help: "导出", Hand: func(m *ice.Message, arg ...string) { mdb.EXPORT: {Name: "export", Help: "导出", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.EXPORT, PASTE, "", mdb.HASH) m.Cmdy(mdb.EXPORT, m.Prefix(PASTE), "", mdb.HASH)
}}, }},
mdb.IMPORT: {Name: "import", Help: "导入", Hand: func(m *ice.Message, arg ...string) { mdb.IMPORT: {Name: "import", Help: "导入", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.IMPORT, PASTE, "", mdb.HASH) m.Cmdy(mdb.IMPORT, m.Prefix(PASTE), "", mdb.HASH)
}}, }},
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) { mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.INPUTS, PASTE, "", mdb.HASH, arg) m.Cmdy(mdb.INPUTS, m.Prefix(PASTE), "", mdb.HASH, arg)
}}, }},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Option(mdb.FIELDS, kit.Select("time,hash,type,name,text", mdb.DETAIL, len(arg) > 0)) m.Fields(len(arg), m.Conf(PASTE, kit.META_FIELD))
if m.Cmdy(mdb.SELECT, cmd, "", mdb.HASH, kit.MDB_HASH, arg); len(arg) > 0 { if m.Cmdy(mdb.SELECT, cmd, "", mdb.HASH, kit.MDB_HASH, arg); len(arg) > 0 {
m.PushScript("script", m.Append(kit.MDB_TEXT)) m.PushScript("script", m.Append(kit.MDB_TEXT))
m.PushQRCode("qrcode", m.Append(kit.MDB_TEXT)) m.PushQRCode("qrcode", m.Append(kit.MDB_TEXT))

View File

@ -11,35 +11,37 @@ const SCAN = "scan"
func init() { func init() {
Index.Merge(&ice.Context{ Index.Merge(&ice.Context{
Configs: map[string]*ice.Config{ Configs: map[string]*ice.Config{
SCAN: {Name: SCAN, Help: "二维码", Value: kit.Data(kit.MDB_SHORT, kit.MDB_TEXT)}, SCAN: {Name: SCAN, Help: "二维码", Value: kit.Data(
kit.MDB_SHORT, kit.MDB_TEXT, kit.MDB_FIELD, "time,hash,type,name,text",
)},
}, },
Commands: map[string]*ice.Command{ Commands: map[string]*ice.Command{
SCAN: {Name: "scan hash auto scanQRCode scanQRCode0", Help: "二维码", Action: map[string]*ice.Action{ SCAN: {Name: "scan hash auto scanQRCode scanQRCode0", Help: "二维码", Action: map[string]*ice.Action{
"scanQRCode0": {Name: "create", Help: "本机扫码", Hand: func(m *ice.Message, arg ...string) {}}, "scanQRCode0": {Name: "create", Help: "本机扫码", Hand: func(m *ice.Message, arg ...string) {}},
"scanQRCode": {Name: "create", Help: "扫码", Hand: func(m *ice.Message, arg ...string) { "scanQRCode": {Name: "create", Help: "扫码", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.INSERT, SCAN, "", mdb.HASH, arg) m.Cmdy(mdb.INSERT, m.Prefix(SCAN), "", mdb.HASH, arg)
}}, }},
mdb.CREATE: {Name: "create type=text name=hi text:textarea=hi", Help: "添加", Hand: func(m *ice.Message, arg ...string) { mdb.CREATE: {Name: "create type=text name=hi text:textarea=hi", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.INSERT, SCAN, "", mdb.HASH, arg) m.Cmdy(mdb.INSERT, m.Prefix(SCAN), "", mdb.HASH, arg)
}}, }},
mdb.MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) { mdb.MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.MODIFY, SCAN, "", mdb.HASH, kit.MDB_HASH, m.Option(kit.MDB_HASH), arg) m.Cmdy(mdb.MODIFY, m.Prefix(SCAN), "", mdb.HASH, m.OptionSimple(kit.MDB_HASH), arg)
}}, }},
mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) { mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.DELETE, SCAN, "", mdb.HASH, kit.MDB_HASH, m.Option(kit.MDB_HASH)) m.Cmdy(mdb.DELETE, m.Prefix(SCAN), "", mdb.HASH, m.OptionSimple(kit.MDB_HASH))
}}, }},
mdb.EXPORT: {Name: "export", Help: "导出", Hand: func(m *ice.Message, arg ...string) { mdb.EXPORT: {Name: "export", Help: "导出", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.EXPORT, SCAN, "", mdb.HASH) m.Cmdy(mdb.EXPORT, m.Prefix(SCAN), "", mdb.HASH)
}}, }},
mdb.IMPORT: {Name: "import", Help: "导入", Hand: func(m *ice.Message, arg ...string) { mdb.IMPORT: {Name: "import", Help: "导入", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.IMPORT, SCAN, "", mdb.HASH) m.Cmdy(mdb.IMPORT, m.Prefix(SCAN), "", mdb.HASH)
}}, }},
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) { mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.INPUTS, SCAN, "", mdb.HASH, arg) m.Cmdy(mdb.INPUTS, m.Prefix(SCAN), "", mdb.HASH, arg)
}}, }},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Option(mdb.FIELDS, kit.Select("time,hash,type,name,text", mdb.DETAIL, len(arg) > 0)) m.Fields(len(arg), m.Conf(SCAN, kit.META_FIELD))
if m.Cmdy(mdb.SELECT, cmd, "", mdb.HASH, kit.MDB_HASH, arg); len(arg) > 0 { if m.Cmdy(mdb.SELECT, m.Prefix(SCAN), "", mdb.HASH, kit.MDB_HASH, arg); len(arg) > 0 {
m.PushScript("script", m.Append(kit.MDB_TEXT)) m.PushScript("script", m.Append(kit.MDB_TEXT))
m.PushQRCode("qrcode", m.Append(kit.MDB_TEXT)) m.PushQRCode("qrcode", m.Append(kit.MDB_TEXT))
} }

View File

@ -1,68 +0,0 @@
package chat
import (
ice "github.com/shylinux/icebergs"
"github.com/shylinux/icebergs/base/mdb"
kit "github.com/shylinux/toolkits"
)
var _target_insert = kit.List(
"_input", "text", "name", "type", "value", "@key",
"_input", "text", "name", "name", "value", "@key",
"_input", "text", "name", "text", "value", "@key",
)
const (
STUDY = "study"
TARGET = "target"
// ACTION = "action"
ASSESS = "assess"
)
func init() {
Index.Register(&ice.Context{Name: STUDY, Help: "study",
Configs: map[string]*ice.Config{
TARGET: {Name: "target", Help: "大纲", Value: kit.Data()},
ACTION: {Name: "action", Help: "互动", Value: kit.Data()},
ASSESS: {Name: "assess", Help: "评测", Value: kit.Data()},
},
Commands: map[string]*ice.Command{
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Load() }},
ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Save() }},
TARGET: {Name: "target hash=auto auto 添加:button 导出:button 导入:button", Help: "大纲", Meta: kit.Dict(
"添加", _target_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(TARGET), "", mdb.HASH, arg)
}},
mdb.MODIFY: {Name: "modify key value", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.MODIFY, m.Prefix(TARGET), "", mdb.HASH, "", m.Option("hash"), arg[0], arg[1])
}},
mdb.DELETE: {Name: "delete", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.DELETE, m.Prefix(TARGET), "", mdb.HASH, "", m.Option("hash"))
}},
mdb.EXPORT: {Name: "export", Help: "导出", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.EXPORT, m.Prefix(TARGET), "", mdb.HASH)
}},
mdb.IMPORT: {Name: "import", Help: "导入", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.IMPORT, m.Prefix(TARGET), "", mdb.HASH)
}},
mdb.INPUTS: {Name: "inputs key value", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(mdb.INPUTS, m.Prefix(TARGET), "", mdb.HASH, arg)
}},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Fields(len(arg), "time,hash,type,name,text")
m.Cmdy(mdb.SELECT, m.Prefix(TARGET), "", mdb.HASH, "", kit.Select(kit.MDB_FOREACH, arg, 0))
if len(arg) == 0 {
m.PushAction("备课", "学习", "测试", "删除")
}
}},
ACTION: {Name: "action", Help: "互动", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
}},
ASSESS: {Name: "assess", Help: "评测", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
}},
},
}, nil)
}

View File

@ -47,6 +47,7 @@ func init() {
Commands: map[string]*ice.Command{ Commands: map[string]*ice.Command{
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
m.Cmd(aaa.ROLE, aaa.WHITE, aaa.VOID, m.Prefix(PUBLISH)) m.Cmd(aaa.ROLE, aaa.WHITE, aaa.VOID, m.Prefix(PUBLISH))
m.Cmd(aaa.ROLE, aaa.WHITE, aaa.VOID, ice.USR_PUBLISH)
m.Conf(PUBLISH, kit.Keym(ice.CONTEXTS), _contexts) m.Conf(PUBLISH, kit.Keym(ice.CONTEXTS), _contexts)
}}, }},
PUBLISH: {Name: "publish path auto create volcanos icebergs intshell dream", Help: "发布", Action: map[string]*ice.Action{ PUBLISH: {Name: "publish path auto create volcanos icebergs intshell dream", Help: "发布", Action: map[string]*ice.Action{

View File

@ -66,8 +66,8 @@ var Index = &ice.Context{Name: WIKI, Help: "文档中心",
func init() { func init() {
web.Index.Register(Index, &web.Frame{}, web.Index.Register(Index, &web.Frame{},
FEEL, WORD, DATA, DRAW, FEEL, WORD, DATA, DRAW,
TITLE, BRIEF, TITLE, BRIEF, REFER, SPARK,
ORDER, TABLE, CHART, IMAGE, VIDEO,
IMAGE, SPARK, FIELD, SHELL, LOCAL, PARSE,
) )
} }