forked from x/icebergs
opt chat
This commit is contained in:
parent
496c042c7c
commit
3d8fd432dc
@ -49,7 +49,6 @@ func _share_cache(m *ice.Message, arg ...string) {
|
||||
}
|
||||
} else {
|
||||
msg := m.Cmd(CACHE, arg[0])
|
||||
m.Debug("what %v", msg.FormatMeta())
|
||||
m.RenderDownload(msg.Append(nfs.FILE), msg.Append(mdb.TYPE), msg.Append(mdb.NAME))
|
||||
}
|
||||
}
|
||||
|
@ -205,7 +205,7 @@ func _space_fork(m *ice.Message) {
|
||||
text := kit.Select(s.RemoteAddr().String(), m.Option(ice.MSG_USERADDR))
|
||||
name := strings.ToLower(m.Option(mdb.NAME, kit.ReplaceAll(kit.Select(text, m.Option(mdb.NAME)), ".", "_", ":", "_")))
|
||||
kind := kit.Select(WORKER, m.Option(mdb.TYPE))
|
||||
args := append([]string{mdb.TYPE, kind, mdb.NAME, name}, m.OptionSimple(SHARE, RIVER)...)
|
||||
args := append([]string{mdb.TYPE, kind, mdb.NAME, name}, m.OptionSimple(SHARE, RIVER, ice.CMD)...)
|
||||
|
||||
m.Go(func() {
|
||||
mdb.HashCreate(m, mdb.TEXT, kit.Select(text, m.Option(mdb.TEXT)), args, kit.Dict(mdb.TARGET, s))
|
||||
|
@ -1,30 +1,33 @@
|
||||
chat.go
|
||||
chat.shy
|
||||
header.go
|
||||
action.go
|
||||
search.go
|
||||
footer.go
|
||||
search.go
|
||||
action.go
|
||||
river.go
|
||||
storm.go
|
||||
template.go
|
||||
|
||||
pod.go
|
||||
cmd.go
|
||||
div.go
|
||||
website.go
|
||||
topic.go
|
||||
grant.go
|
||||
sso.go
|
||||
oauth
|
||||
|
||||
room.go
|
||||
meet.go
|
||||
scan.go
|
||||
paste.go
|
||||
media.go
|
||||
files.go
|
||||
trans.go
|
||||
iframe.go
|
||||
keyboard.go
|
||||
location.go
|
||||
location.shy
|
||||
|
||||
files.go
|
||||
trans.go
|
||||
media.go
|
||||
topic.go
|
||||
|
||||
div.go
|
||||
website.go
|
||||
keyboard.go
|
||||
room.go
|
||||
meet.go
|
||||
|
||||
|
@ -3,22 +3,31 @@ package chat
|
||||
import (
|
||||
ice "shylinux.com/x/icebergs"
|
||||
"shylinux.com/x/icebergs/base/aaa"
|
||||
"shylinux.com/x/icebergs/base/mdb"
|
||||
"shylinux.com/x/icebergs/base/cli"
|
||||
"shylinux.com/x/icebergs/base/web"
|
||||
)
|
||||
|
||||
const GRANT = "grant"
|
||||
|
||||
func init() {
|
||||
const CONFIRM = "confirm"
|
||||
Index.MergeCommands(ice.Commands{
|
||||
GRANT: {Name: "grant space id auto", Help: "授权", Actions: ice.MergeActions(ice.Actions{
|
||||
"confirm": {Help: "通过", Hand: func(m *ice.Message, arg ...string) {
|
||||
GRANT: {Name: "grant space auto", Help: "授权", Actions: ice.MergeActions(ice.Actions{
|
||||
CONFIRM: {Help: "授权", Hand: func(m *ice.Message, arg ...string) {
|
||||
if m.Warn(m.Option(ice.MSG_USERNAME) == "", ice.ErrNotLogin) {
|
||||
return
|
||||
}
|
||||
if m.Warn(m.Option(web.SPACE) == "", ice.ErrNotValid, web.SPACE) {
|
||||
return
|
||||
}
|
||||
if m.Warn(m.CmdAppend(web.SPACE, m.Option(web.SPACE), ice.CMD) != cli.PWD, ice.ErrNotFound, m.Option(web.SPACE)) {
|
||||
return
|
||||
}
|
||||
m.Cmd(web.SPACE, m.Option(web.SPACE), ice.MSG_SESSID, aaa.SessCreate(m, m.Option(ice.MSG_USERNAME)))
|
||||
m.ProcessLocation(web.MergeURL2(m, ice.PS))
|
||||
}},
|
||||
}, mdb.HashAction(mdb.SHORT, web.SPACE, mdb.FIELD, "time,space,userrole,username,usernick"), aaa.RoleAction("confirm")), Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Echo("请授权: %s 访问设备: %s", arg[0], ice.Info.HostName).Echo(ice.NL)
|
||||
m.EchoButton("confirm")
|
||||
}, aaa.RoleAction(CONFIRM)), Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Echo("请授权: %s 访问设备: %s", arg[0], ice.Info.HostName).Echo(ice.NL).EchoButton(CONFIRM)
|
||||
}},
|
||||
})
|
||||
}
|
||||
|
@ -55,7 +55,6 @@ func _xterm_get(m *ice.Message, h string) _xterm {
|
||||
if n, e := tty.Read(buf); !m.Warn(e) && e == nil {
|
||||
m.Option(ice.MSG_DAEMON, mdb.HashSelectField(m, h, "view"))
|
||||
m.Option(mdb.TEXT, string(buf[:n]))
|
||||
m.Debug("what %v", m.FormatMeta())
|
||||
web.PushNoticeGrow(m)
|
||||
} else {
|
||||
break
|
||||
|
4
logs.go
4
logs.go
@ -116,10 +116,14 @@ func (m *Message) Warn(err Any, arg ...Any) bool {
|
||||
if !m.IsErr() {
|
||||
if m.error(arg...); len(arg) > 0 {
|
||||
switch kit.Format(arg[0]) {
|
||||
case ErrNotValid:
|
||||
m.RenderStatusBadRequest(str)
|
||||
case ErrNotLogin:
|
||||
m.RenderStatusUnauthorized(str)
|
||||
case ErrNotRight:
|
||||
m.RenderStatusForbidden(str)
|
||||
case ErrNotFound:
|
||||
m.RenderStatusNotFound(str)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
2
meta.go
2
meta.go
@ -225,8 +225,8 @@ func (m *Message) Copy(msg *Message, arg ...string) *Message {
|
||||
m.data[k] = v
|
||||
} else {
|
||||
m.Set(MSG_OPTION, k)
|
||||
m.Add(MSG_OPTION, kit.Simple(k, msg.meta[k])...)
|
||||
}
|
||||
m.Add(MSG_OPTION, kit.Simple(k, msg.meta[k])...)
|
||||
}
|
||||
for _, k := range msg.meta[MSG_APPEND] {
|
||||
m.Add(MSG_APPEND, kit.Simple(k, msg.meta[k])...)
|
||||
|
1
misc.go
1
misc.go
@ -347,7 +347,6 @@ func (c *Context) _action(m *Message, cmd *Command, key string, sub string, h *A
|
||||
}
|
||||
m.Log(LOG_CMDS, "%s.%s %s %d %v", c.Name, key, sub, len(arg), arg,
|
||||
logs.FileLineMeta(kit.Select(m._target, m._source, m.target.Name == MDB)))
|
||||
|
||||
h.Hand(m, arg...)
|
||||
return m
|
||||
}
|
||||
|
13
render.go
13
render.go
@ -58,17 +58,16 @@ func (m *Message) Render(cmd string, args ...Any) *Message {
|
||||
}
|
||||
m.Optionv(MSG_OUTPUT, cmd)
|
||||
m.Optionv(MSG_ARGS, args)
|
||||
|
||||
return m
|
||||
}
|
||||
func (m *Message) RenderTemplate(args ...Any) *Message {
|
||||
return m.Render(RENDER_TEMPLATE, args...)
|
||||
}
|
||||
func (m *Message) RenderStatus(status int) *Message {
|
||||
return m.Render(RENDER_STATUS, status)
|
||||
func (m *Message) RenderStatus(status int, arg ...string) *Message {
|
||||
return m.Render(RENDER_STATUS, status, arg)
|
||||
}
|
||||
func (m *Message) RenderStatusBadRequest() *Message {
|
||||
return m.Render(RENDER_STATUS, http.StatusBadRequest)
|
||||
func (m *Message) RenderStatusBadRequest(arg ...string) *Message {
|
||||
return m.Render(RENDER_STATUS, http.StatusBadRequest, arg)
|
||||
}
|
||||
func (m *Message) RenderStatusUnauthorized(arg ...string) *Message {
|
||||
return m.Render(RENDER_STATUS, http.StatusUnauthorized, arg)
|
||||
@ -76,8 +75,8 @@ func (m *Message) RenderStatusUnauthorized(arg ...string) *Message {
|
||||
func (m *Message) RenderStatusForbidden(arg ...string) *Message {
|
||||
return m.Render(RENDER_STATUS, http.StatusForbidden, arg)
|
||||
}
|
||||
func (m *Message) RenderStatusNotFound() *Message {
|
||||
return m.Render(RENDER_STATUS, http.StatusNotFound)
|
||||
func (m *Message) RenderStatusNotFound(arg ...string) *Message {
|
||||
return m.Render(RENDER_STATUS, http.StatusNotFound, arg)
|
||||
}
|
||||
func (m *Message) RenderRedirect(args ...Any) *Message {
|
||||
return m.Render(RENDER_REDIRECT, args...)
|
||||
|
Loading…
x
Reference in New Issue
Block a user