1
0
forked from x/icebergs

add island.matrix

This commit is contained in:
IT 老营长 @云轩领航-创始人 2024-02-13 03:55:36 +08:00
parent d98a322d05
commit acb9cc0eb0
7 changed files with 26 additions and 16 deletions

View File

@ -229,7 +229,7 @@ func ZoneModify(m *ice.Message, arg ...Any) {
if args := kit.Simple(arg...); m.Option(ID) == "" {
HashModify(m, arg...)
} else if args[0] == HASH || args[0] == ZoneShort(m) {
m.Cmdy(MODIFY, m.PrefixKey(), "", ZONE, args[1], args[3], arg[4:])
m.Cmdy(MODIFY, m.PrefixKey(), "", ZONE, args[1], args[3], args[4:])
} else {
m.Cmdy(MODIFY, m.PrefixKey(), "", ZONE, m.Option(ZoneKey(m)), m.Option(ID), arg)
}

View File

@ -70,7 +70,7 @@ func init() {
DREAM: {Hand: func(m *ice.Message, arg ...string) { broadOpen(m) }},
VIMER: {Hand: func(m *ice.Message, arg ...string) { broadOpen(m) }},
SPIDE: {Name: "spide name type=repos", Icon: "bi bi-house-add", Hand: func(m *ice.Message, arg ...string) {
m.Cmd(SPIDE, mdb.CREATE, m.OptionSimple(mdb.NAME), ORIGIN, HostPort(m, m.Option(mdb.NAME), m.Option(tcp.PORT)))
m.Cmd(SPIDE, mdb.CREATE, m.OptionSimple(mdb.NAME), ORIGIN, HostPort(m, m.Option(tcp.HOST), m.Option(tcp.PORT)))
}},
OPEN: {Hand: func(m *ice.Message, arg ...string) {
m.ProcessOpen(HostPort(m, m.Option(mdb.NAME), m.Option(tcp.PORT)))
@ -78,7 +78,10 @@ func init() {
tcp.SEND: {Hand: func(m *ice.Message, arg ...string) { _broad_send(m, "", "", "", "", arg...) }},
}, gdb.EventsAction(SERVE_START), mdb.HashAction(mdb.SHORT, "host,port",
mdb.FIELD, "time,hash,type,name,host,port,module,version,commitTime,compileTime,bootTime,kernel,arch",
mdb.ACTION, "admin,dream,vimer,spide,open", mdb.SORT, "type,name,host,port"), mdb.ClearOnExitHashAction())},
mdb.ACTION, "admin,dream,vimer,spide,open", mdb.SORT, "type,name,host,port"), mdb.ClearOnExitHashAction()), Hand: func(m *ice.Message, arg ...string) {
mdb.HashSelect(m, arg...)
m.StatusTimeCount("nodename", ice.Info.NodeName)
}},
})
}
func broadOpen(m *ice.Message) {

View File

@ -63,7 +63,7 @@ func _dream_list(m *ice.Message) *ice.Message {
}
func _dream_list_icon(m *ice.Message) {
m.RewriteAppend(func(value, key string, index int) string {
if key == mdb.ICON {
if key == mdb.ICONS {
if kit.HasPrefix(value, HTTP, nfs.PS) {
return value
} else if nfs.ExistsFile(m, path.Join(ice.USR_LOCAL_WORK, m.Appendv(mdb.NAME)[index], value)) {
@ -83,25 +83,24 @@ func _dream_list_more(m *ice.Message) *ice.Message {
}
list := m.Spawn(ice.Maps{ice.MSG_FIELDS: ""}).CmdMap(SPIDE, CLIENT_NAME)
m.Cmds(SPACE).Table(func(value ice.Maps) {
value[mdb.ICON] = nfs.USR_ICONS_VOLCANOS
value[mdb.ICONS] = nfs.USR_ICONS_VOLCANOS
value[nfs.REPOS] = "https://" + value[nfs.MODULE]
value[mdb.STATUS] = cli.START
switch value[mdb.TYPE] {
case SERVER:
value[mdb.ICON] = nfs.USR_ICONS_ICEBERGS
value[mdb.ICONS] = nfs.USR_ICONS_ICEBERGS
value[mdb.TEXT] = kit.JoinLine(value[nfs.MODULE], value[mdb.TEXT])
msg := gdb.Event(m.Spawn(value), DREAM_TABLES)
defer m.PushButton(strings.Join(msg.Appendv(ctx.ACTION), ""))
case MASTER:
value[mdb.ICON] = nfs.USR_ICONS_CONTEXTS
if spide, ok := list[value[mdb.NAME]]; ok {
value[mdb.ICON] = kit.Select(value[mdb.ICON], spide[mdb.ICON])
value[mdb.ICONS] = kit.Select(value[mdb.ICONS], spide[mdb.ICONS])
}
value[mdb.TEXT] = kit.JoinLine(value[nfs.MODULE], value[mdb.TEXT])
msg := gdb.Event(m.Spawn(value), DREAM_TABLES)
defer m.PushButton(strings.Join(msg.Appendv(ctx.ACTION), ""))
case aaa.LOGIN:
value[mdb.ICON] = kit.Select(value[mdb.ICON], agentIcons[value[AGENT]])
value[mdb.ICONS] = kit.Select(value[mdb.ICONS], agentIcons[value[AGENT]])
value[mdb.TEXT] = kit.JoinWord(value[AGENT], value[cli.SYSTEM], value[aaa.IP])
defer m.PushButton(GRANT)
default:
@ -278,12 +277,12 @@ func init() {
gdb.Event(m, DREAM_INPUTS, arg)
}
}},
mdb.CREATE: {Name: "create name*=hi icon@icons repos binary template", Hand: func(m *ice.Message, arg ...string) {
mdb.CREATE: {Name: "create name*=hi icons repos binary template", Hand: func(m *ice.Message, arg ...string) {
kit.If(!strings.Contains(m.Option(mdb.NAME), "-") || !strings.HasPrefix(m.Option(mdb.NAME), "20"), func() { m.Option(mdb.NAME, m.Time("20060102-")+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)) })
m.Option(nfs.REPOS, kit.Select("", kit.Slice(kit.Split(m.Option(nfs.REPOS)), -1), 0))
m.OptionDefault(mdb.ICON, nfs.USR_ICONS_VOLCANOS)
m.OptionDefault(mdb.ICONS, nfs.USR_ICONS_CONTEXTS)
if mdb.HashCreate(m); !m.IsCliUA() {
_dream_start(m, m.Option(mdb.NAME))
}
@ -378,7 +377,7 @@ func init() {
nfs.Trash(m, path.Join(ice.USR_LOCAL_WORK, m.Option(mdb.NAME)))
}},
tcp.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))
m.Cmd(SPACE, m.Option(SPACE), DREAM, mdb.CREATE, m.OptionSimple(mdb.NAME, mdb.ICONS, nfs.REPOS, nfs.BINARY))
m.Cmd(SPACE, m.Option(SPACE), DREAM, cli.START, m.OptionSimple(mdb.NAME))
ProcessIframe(m, "", m.MergePod(kit.Keys(m.Option(SPACE), m.Option(mdb.NAME))))
}},
@ -419,7 +418,7 @@ func init() {
}
}},
}, StatsAction(), DreamAction(), mdb.ImportantHashAction(
mdb.SHORT, mdb.NAME, mdb.FIELD, "time,name,icon,repos,binary,template,restart", ctx.TOOLS, kit.Simple(STORE, SPIDE),
mdb.SHORT, mdb.NAME, mdb.FIELD, "time,name,icons,repos,binary,template,restart", ctx.TOOLS, kit.Simple(STORE, SPIDE),
html.BUTTON, kit.JoinWord(PORTAL, ADMIN, DESKTOP, WIKI_WORD, STATUS, VIMER, XTERM, COMPILE),
)), Hand: func(m *ice.Message, arg ...string) {
if len(arg) == 0 {

View File

@ -337,7 +337,7 @@ func init() {
}
}},
mdb.CREATE: {Name: "create name* origin* type icons", Hand: func(m *ice.Message, arg ...string) {
_spide_create(m, m.Option(mdb.NAME), m.Option(ORIGIN), m.Option(mdb.TYPE), m.OptionDefault(mdb.ICONS, nfs.USR_ICONS_CONTEXTS))
_spide_create(m, m.Option(mdb.NAME), m.Option(ORIGIN), m.Option(mdb.TYPE), m.OptionDefault(mdb.ICONS, nfs.USR_ICONS_VOLCANOS))
}},
COOKIE: {Name: "cookie key* value", Help: "状态量", Hand: func(m *ice.Message, arg ...string) {
mdb.HashModify(m, m.OptionSimple(CLIENT_NAME), kit.Keys(COOKIE, m.Option(mdb.KEY)), m.Option(mdb.VALUE))

View File

@ -70,7 +70,7 @@ func init() {
if value[mdb.TYPE] != WORKER {
return
}
m.Push("", value, kit.Split("time,name,icon,repos,binary,module,version"))
m.Push("", value, kit.Split("time,name,icons,repos,binary,module,version"))
m.Push(mdb.TEXT, value[nfs.REPOS]).Push(ORIGIN, origin)
if _, ok := list[value[mdb.NAME]]; ok || arg[0] == ice.OPS {
m.PushButton(OPEN, PORTAL)

View File

@ -166,7 +166,13 @@ func init() {
m.Action(mdb.CREATE, mdb.PRUNES)
}
} else {
kit.If(m.Length() == 0, func() { arg[0] = m.Cmdx("", mdb.CREATE, arg); mdb.HashSelect(m, arg[0]) })
kit.If(m.Length() == 0, func() {
if arg[0] == SH {
arg[0] = cli.Shell(m)
}
arg[0] = m.Cmdx("", mdb.CREATE, arg)
mdb.HashSelect(m, arg[0])
})
m.Push(mdb.HASH, arg[0]).Action(ice.APP)
ctx.DisplayLocal(m, "")
}

View File

@ -202,6 +202,8 @@ func (m *Message) Table(cb Any) *Message {
cb(index, value)
case func(value Maps, index int):
cb(value, index)
case func(value Maps, index, total int):
cb(value, index, n)
case func(value Maps):
cb(value)
default: