mirror of
https://shylinux.com/x/icebergs
synced 2025-04-26 17:44:05 +08:00
opt auto
This commit is contained in:
parent
35e635b3a9
commit
67a1ffd4b3
@ -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))
|
||||||
}
|
}
|
||||||
|
@ -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 {
|
||||||
|
@ -205,7 +205,7 @@ 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"
|
||||||
|
@ -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)
|
||||||
|
@ -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, {
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
|
@ -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 {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user