From 39980c4be4d44ad4a590561bd31881003723f990 Mon Sep 17 00:00:00 2001 From: harveyshao Date: Fri, 20 Aug 2021 22:03:07 +0800 Subject: [PATCH] add chat.div --- base/mdb/hash.go | 3 +++ core/chat/div.go | 43 +++++++++++++++++++++++++++++++++++++++++++ go.sum | 7 +++++++ 3 files changed, 53 insertions(+) create mode 100644 core/chat/div.go diff --git a/base/mdb/hash.go b/base/mdb/hash.go index 5250b730..bc1e08c8 100644 --- a/base/mdb/hash.go +++ b/base/mdb/hash.go @@ -156,6 +156,9 @@ func selectAction(list map[string]*ice.Action, fields ...string) map[string]*ice } func HashAction(fields ...string) map[string]*ice.Action { return selectAction(map[string]*ice.Action{ + CREATE: {Name: "create type name text", Help: "创建", Hand: func(m *ice.Message, arg ...string) { + m.Cmdy(INSERT, m.PrefixKey(), "", HASH, arg) + }}, MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) { m.Cmdy(MODIFY, m.PrefixKey(), "", HASH, m.OptionSimple(kit.MDB_HASH), arg) }}, diff --git a/core/chat/div.go b/core/chat/div.go new file mode 100644 index 00000000..75c1428e --- /dev/null +++ b/core/chat/div.go @@ -0,0 +1,43 @@ +package chat + +import ( + "path" + + ice "shylinux.com/x/icebergs" + "shylinux.com/x/icebergs/base/cli" + "shylinux.com/x/icebergs/base/mdb" + "shylinux.com/x/icebergs/base/nfs" + "shylinux.com/x/icebergs/base/web" + kit "shylinux.com/x/toolkits" +) + +const DIV = "div" + +func init() { + Index.Merge(&ice.Context{Configs: map[string]*ice.Config{ + DIV: {Name: "div", Help: "定制", Value: kit.Data( + kit.MDB_SHORT, "", kit.MDB_FIELD, "time,hash,type,name,text", + kit.MDB_PATH, ice.USR_PUBLISH, + )}, + }, Commands: map[string]*ice.Command{ + DIV: {Name: "div hash auto create", Help: "定制", Action: ice.MergeAction(map[string]*ice.Action{ + mdb.CREATE: {Name: "create type=page name=hi.html text", Help: "创建"}, + cli.MAKE: {Name: "make", Help: "生成", Hand: func(m *ice.Message, arg ...string) { + m.Cmdy(nfs.SAVE, path.Join(m.Conf(DIV, kit.META_PATH), m.Option(kit.MDB_NAME)), m.Option(kit.MDB_TEXT)) + }}, + }, mdb.HashAction()), Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { + m.Fields(len(arg), m.Conf(DIV, kit.META_FIELD)) + m.Cmdy(mdb.SELECT, m.PrefixKey(), "", mdb.HASH, kit.MDB_HASH, arg) + m.Table(func(index int, value map[string]string, head []string) { + m.PushAnchor("/" + path.Join(ice.PUBLISH, value[kit.MDB_NAME])) + }) + if m.PushAction(cli.MAKE, mdb.REMOVE); len(arg) > 0 { + m.Option(ice.MSG_DISPLAY, "/plugin/local/chat/div.js") + } + }}, + "/div": {Name: "/div", Help: "定制", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { + m.RenderIndex(web.SERVE, ice.VOLCANOS, "page/div.html") + }}, + }}) + +} diff --git a/go.sum b/go.sum index fb0bd78d..3ff192c8 100644 --- a/go.sum +++ b/go.sum @@ -1,10 +1,17 @@ +github.com/creack/pty v1.1.7 h1:6pwm8kMQKCmgUg0ZHTm5+/YvRK0s3THD/28+T6/kk4A= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/kr/pty v1.1.8 h1:AkaSdXYQOWeaO3neb8EM634ahkXXe3jYbVh/F9lq+GI= github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= +github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e h1:MRM5ITcdelLK2j1vwZ3Je0FKVCfqOLp5zO6trqMLYs0= github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e/go.mod h1:XV66xRDqSt+GTGFMVlhk3ULuV0y9ZmzeVGR4mloJI3M= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 h1:It14KIkyBFYkHkwZ7k45minvA9aorojkyjGk9KJ5B/w= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 h1:nxC68pudNYkKU6jWhgrqdreuFiOQWj1Fs7T3VrH4Pjw= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=