From 15afccc92304ee3d86f6089041795a0609c8159e Mon Sep 17 00:00:00 2001 From: shaoying Date: Wed, 30 Nov 2022 12:08:21 +0800 Subject: [PATCH] opt some --- base/gdb/event.go | 1 + base/web/broad.go | 2 +- base/web/dream.go | 32 +++++++++++++++++--------------- base/web/serve.go | 7 ++----- base/web/space.go | 8 ++------ base/web/web.go | 1 - type.go | 2 +- 7 files changed, 24 insertions(+), 29 deletions(-) diff --git a/base/gdb/event.go b/base/gdb/event.go index a7d50084..45820389 100644 --- a/base/gdb/event.go +++ b/base/gdb/event.go @@ -20,6 +20,7 @@ func init() { mdb.ZoneInsert(m, m.OptionSimple(EVENT, ice.CMD)) }}, HAPPEN: {Name: "happen event", Help: "触发", Hand: func(m *ice.Message, arg ...string) { + m.Debug(m.FormatChain()) defer m.Cost() m.OptionCB(mdb.SELECT, "") mdb.ZoneSelect(m.Spawn(ice.OptionFields("")), m.Option(EVENT)).Tables(func(value ice.Maps) { diff --git a/base/web/broad.go b/base/web/broad.go index cb460ae4..da7861cf 100644 --- a/base/web/broad.go +++ b/base/web/broad.go @@ -57,7 +57,7 @@ const BROAD = "broad" func init() { Index.MergeCommands(ice.Commands{ - BROAD: {Name: "broad hash auto serve", Help: "广播", Actions: ice.MergeActions(ice.Actions{ + BROAD: {Name: "broad hash auto", Help: "广播", Actions: ice.MergeActions(ice.Actions{ SERVE: {Name: "serve port=9020", Hand: func(m *ice.Message, arg ...string) { _broad_serve(m, m.Cmd(tcp.HOST).Append(aaa.IP), m.Option(tcp.PORT)) }}, diff --git a/base/web/dream.go b/base/web/dream.go index aff4954a..b4da31de 100644 --- a/base/web/dream.go +++ b/base/web/dream.go @@ -19,7 +19,7 @@ func _dream_list(m *ice.Message) *ice.Message { list := m.CmdMap(SPACE, mdb.NAME) m.Cmdy(nfs.DIR, ice.USR_LOCAL_WORK, "time,size,name").Tables(func(value ice.Maps) { if space, ok := list[value[mdb.NAME]]; ok { - msg := gdb.Event(m.Spawn(), DREAM_TABLES, mdb.NAME, value[mdb.NAME], mdb.TYPE, space[mdb.TYPE]).Copy(m.Spawn().PushButton(cli.STOP)) + msg := gdb.Event(m.Spawn(value, space), DREAM_TABLES).Copy(m.Spawn().PushButton(cli.STOP)) m.Push(mdb.TYPE, space[mdb.TYPE]) m.Push(cli.STATUS, cli.START) m.Push(mdb.TEXT, msg.Append(mdb.TEXT)) @@ -49,23 +49,22 @@ func _dream_show(m *ice.Message, name string) { m.Info("already exists %v", name) return } - nfs.MkdirAll(m, p) _dream_template(m, p) - m.Optionv(cli.CMD_DIR, kit.Path(p)) - m.Optionv(cli.CMD_ENV, kit.Simple( - cli.CTX_OPS, "http://:"+m.CmdAppend(SERVE, tcp.PORT), + defer ToastProcess(m)() + defer m.Sleep3s() + m.Options(cli.CMD_DIR, kit.Path(p), cli.CMD_ENV, kit.Simple( + cli.CTX_OPS, "http://localhost:"+m.CmdAppend(SERVE, tcp.PORT), cli.PATH, cli.BinPath(kit.Path(p, ice.BIN)), cli.USER, ice.Info.UserName, kit.EnvSimple(cli.HOME, cli.TERM, cli.SHELL), m.Configv(cli.ENV), )) m.Optionv(cli.CMD_OUTPUT, path.Join(p, ice.BIN_BOOT_LOG)) defer m.Options(cli.CMD_DIR, "", cli.CMD_ENV, "", cli.CMD_OUTPUT, "") gdb.Event(m, DREAM_CREATE, m.OptionSimple(mdb.NAME, mdb.TYPE)) - defer ToastProcess(m)() bin := kit.Select(os.Args[0], cli.SystemFind(m, ice.ICE_BIN, nfs.PWD+path.Join(p, ice.BIN), nfs.PWD+ice.BIN)) m.Cmd(cli.DAEMON, bin, SPACE, tcp.DIAL, ice.DEV, ice.OPS, mdb.TYPE, WORKER, m.OptionSimple(mdb.NAME, RIVER), cli.DAEMON, ice.OPS) - m.Sleep3s() } func _dream_template(m *ice.Message, p string) { + nfs.MkdirAll(m, p) if m.Option(nfs.TEMPLATE) == "" { return } @@ -102,7 +101,7 @@ func init() { mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) { switch arg[0] { case mdb.NAME, nfs.TEMPLATE: - _dream_list(m).Cut(arg[0], "status,time") + _dream_list(m).Cut("name,status,time") default: gdb.Event(m, "", arg) } @@ -128,8 +127,15 @@ func init() { } } }}, - OPEN: {Hand: func(m *ice.Message, arg ...string) { ProcessIframe(m, MergePod(m, m.Option(mdb.NAME)), arg...) }}, - }, ctx.CmdAction(), gdb.EventsAction(DREAM_OPEN)), Hand: func(m *ice.Message, arg ...string) { + DREAM_TABLES: {Hand: func(m *ice.Message, arg ...string) { + m.Debug(m.FormatChain()) + switch m.Option(mdb.TYPE) { + case SERVER, WORKER: + m.PushButton(OPEN) + } + }}, + OPEN: {Hand: func(m *ice.Message, arg ...string) { ctx.ProcessOpen(m, MergePod(m, m.Option(mdb.NAME), arg)) }}, + }, ctx.CmdAction(), DreamAction()), Hand: func(m *ice.Message, arg ...string) { if len(arg) == 0 { _dream_list(m) } else if arg[0] == ctx.ACTION { @@ -142,9 +148,5 @@ func init() { } func DreamAction() ice.Actions { - return ice.MergeActions(ice.Actions{ - DREAM_INPUTS: {Hand: func(m *ice.Message, arg ...string) {}}, - DREAM_TABLES: {Hand: func(m *ice.Message, arg ...string) {}}, - DREAM_ACTION: {Hand: func(m *ice.Message, arg ...string) {}}, - }, gdb.EventAction(DREAM_TABLES, DREAM_ACTION)) + return gdb.EventsAction(DREAM_OPEN, DREAM_INPUTS, DREAM_TABLES, DREAM_ACTION) } diff --git a/base/web/serve.go b/base/web/serve.go index 0495d184..5ef75fc2 100644 --- a/base/web/serve.go +++ b/base/web/serve.go @@ -151,15 +151,12 @@ const SERVE = "serve" func init() { Index.MergeCommands(ice.Commands{ SERVE: {Name: "serve name auto start", Help: "服务器", Actions: ice.MergeActions(ice.Actions{ - ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) { - cli.NodeInfo(m, ice.Info.PathName, WORKER) - aaa.White(m, LOGIN) - }}, + ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) { cli.NodeInfo(m, ice.Info.PathName, WORKER) }}, cli.START: {Name: "start dev name=web proto=http host port=9020 nodename username usernick", Hand: func(m *ice.Message, arg ...string) { _serve_start(m) }}, SERVE_START: {Hand: func(m *ice.Message, arg ...string) { - m.Sleep("30ms", ssh.PRINTF, kit.Dict(nfs.CONTENT, "\r"+ice.Render(m, ice.RENDER_QRCODE, m.Cmdx(SPACE, DOMAIN))+ice.NL)) + m.Sleep30ms().Cmd(ssh.PRINTF, kit.Dict(nfs.CONTENT, "\r"+ice.Render(m, ice.RENDER_QRCODE, m.Cmdx(SPACE, DOMAIN))+ice.NL)) }}, SERVE_REWRITE: {Hand: func(m *ice.Message, arg ...string) { if arg[0] != SPIDE_GET { diff --git a/base/web/space.go b/base/web/space.go index df8c676d..cbe2a307 100644 --- a/base/web/space.go +++ b/base/web/space.go @@ -224,9 +224,5 @@ func back(m *ice.Message, res *ice.Message) bool { } return false } -func addSend(m *ice.Message, msg *ice.Message) string { - return m.Target().Server().(*Frame).addSend(kit.Format(m.Target().ID()), msg) -} -func getSend(m *ice.Message, key string) *ice.Message { - return m.Target().Server().(*Frame).getSend(key) -} +func addSend(m *ice.Message, msg *ice.Message) string { return m.Target().Server().(*Frame).addSend(kit.Format(m.Target().ID()), msg) } +func getSend(m *ice.Message, key string) *ice.Message { return m.Target().Server().(*Frame).getSend(key) } diff --git a/base/web/web.go b/base/web/web.go index abbc4db2..859b876c 100644 --- a/base/web/web.go +++ b/base/web/web.go @@ -10,7 +10,6 @@ import ( "shylinux.com/x/icebergs/base/ctx" "shylinux.com/x/icebergs/base/gdb" "shylinux.com/x/icebergs/base/mdb" - "shylinux.com/x/icebergs/base/nfs" "shylinux.com/x/icebergs/base/tcp" kit "shylinux.com/x/toolkits" "shylinux.com/x/toolkits/task" diff --git a/type.go b/type.go index 89e86929..a7309c04 100644 --- a/type.go +++ b/type.go @@ -344,7 +344,7 @@ func (m *Message) Spawn(arg ...Any) *Message { time: time.Now(), code: int(m.target.root.ID()), meta: map[string][]string{}, data: Map{}, message: m, root: m.root, - source: m.target, target: m.target, _cmd: m._cmd, _key: m._key, _sub: m._sub, + source: m.target, target: m.target, _cmd: m._cmd, _key: m._key, _sub: m._sub, _target: logs.FileLine(2), W: m.W, R: m.R, O: m.O, I: m.I, } for _, val := range arg {