forked from x/icebergs
add some
This commit is contained in:
parent
e4102f6c60
commit
5cfe19e5b2
@ -29,6 +29,7 @@ func _dream_list(m *ice.Message, simple bool) *ice.Message {
|
||||
return
|
||||
}
|
||||
if space, ok := list[value[mdb.NAME]]; ok {
|
||||
value[mdb.ICONS] = space[mdb.ICONS]
|
||||
m.Push("", value, kit.Slice(head, 0, -1))
|
||||
if m.IsCliUA() || simple {
|
||||
m.Push(mdb.TYPE, space[mdb.TYPE]).Push(cli.STATUS, cli.START)
|
||||
@ -95,15 +96,14 @@ func _dream_list_icon(m *ice.Message) {
|
||||
})
|
||||
}
|
||||
func _dream_list_more(m *ice.Message, simple bool) *ice.Message {
|
||||
list := m.CmdMap(SPIDE, CLIENT_NAME)
|
||||
// list := m.CmdMap(SPIDE, CLIENT_NAME)
|
||||
m.Cmds(SPACE).Table(func(value ice.Maps) {
|
||||
value[mdb.ICONS] = nfs.USR_ICONS_VOLCANOS
|
||||
// value[mdb.ICONS] = nfs.USR_ICONS_VOLCANOS
|
||||
value[nfs.REPOS] = "https://" + value[nfs.MODULE]
|
||||
value[aaa.ACCESS] = kit.Select("", value[aaa.USERROLE], value[aaa.USERROLE] != aaa.VOID)
|
||||
value[mdb.STATUS] = cli.START
|
||||
switch value[mdb.TYPE] {
|
||||
case SERVER:
|
||||
value[mdb.ICONS] = m.FileURI(nfs.USR_ICONS_ICEBERGS)
|
||||
value[mdb.TEXT] = kit.JoinLine(value[nfs.MODULE], value[mdb.TEXT])
|
||||
if simple {
|
||||
defer m.PushButton("")
|
||||
@ -112,9 +112,6 @@ func _dream_list_more(m *ice.Message, simple bool) *ice.Message {
|
||||
defer m.PushButton(strings.Join(msg.Appendv(ctx.ACTION), ""))
|
||||
}
|
||||
case ORIGIN:
|
||||
if spide, ok := list[value[mdb.NAME]]; ok {
|
||||
value[mdb.ICONS] = kit.Select(value[mdb.ICONS], spide[mdb.ICONS])
|
||||
}
|
||||
value[mdb.TEXT] = kit.JoinLine(value[nfs.MODULE], value[mdb.TEXT])
|
||||
if simple {
|
||||
defer m.PushButton("")
|
||||
@ -123,7 +120,6 @@ func _dream_list_more(m *ice.Message, simple bool) *ice.Message {
|
||||
defer m.PushButton(strings.Join(msg.Appendv(ctx.ACTION), ""))
|
||||
}
|
||||
case aaa.LOGIN:
|
||||
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:
|
||||
@ -422,7 +418,11 @@ func init() {
|
||||
if m.Option(mdb.TYPE) == ORIGIN && m.IsLocalhost() {
|
||||
m.ProcessOpen(SpideOrigin(m, m.Option(mdb.NAME)))
|
||||
} else {
|
||||
m.ProcessOpen(S(m.Option(mdb.NAME)))
|
||||
if p := ProxyDomain(m, m.Option(mdb.NAME)); p != "" {
|
||||
m.ProcessOpen(p)
|
||||
} else {
|
||||
m.ProcessOpen(S(m.Option(mdb.NAME)))
|
||||
}
|
||||
}
|
||||
}},
|
||||
GRANT: {Hand: func(m *ice.Message, arg ...string) {
|
||||
|
@ -297,7 +297,7 @@ func ParseUA(m *ice.Message) (res []string) {
|
||||
res = append(res, cli.DAEMON, m.Option(ice.MSG_DAEMON))
|
||||
for _, p := range html.AgentList {
|
||||
if strings.Contains(m.Option(ice.MSG_USERUA), p) {
|
||||
res = append(res, mdb.ICONS, agentIcons[p], AGENT, p)
|
||||
res = append(res, mdb.ICONS, kit.Select(agentIcons[p], m.Option(mdb.ICONS)), AGENT, p)
|
||||
break
|
||||
}
|
||||
}
|
||||
@ -314,6 +314,9 @@ func ProxyDomain(m *ice.Message, name string) string {
|
||||
m.Cmd(nfs.CAT, path.Join(PROXY_PATH, "conf/portal", name, "server.conf"), func(ls []string) {
|
||||
kit.If(ls[0] == "server_name", func() { domain = ls[1] })
|
||||
})
|
||||
if domain == "" {
|
||||
return ""
|
||||
}
|
||||
return "https://" + domain
|
||||
}
|
||||
func Script(m *ice.Message, str string, arg ...ice.Any) string {
|
||||
|
@ -29,7 +29,7 @@ func _space_qrcode(m *ice.Message, dev string) {
|
||||
}
|
||||
func _space_dial(m *ice.Message, dev, name string, arg ...string) {
|
||||
origin := m.Cmdv(SPIDE, dev, CLIENT_ORIGIN)
|
||||
u := kit.ParseURL(kit.MergeURL2(strings.Replace(origin, HTTP, "ws", 1), PP(SPACE), mdb.TYPE, ice.Info.NodeType, mdb.NAME, name, mdb.NAME, "",
|
||||
u := kit.ParseURL(kit.MergeURL2(strings.Replace(origin, HTTP, "ws", 1), PP(SPACE), mdb.TYPE, ice.Info.NodeType, mdb.NAME, name, mdb.NAME, "", mdb.ICONS, mdb.Config(m, mdb.ICONS),
|
||||
mdb.TIME, ice.Info.Make.Time, nfs.MODULE, ice.Info.Make.Module, nfs.VERSION, ice.Info.Make.Versions(), cli.GOOS, runtime.GOOS, cli.GOARCH, runtime.GOARCH, arg))
|
||||
args := kit.SimpleKV("type,name,host,port", u.Scheme, dev, u.Hostname(), kit.Select(kit.Select(tcp.PORT_443, tcp.PORT_80, u.Scheme == "ws"), u.Port()))
|
||||
gdb.Go(m, func() {
|
||||
@ -74,10 +74,14 @@ func _space_fork(m *ice.Message) {
|
||||
if msg := m.Cmd(TOKEN, m.Option(TOKEN)); msg.Append(mdb.TIME) > m.Time() && kit.IsIn(msg.Append(mdb.TYPE), SERVER, SPIDE) {
|
||||
aaa.SessAuth(m, kit.Dict(m.Cmd(aaa.USER, m.Option(ice.MSG_USERNAME, msg.Append(mdb.NAME))).AppendSimple()))
|
||||
name = SpaceName(kit.Select(name, msg.Append(mdb.TEXT)))
|
||||
kit.If(ProxyDomain(m, name), func(p string) { text = p })
|
||||
safe = aaa.IsTechOrRoot(m)
|
||||
}
|
||||
}
|
||||
args := kit.Simple(mdb.TYPE, m.Option(mdb.TYPE), mdb.NAME, name, mdb.TEXT, text, m.OptionSimple(mdb.TIME, nfs.MODULE, nfs.VERSION, cli.DAEMON))
|
||||
if m.Option(mdb.ICONS) != "" && !kit.HasPrefix(m.Option(mdb.ICONS), nfs.PS, HTTP) {
|
||||
m.Option(mdb.ICONS, kit.MergeURL("/require/"+m.Option(mdb.ICONS), ice.POD, name))
|
||||
}
|
||||
args := kit.Simple(mdb.TYPE, m.Option(mdb.TYPE), mdb.NAME, name, mdb.TEXT, text, m.OptionSimple(mdb.ICONS, mdb.TIME, nfs.MODULE, nfs.VERSION, cli.DAEMON))
|
||||
args = append(args, aaa.USERNICK, m.Option(ice.MSG_USERNICK), aaa.USERNAME, m.Option(ice.MSG_USERNAME), aaa.USERROLE, m.Option(ice.MSG_USERROLE))
|
||||
args = append(args, ParseUA(m)...)
|
||||
if c, e := websocket.Upgrade(m.W, m.R); !m.WarnNotValid(e) {
|
||||
@ -99,7 +103,7 @@ func _space_fork(m *ice.Message) {
|
||||
case SERVER:
|
||||
defer gdb.EventDeferEvent(m, SPACE_OPEN, args)(SPACE_CLOSE, args)
|
||||
m.Go(func() {
|
||||
m.Cmd(SPACE, name, cli.PWD, name, kit.Dict(
|
||||
m.Cmd(SPACE, name, cli.PWD, name, kit.Dict(mdb.ICONS, mdb.Config(m, mdb.ICONS),
|
||||
mdb.TIME, ice.Info.Make.Time, 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) {
|
||||
@ -180,7 +184,7 @@ func _space_exec(m *ice.Message, name string, source, target []string, c *websoc
|
||||
m.Warn(true, ice.ErrNotValid)
|
||||
return
|
||||
case cli.PWD:
|
||||
mdb.HashModify(m, mdb.HASH, name, ParseUA(m), m.OptionSimple(mdb.TIME, nfs.MODULE, nfs.VERSION, AGENT, cli.SYSTEM))
|
||||
mdb.HashModify(m, mdb.HASH, name, ParseUA(m), m.OptionSimple(mdb.ICONS, mdb.TIME, nfs.MODULE, nfs.VERSION, AGENT, cli.SYSTEM))
|
||||
m.Push(mdb.LINK, m.MergePod(kit.Select("", source, -1)))
|
||||
default:
|
||||
if m.IsErr() {
|
||||
@ -332,8 +336,9 @@ func init() {
|
||||
}},
|
||||
nfs.PS: {Hand: func(m *ice.Message, arg ...string) { _space_fork(m) }},
|
||||
}, gdb.EventsAction(SPACE_LOGIN), mdb.HashAction(
|
||||
mdb.ICONS, "src/main.ico",
|
||||
mdb.LIMIT, 1000, mdb.LEAST, 500,
|
||||
mdb.SHORT, mdb.NAME, mdb.FIELD, "time,type,name,text,module,version,agent,system,ip,usernick,username,userrole",
|
||||
mdb.SHORT, mdb.NAME, mdb.FIELD, "time,type,name,text,icons,module,version,agent,system,ip,usernick,username,userrole",
|
||||
ctx.ACTION, OPEN, REDIAL, kit.Dict("a", 1000, "b", 100, "c", 1000),
|
||||
), mdb.ClearOnExitHashAction()), Hand: func(m *ice.Message, arg ...string) {
|
||||
if len(arg) < 2 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user