From 67a1ffd4b3265886d711da42c3c0c266b00006ea Mon Sep 17 00:00:00 2001 From: shy Date: Fri, 29 Dec 2023 22:58:35 +0800 Subject: [PATCH] opt auto --- base/web/dream.go | 2 +- base/web/route.go | 8 ++++---- base/web/serve.go | 4 ++-- base/web/space.go | 15 ++++++++++++--- core/chat/macos/desktop.js | 3 +-- misc/git/repos.go | 2 +- misc/ssh/relay/relay.go | 14 +++++++------- option.go | 1 - 8 files changed, 28 insertions(+), 21 deletions(-) diff --git a/base/web/dream.go b/base/web/dream.go index 494b81dd..ab6db907 100644 --- a/base/web/dream.go +++ b/base/web/dream.go @@ -216,7 +216,7 @@ func init() { kit.If(mdb.Config(m, nfs.BINARY), func(p string) { m.OptionDefault(nfs.BINARY, p+m.Option(mdb.NAME)) }) kit.If(mdb.Config(m, nfs.REPOS), func(p string) { m.OptionDefault(nfs.REPOS, p+m.Option(mdb.NAME)) }) m.Option(nfs.REPOS, kit.Select("", kit.Slice(kit.Split(m.Option(nfs.REPOS)), -1), 0)) - m.OptionDefault(mdb.ICON, nfs.USR_ICONS_ICEBERGS) + m.OptionDefault(mdb.ICON, nfs.USR_ICONS_VOLCANOS) if mdb.HashCreate(m); !m.IsCliUA() { _dream_start(m, m.Option(mdb.NAME)) } diff --git a/base/web/route.go b/base/web/route.go index 6cb51232..e4f89fb3 100644 --- a/base/web/route.go +++ b/base/web/route.go @@ -69,7 +69,7 @@ const ROUTE = "route" func init() { Index.MergeCommands(ice.Commands{ - ROUTE: {Name: "route space:text cmds:text auto diagram build travel prunes", Help: "路由表", Icon: "Podcasts.png", Actions: ice.MergeActions(ice.Actions{ + ROUTE: {Name: "route space:text cmds:text auto build travel diagram prunes", Help: "路由表", Icon: "Podcasts.png", Actions: ice.MergeActions(ice.Actions{ ice.MAIN: {Help: "首页", Hand: func(m *ice.Message, arg ...string) { ctx.ProcessField(m, CHAT_IFRAME, m.MergePod(""), arg...) }}, mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) { switch mdb.HashInputs(m, arg); arg[0] { @@ -83,9 +83,6 @@ func init() { ctx.CMDS: {Name: "cmds space index* args", Help: "命令", Hand: func(m *ice.Message, arg ...string) { _route_toast(m, m.Option(SPACE), append([]string{m.Option(ctx.INDEX)}, kit.Split(m.Option(ctx.ARGS))...)...) }}, - "diagram": {Help: "导图", Icon: "bi bi-diagram-3", Hand: func(m *ice.Message, arg ...string) { - ctx.DisplayStorySpide(m.Cmdy(""), nfs.DIR_ROOT, ice.Info.NodeName, mdb.FIELD, SPACE, lex.SPLIT, nfs.PT, ctx.ACTION, ice.MAIN) - }}, cli.BUILD: {Name: "build space", Help: "构建", Hand: func(m *ice.Message, arg ...string) { _route_toast(m, m.Option(SPACE), m.PrefixKey(), "_build") func() { defer ToastProcess(m)(); m.Sleep3s() }() @@ -100,6 +97,9 @@ func init() { m.Cmdy(ice.EXIT, "1") } }}, + "diagram": {Help: "导图", Icon: "bi bi-diagram-3", Hand: func(m *ice.Message, arg ...string) { + ctx.DisplayStorySpide(m.Cmdy(""), nfs.DIR_ROOT, ice.Info.NodeName, mdb.FIELD, SPACE, lex.SPLIT, nfs.PT, ctx.ACTION, ice.MAIN) + }}, "travel": {Help: "遍历", Icon: "bi bi-card-list", Hand: func(m *ice.Message, arg ...string) { kit.For(kit.Split(m.OptionDefault(ice.MSG_FIELDS, mdb.Config(m, mdb.FIELD))), func(key string) { switch key { diff --git a/base/web/serve.go b/base/web/serve.go index da05a822..79f6955b 100644 --- a/base/web/serve.go +++ b/base/web/serve.go @@ -205,8 +205,8 @@ const ( BODY = "body" HOME = "home" - OPS_SERVE_START = "ops.serve.start" - SERVE_START = "serve.start" + OPS_SERVER_START = "ops.server.start" + SERVE_START = "serve.start" ) const SERVE = "serve" diff --git a/base/web/space.go b/base/web/space.go index cfebc653..0f66b41b 100644 --- a/base/web/space.go +++ b/base/web/space.go @@ -72,7 +72,9 @@ func _space_fork(m *ice.Message) { !(IsLocalHost(m) || m.Option(TOKEN) != "" && m.Cmdv(TOKEN, m.Option(TOKEN), mdb.TIME) > m.Time()) { name, text = kit.Hashs(name), kit.Select(addr, m.Option(mdb.NAME), m.Option(mdb.TEXT)) } - if m.Option(TOKEN) != "" { + if kit.IsIn(m.Option(mdb.TYPE), WORKER, PORTAL) && tcp.IsLocalHost(m, m.Option(ice.MSG_USERIP)) { + aaa.SessAuth(m, kit.Dict(m.Cmd(aaa.USER, m.Option(ice.MSG_USERNAME, ice.Info.Username)).AppendSimple())) + } else if m.Option(TOKEN) != "" { msg := m.Cmd(TOKEN, m.Option(TOKEN)) aaa.SessAuth(m, kit.Dict(m.Cmd(aaa.USER, m.Option(ice.MSG_USERNAME, msg.Append(mdb.NAME))).AppendSimple())) } @@ -101,12 +103,19 @@ func _space_fork(m *ice.Message) { defer gdb.EventDeferEvent(m, DREAM_OPEN, args)(DREAM_CLOSE, args) case SERVER: m.Go(func() { + m.Cmd(SPACE, name, cli.PWD, name, kit.Dict(nfs.MODULE, ice.Info.Make.Module, nfs.VERSION, ice.Info.Make.Versions(), AGENT, "Go-http-client", cli.SYSTEM, runtime.GOOS)) m.Cmd(SPACE).Table(func(value ice.Maps) { if kit.IsIn(value[mdb.TYPE], WORKER, SERVER) { - m.Cmd(SPACE, value[mdb.NAME], gdb.EVENT, gdb.HAPPEN, gdb.EVENT, OPS_SERVE_START, args, kit.Dict(ice.MSG_USERROLE, aaa.TECH)) + m.Cmd(SPACE, value[mdb.NAME], gdb.EVENT, gdb.HAPPEN, gdb.EVENT, OPS_SERVER_START, args, kit.Dict(ice.MSG_USERROLE, aaa.TECH)) + } + }) + m.Cmd(DREAM).Table(func(value ice.Maps) { + if value["restart"] == "always" { + value[nfs.BINARY] = UserHost(m) + S(value[mdb.NAME]) + value[mdb.ICON] = strings.TrimPrefix(kit.Split(value[mdb.ICON], "?")[0], "/require/") + m.Cmd(SPACE, name, DREAM, mdb.CREATE, mdb.NAME, value[mdb.NAME], value) } }) - m.Cmd(SPACE, name, cli.PWD, name, kit.Dict(nfs.MODULE, ice.Info.Make.Module, nfs.VERSION, ice.Info.Make.Versions(), AGENT, "Go-http-client", cli.SYSTEM, runtime.GOOS)) }) } _space_handle(m, false, name, c) diff --git a/core/chat/macos/desktop.js b/core/chat/macos/desktop.js index 927aec87..f0b2a31a 100644 --- a/core/chat/macos/desktop.js +++ b/core/chat/macos/desktop.js @@ -116,14 +116,13 @@ Volcanos(chat.ONIMPORT, { can.ui.dock && can.page.style(can, can.ui.dock._target, html.LEFT, can.base.Min((can.ConfWidth()-(can.ui.dock._target.offsetWidth||502))/2, 0)) }, }, [""]) -Volcanos(chat.ONACTION, {list: ["full"], +Volcanos(chat.ONACTION, { _search: function(can) { var sub = can.ui.searchs; if (can.onmotion.toggle(can, sub._target)) { sub.onimport.size(sub, can.ConfHeight()/2, can.ConfWidth()/2, true) sub.onimport.size(sub, can.ConfHeight()/2, can.base.Min(sub._target.offsetWidth, can.ConfWidth()/2, can.ConfWidth()), true) can.page.style(can, sub._target, html.LEFT, (can.ConfWidth()-sub._target.offsetWidth)/2, html.TOP, can.ConfHeight()/4) can.page.Select(can, sub._option, "input[name=keyword]", function(target) { can.onmotion.focus(can, target) }) } }, - full: function(event, can) { document.body.requestFullscreen() }, create: function(event, can) { can.onimport._desktop(can) }, }) Volcanos(chat.ONKEYMAP, { diff --git a/misc/git/repos.go b/misc/git/repos.go index 02934d53..04f62dcb 100644 --- a/misc/git/repos.go +++ b/misc/git/repos.go @@ -467,7 +467,7 @@ func init() { if commit, err := repos.CommitObject(refer.Hash()); err == nil { m.Push(aaa.EMAIL, commit.Author.Email) m.Push(AUTHOR, commit.Author.Name) - m.Push(WHEN, commit.Author.When) + m.Push(WHEN, strings.TrimSuffix(commit.Author.When.Format(ice.MOD_TIME), ".000")) m.Push(MESSAGE, commit.Message) } } diff --git a/misc/ssh/relay/relay.go b/misc/ssh/relay/relay.go index 89b8a671..fdb0e3fe 100644 --- a/misc/ssh/relay/relay.go +++ b/misc/ssh/relay/relay.go @@ -70,7 +70,7 @@ type relay struct { forEach string `name:"forEach machine cmd*:textarea=pwd" help:"遍历" icon:"bi bi-card-list"` forFlow string `name:"forFlow machine cmd*:textarea=pwd" help:"流程" icon:"bi bi-terminal"` publish string `name:"publish" help:"发布"` - list string `name:"list machine auto" help:"代理" icon:"relay.png"` + list string `name:"list machine auto" help:"机器" icon:"relay.png"` pushbin string `name:"pushbin" help:"部署"` adminCmd string `name:"adminCmd cmd" help:"命令"` } @@ -163,17 +163,17 @@ func (s relay) Dream(m *ice.Message) { }) m.Options(ice.MSG_PROCESS, "") if m.Action(s.Dream, "filter:text"); tcp.IsLocalHost(m.Message, m.Option(ice.MSG_USERIP)) { + if _msg := m.Cmd(cli.SYSTEM, ice.BIN_ICE_BIN, web.ADMIN, cli.RUNTIME); len(_msg.Result()) > 0 { + m.Push(MACHINE, tcp.LOCALHOST).Push(tcp.HOST, tcp.PublishLocalhost(m.Message, tcp.LOCALHOST)) + m.Push("", kit.Dict(cli.ParseMake(_msg.Result())), kit.Split("time,space,module,version,commitTime,compileTime,bootTime")) + m.Push(mdb.TYPE, web.SERVER).Push(mdb.STATUS, web.ONLINE).Push(web.LINK, web.UserHost(m.Message)) + } if _msg := m.Spawn().SplitIndex(m.Cmdx(cli.SYSTEM, kit.Split(s.admin(m, web.ROUTE)))); _msg.Length() > 0 { m.Copy(_msg.Table(func(value ice.Maps) { _msg.Push(MACHINE, tcp.LOCALHOST).Push(tcp.HOST, tcp.PublishLocalhost(m.Message, tcp.LOCALHOST)) _msg.Push(web.LINK, web.UserHost(m.Message)+web.S(value[web.SPACE])) }).Cut(fields)) } - if _msg := m.Cmd(cli.SYSTEM, ice.BIN_ICE_BIN, web.ADMIN, cli.RUNTIME); len(_msg.Result()) > 0 { - m.Push(MACHINE, tcp.LOCALHOST).Push(tcp.HOST, tcp.PublishLocalhost(m.Message, tcp.LOCALHOST)) - m.Push("", kit.Dict(cli.ParseMake(_msg.Result())), kit.Split("time,space,module,version,commitTime,compileTime,bootTime")) - m.Push(mdb.TYPE, web.SERVER).Push(mdb.STATUS, web.ONLINE).Push(web.LINK, web.UserHost(m.Message)) - } } } func (s relay) ForEach(m *ice.Message, arg ...string) *ice.Message { @@ -322,7 +322,7 @@ func (s relay) foreachModify(m *ice.Message, key, cmd string, cb func([]string) }) } func (s relay) iframeCmd(m *ice.Message, cmd string, arg ...string) { - if p := kit.MergeURL2(m.Option(web.LINK), web.CHAT_CMD+cmd); kit.HasPrefix(m.Option(ice.MSG_USERWEB), "https://") { + if p := kit.MergeURL2(m.Option(web.LINK), web.C(cmd)); kit.HasPrefix(m.Option(ice.MSG_USERWEB), "https://") { s.Code.Iframe(m, m.Option(MACHINE), p, arg...) } else { m.ProcessOpen(p) diff --git a/option.go b/option.go index f67db174..30dfe113 100644 --- a/option.go +++ b/option.go @@ -86,7 +86,6 @@ func (m *Message) StatusTime(arg ...Any) *Message { kit.If(m.Option(MSG_DEBUG) == TRUE, func() { args = append(args, kit.MDB_COST, m.FormatCost()) }) kit.If(m.Option(MSG_DEBUG) == TRUE, func() { args = append(args, "msg", "") }) kit.If(m.Option(MSG_DEBUG) == TRUE, func() { args = append(args, m.OptionSimple(LOG_TRACEID)...) }) - kit.If(m.Option(MSG_USERPOD), func(p string) { args = append(args, SPACE, p) }) return m.Status(TIME, m.Time(), arg, args) } func (m *Message) StatusTimeCount(arg ...Any) *Message {