diff --git a/base/web/render.go b/base/web/render.go index 8a04364d..33cb1f6a 100644 --- a/base/web/render.go +++ b/base/web/render.go @@ -164,7 +164,7 @@ func RenderCmd(m *ice.Message, index string, args ...ice.Any) { var _cans = ` - + diff --git a/core/chat/keyboard.go b/core/chat/keyboard.go index 5382ca28..ffde46dc 100644 --- a/core/chat/keyboard.go +++ b/core/chat/keyboard.go @@ -17,25 +17,38 @@ func init() { m.Cmd(web.SPACE, m.Option("space"), "refresh") }}, "inputs": {Name: "refresh", Help: "刷新", Hand: func(m *ice.Message, arg ...string) { - m.Cmd(web.SPACE, m.Option("space"), "refresh") + }}, + "input": {Name: "input", Help: "刷新", Hand: func(m *ice.Message, arg ...string) { + m.Cmd(web.SPACE, m.Option("space"), "input", arg) + ctx.ProcessHold(m) }}, }, mdb.HashAction(mdb.SHORT, "", mdb.FIELD, "time,hash,space,index,input")), Hand: func(m *ice.Message, arg ...string) { if len(arg) > 0 && arg[0] == ctx.ACTION { m.Cmd(web.SPACE, m.Option("space"), arg) + ctx.ProcessHold(m) return } mdb.HashSelect(m, arg...) if len(arg) > 0 && arg[0] != "" { - meta := kit.UnMarshal(m.Cmd(ctx.COMMAND, m.Append("index")).Append("meta")) - list := []string{} + msg := m.Cmd(ctx.COMMAND, m.Append("index")) + meta := kit.UnMarshal(msg.Append("meta")) + list := kit.UnMarshal(msg.Append("list")) + keys := []string{} + kit.Fetch(list, func(index int, value ice.Any) { + if kit.Format(kit.Value(value, mdb.TYPE)) == "button" { + return + } + keys = append(keys, kit.Format(kit.Value(value, mdb.NAME))) + }) kit.Fetch(meta, func(key string, value ice.Any) { if key == "_trans" { return } - list = append(list, key) + keys = append(keys, key) }) - m.PushAction(kit.Join(list)) + m.PushAction(kit.Join(keys)) m.Option("meta", kit.Format(meta)) + ctx.DisplayLocal(m, "") } }}, }) diff --git a/core/code/vimer.go b/core/code/vimer.go index b57accaf..8f98fc20 100644 --- a/core/code/vimer.go +++ b/core/code/vimer.go @@ -9,6 +9,7 @@ import ( "shylinux.com/x/icebergs/base/ctx" "shylinux.com/x/icebergs/base/mdb" "shylinux.com/x/icebergs/base/nfs" + "shylinux.com/x/icebergs/base/tcp" "shylinux.com/x/icebergs/base/web" "shylinux.com/x/icebergs/core/chat" kit "shylinux.com/x/toolkits" @@ -66,6 +67,7 @@ func init() { "keyboard": {Name: "keyboard", Help: "远程控制", Hand: func(m *ice.Message, arg ...string) { hash := m.Cmdx("web.chat.keyboard", mdb.CREATE, "space", m.Option(ice.MSG_DAEMON), "index", m.Option("index"), "input", "") link := web.MergePodCmd(m, "", "web.chat.keyboard", mdb.HASH, hash) + link = tcp.ReplaceLocalhost(m, link) m.PushQRCode(mdb.TEXT, link) m.Push(mdb.NAME, link) }},