1
0
mirror of https://shylinux.com/x/icebergs synced 2025-04-26 09:34:05 +08:00
This commit is contained in:
IT 老营长 @云轩领航-创始人 2023-12-29 22:58:35 +08:00
parent 35e635b3a9
commit 67a1ffd4b3
8 changed files with 28 additions and 21 deletions

View File

@ -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.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)) }) 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.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() { if mdb.HashCreate(m); !m.IsCliUA() {
_dream_start(m, m.Option(mdb.NAME)) _dream_start(m, m.Option(mdb.NAME))
} }

View File

@ -69,7 +69,7 @@ const ROUTE = "route"
func init() { func init() {
Index.MergeCommands(ice.Commands{ 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...) }}, 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) { mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) {
switch mdb.HashInputs(m, arg); arg[0] { 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) { 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))...)...) _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) { cli.BUILD: {Name: "build space", Help: "构建", Hand: func(m *ice.Message, arg ...string) {
_route_toast(m, m.Option(SPACE), m.PrefixKey(), "_build") _route_toast(m, m.Option(SPACE), m.PrefixKey(), "_build")
func() { defer ToastProcess(m)(); m.Sleep3s() }() func() { defer ToastProcess(m)(); m.Sleep3s() }()
@ -100,6 +97,9 @@ func init() {
m.Cmdy(ice.EXIT, "1") 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) { "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) { kit.For(kit.Split(m.OptionDefault(ice.MSG_FIELDS, mdb.Config(m, mdb.FIELD))), func(key string) {
switch key { switch key {

View File

@ -205,8 +205,8 @@ const (
BODY = "body" BODY = "body"
HOME = "home" HOME = "home"
OPS_SERVE_START = "ops.serve.start" OPS_SERVER_START = "ops.server.start"
SERVE_START = "serve.start" SERVE_START = "serve.start"
) )
const SERVE = "serve" const SERVE = "serve"

View File

@ -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()) { !(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)) 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)) 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())) 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) defer gdb.EventDeferEvent(m, DREAM_OPEN, args)(DREAM_CLOSE, args)
case SERVER: case SERVER:
m.Go(func() { 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) { m.Cmd(SPACE).Table(func(value ice.Maps) {
if kit.IsIn(value[mdb.TYPE], WORKER, SERVER) { 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) _space_handle(m, false, name, c)

View File

@ -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)) 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)) { _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.ConfWidth()/2, true)
sub.onimport.size(sub, can.ConfHeight()/2, can.base.Min(sub._target.offsetWidth, can.ConfWidth()/2, can.ConfWidth()), 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.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) }) 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) }, create: function(event, can) { can.onimport._desktop(can) },
}) })
Volcanos(chat.ONKEYMAP, { Volcanos(chat.ONKEYMAP, {

View File

@ -467,7 +467,7 @@ func init() {
if commit, err := repos.CommitObject(refer.Hash()); err == nil { if commit, err := repos.CommitObject(refer.Hash()); err == nil {
m.Push(aaa.EMAIL, commit.Author.Email) m.Push(aaa.EMAIL, commit.Author.Email)
m.Push(AUTHOR, commit.Author.Name) 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) m.Push(MESSAGE, commit.Message)
} }
} }

View File

@ -70,7 +70,7 @@ type relay struct {
forEach string `name:"forEach machine cmd*:textarea=pwd" help:"遍历" icon:"bi bi-card-list"` 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"` forFlow string `name:"forFlow machine cmd*:textarea=pwd" help:"流程" icon:"bi bi-terminal"`
publish string `name:"publish" help:"发布"` 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:"部署"` pushbin string `name:"pushbin" help:"部署"`
adminCmd string `name:"adminCmd cmd" help:"命令"` adminCmd string `name:"adminCmd cmd" help:"命令"`
} }
@ -163,17 +163,17 @@ func (s relay) Dream(m *ice.Message) {
}) })
m.Options(ice.MSG_PROCESS, "") m.Options(ice.MSG_PROCESS, "")
if m.Action(s.Dream, "filter:text"); tcp.IsLocalHost(m.Message, m.Option(ice.MSG_USERIP)) { 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 { 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) { m.Copy(_msg.Table(func(value ice.Maps) {
_msg.Push(MACHINE, tcp.LOCALHOST).Push(tcp.HOST, tcp.PublishLocalhost(m.Message, tcp.LOCALHOST)) _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])) _msg.Push(web.LINK, web.UserHost(m.Message)+web.S(value[web.SPACE]))
}).Cut(fields)) }).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 { 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) { 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...) s.Code.Iframe(m, m.Option(MACHINE), p, arg...)
} else { } else {
m.ProcessOpen(p) m.ProcessOpen(p)

View File

@ -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, 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, "msg", "") })
kit.If(m.Option(MSG_DEBUG) == TRUE, func() { args = append(args, m.OptionSimple(LOG_TRACEID)...) }) 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) return m.Status(TIME, m.Time(), arg, args)
} }
func (m *Message) StatusTimeCount(arg ...Any) *Message { func (m *Message) StatusTimeCount(arg ...Any) *Message {