From 89518b333376dcf0f468e7de0074721df8aa18ed Mon Sep 17 00:00:00 2001 From: shy Date: Mon, 22 Jan 2024 14:33:16 +0800 Subject: [PATCH] add some --- base/web/dream.go | 30 +++++++++++++++++++++++++----- base/web/space.go | 2 -- core/chat/action.go | 8 ++++---- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/base/web/dream.go b/base/web/dream.go index d6287e8f..68fe705b 100644 --- a/base/web/dream.go +++ b/base/web/dream.go @@ -23,6 +23,9 @@ import ( ) func _dream_list(m *ice.Message) *ice.Message { + if ice.Info.NodeType == WORKER { + return m + } list := m.CmdMap(SPACE, mdb.NAME) mdb.HashSelect(m).Table(func(value ice.Maps) { if space, ok := list[value[mdb.NAME]]; ok { @@ -195,6 +198,11 @@ func init() { case MAIN: m.Cmdy(SPACE, m.Option(mdb.NAME), SPACE, mdb.INPUTS, arg) return + case "send": + m.Cmd(SPACE, func(value ice.Maps) { + kit.If(kit.IsIn(value[mdb.TYPE], SERVER), func() { m.Push(arg[0], value[mdb.NAME]) }) + }) + return } switch arg[0] { case mdb.NAME: @@ -295,6 +303,14 @@ func init() { gdb.Event(m, DREAM_TRASH, arg) nfs.Trash(m, path.Join(ice.USR_LOCAL_WORK, m.Option(mdb.NAME))) }}, + "grant": {Help: "授权", Hand: func(m *ice.Message, arg ...string) { + m.Cmd(CHAT_GRANT, aaa.CONFIRM, kit.Dict(SPACE, m.Option(mdb.NAME))) + }}, + "send": {Name: "send space*", Hand: func(m *ice.Message, arg ...string) { + m.Cmd(SPACE, m.Option(SPACE), DREAM, mdb.CREATE, m.OptionSimple(mdb.NAME, mdb.ICON, nfs.REPOS, nfs.BINARY, nfs.TEMPLATE)) + m.Cmd(SPACE, m.Option(SPACE), DREAM, cli.START, m.OptionSimple(mdb.NAME)) + m.ProcessOpen(m.MergePod(kit.Keys(m.Option(SPACE), m.Option(mdb.NAME)))) + }}, OPEN: {Role: aaa.VOID, Hand: func(m *ice.Message, arg ...string) { if m.Option(mdb.TYPE) == MASTER { m.ProcessOpen(SpideOrigin(m, m.Option(mdb.NAME)) + C(ADMIN)) @@ -305,16 +321,20 @@ func init() { MAIN: {Name: "main index", Help: "首页", Hand: func(m *ice.Message, arg ...string) { m.Cmdy(SPACE, m.Option(mdb.NAME), SPACE, ice.MAIN, m.Option(ctx.INDEX)) }}, - "grant": {Help: "授权", Hand: func(m *ice.Message, arg ...string) { - m.Cmd(CHAT_GRANT, aaa.CONFIRM, kit.Dict(SPACE, m.Option(mdb.NAME))) - }}, DREAM_OPEN: {Hand: func(m *ice.Message, arg ...string) {}}, DREAM_CLOSE: {Hand: func(m *ice.Message, arg ...string) { if m.Option(cli.DAEMON) == ice.OPS && m.Cmdv(SPACE, m.Option(mdb.NAME), mdb.STATUS) != cli.STOP { m.GoSleep300ms(func() { m.Cmd(DREAM, cli.START, m.OptionSimple(mdb.NAME)) }) } }}, - DREAM_TABLES: {Hand: func(m *ice.Message, arg ...string) { m.PushButton(OPEN) }}, + DREAM_TABLES: {Hand: func(m *ice.Message, arg ...string) { + switch m.Option(mdb.TYPE) { + case WORKER: + m.PushButton("send", OPEN) + default: + m.PushButton(OPEN) + } + }}, STATS_TABLES: {Hand: func(m *ice.Message, arg ...string) { if msg := mdb.HashSelects(m.Spawn()); msg.Length() > 0 { stat := map[string]int{} @@ -374,7 +394,7 @@ func init() { m.Push(mdb.TYPE, value[mdb.TYPE]) m.Push(mdb.NAME, value[mdb.NAME]) m.Push(mdb.ICON, nfs.USR_ICONS_VOLCANOS) - m.Push(mdb.TEXT, kit.JoinWord(value["agent"], value["system"], value[aaa.IP])) + m.Push(mdb.TEXT, kit.JoinWord(value["agent"], value[cli.SYSTEM], value[aaa.IP])) m.PushButton("grant") } }) diff --git a/base/web/space.go b/base/web/space.go index fa0e1cbc..8bce1275 100644 --- a/base/web/space.go +++ b/base/web/space.go @@ -221,11 +221,9 @@ func _space_send(m *ice.Message, name string, arg ...string) (h string) { } if target := kit.Split(name, nfs.PT, nfs.PT); !mdb.HashSelectDetail(m, target[0], func(value ice.Map) { if c, ok := value[mdb.TARGET].(*websocket.Conn); !m.Warn(!ok, ice.ErrNotValid, mdb.TARGET) { - m.Debug("what %v", value[mdb.TYPE]) kit.If(kit.Format(value[mdb.TYPE]) == MASTER, func() { m.Options(ice.MSG_USERWEB, value[mdb.TEXT], ice.MSG_USERPOD, "", ice.MSG_USERHOST, "") }) - m.Debug("what %v", value[mdb.TYPE]) kit.For([]string{ice.MSG_USERROLE, ice.LOG_TRACEID}, func(k string) { m.Optionv(k, m.Optionv(k)) }) kit.For(m.Optionv(ice.MSG_OPTS), func(k string) { m.Optionv(k, m.Optionv(k)) }) if withecho { diff --git a/core/chat/action.go b/core/chat/action.go index a601b635..0143be10 100644 --- a/core/chat/action.go +++ b/core/chat/action.go @@ -21,7 +21,6 @@ func _action_exec(m *ice.Message, river, storm, index string, arg ...string) { }).Length() == 0, ice.ErrNotRight, index, arg) { return } - // kit.If(index == "web.chat.island.portal", func() { m.Option(ice.MSG_USERROLE, aaa.VOID) }) kit.If(!ctx.PodCmd(m, index, arg), func() { m.Cmdy(index, arg) }) } func _action_auth(m *ice.Message, share string) *ice.Message { @@ -75,9 +74,10 @@ func init() { } else if m.Warn(!_river_right(m, arg[0]), ice.ErrNotRight, arg) { return } - if web.PodCmd(m, web.SPACE, arg...) { - m.Table(func(value ice.Maps) { m.Push(web.SPACE, m.Option(ice.MSG_USERPOD)) }) - } else if len(arg) == 2 { + // if web.PodCmd(m, ice.POD, arg...) { + // // m.Table(func(value ice.Maps) { m.Push(web.SPACE, m.Option(ice.MSG_USERPOD)) }) + // } else + if len(arg) == 2 { ctx.OptionFromConfig(m, MENUS) _action_list(m, arg[0], arg[1]) } else {