1
0
mirror of https://shylinux.com/x/icebergs synced 2025-04-25 17:18:05 +08:00

opt panel

This commit is contained in:
shaoying 2021-05-23 21:48:58 +08:00
parent d72ce72512
commit 75b8045852
5 changed files with 46 additions and 27 deletions

View File

@ -56,6 +56,22 @@ func _action_right(m *ice.Message, river string, storm string) (ok bool) {
}
func _action_share(m *ice.Message, arg ...string) {
switch msg := m.Cmd(web.SHARE, arg[1]); msg.Append(kit.MDB_TYPE) {
case web.STORM:
if len(arg) == 2 {
_action_list(m, msg.Append(web.RIVER), msg.Append(web.STORM))
return
}
if m.Warn(kit.Time() > kit.Time(msg.Append(kit.MDB_TIME)), ice.ErrExpire) {
break // 分享超时
}
m.Log_AUTH(
aaa.USERROLE, m.Option(ice.MSG_USERROLE, msg.Append(aaa.USERROLE)),
aaa.USERNAME, m.Option(ice.MSG_USERNAME, msg.Append(aaa.USERNAME)),
)
_action_show(m, msg.Append(web.RIVER), msg.Append(web.STORM), arg[2], arg[3:]...)
case web.FIELD:
if cmd := kit.Keys(msg.Append(web.RIVER), msg.Append(web.STORM)); len(arg) == 2 {
m.Push("index", cmd)
@ -71,6 +87,7 @@ func _action_share(m *ice.Message, arg ...string) {
aaa.USERROLE, m.Option(ice.MSG_USERROLE, msg.Append(aaa.USERROLE)),
aaa.USERNAME, m.Option(ice.MSG_USERNAME, msg.Append(aaa.USERNAME)),
)
if m.Warn(!m.Right(arg[2:]), ice.ErrNotRight) {
break // 没有授权
}
@ -90,6 +107,9 @@ func _action_list(m *ice.Message, river, storm string) {
m.SortInt(kit.MDB_ID)
}
func _action_show(m *ice.Message, river, storm, index string, arg ...string) {
m.Option(ice.MSG_RIVER, river)
m.Option(ice.MSG_STORM, storm)
cmds := []string{index}
prefix := kit.Keys(kit.MDB_HASH, river, TOOL, kit.MDB_HASH, storm)
if m.Grows(RIVER, prefix, kit.MDB_ID, index, func(index int, value map[string]interface{}) {
@ -159,13 +179,11 @@ func init() {
return // 没有授权
}
m.Option(ice.MSG_RIVER, arg[0])
m.Option(ice.MSG_STORM, arg[1])
if len(arg) == 2 {
_action_list(m, arg[0], arg[1])
return //命令列表
}
_action_show(m, arg[0], arg[1], arg[2], arg[3:]...)
}},
}})

View File

@ -2,6 +2,7 @@ package chat
import (
ice "github.com/shylinux/icebergs"
"github.com/shylinux/icebergs/base/ctx"
kit "github.com/shylinux/toolkits"
)
@ -19,7 +20,17 @@ func init() {
)},
},
Commands: map[string]*ice.Command{
P_FOOTER: {Name: "/footer", Help: "状态栏", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
P_FOOTER: {Name: "/footer", Help: "状态栏", Action: map[string]*ice.Action{
ctx.COMMAND: {Name: "command", Help: "命令", Hand: func(m *ice.Message, arg ...string) {
if len(arg) > 0 && arg[0] == "run" {
if m.Right(arg[1:]) {
m.Cmdy(arg[1:])
}
return
}
m.Cmdy(ctx.COMMAND, arg)
}},
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
kit.Fetch(m.Confv(FOOTER, LEGAL), func(index int, value string) { m.Echo(value) })
}},
},

View File

@ -19,6 +19,8 @@ func _header_check(m *ice.Message) {
if m.Option(ice.MSG_USERNAME) != msg.Append(aaa.USERNAME) {
web.RenderCookie(m, aaa.SessCreate(m, m.Option(ice.MSG_USERNAME, msg.Append(aaa.USERNAME))))
}
case web.STORM:
m.Option(ice.MSG_USERNAME, msg.Append(aaa.USERNAME))
case web.FIELD:
m.Option(ice.MSG_USERNAME, msg.Append(aaa.USERNAME))
}
@ -36,10 +38,9 @@ func _header_share(m *ice.Message, arg ...string) {
link = strings.Replace(link, tcp.LOCALHOST, m.Cmd(tcp.HOST, ice.OptionFields(tcp.IP)).Append(tcp.IP), 1)
}
m.Set(kit.MDB_NAME)
m.Set(kit.MDB_TEXT)
m.Push(kit.MDB_NAME, link)
m.Set(kit.MDB_NAME, kit.MDB_TEXT)
m.PushQRCode(kit.MDB_TEXT, link)
m.Push(kit.MDB_NAME, link)
}
func _header_grant(m *ice.Message, arg ...string) {
if pod := m.Option(kit.SSH_POD); pod != "" {

View File

@ -17,7 +17,7 @@ func _river_list(m *ice.Message) {
if m.Option(web.SHARE) != "" {
switch msg := m.Cmd(web.SHARE, m.Option(web.SHARE)); msg.Append(kit.MDB_TYPE) {
case web.RIVER, web.STORM: // 应用入口
case web.RIVER: // 应用入口
m.Option(ice.MSG_TITLE, msg.Append(kit.MDB_NAME))
m.Option(ice.MSG_RIVER, msg.Append(RIVER))
m.Option(ice.MSG_STORM, msg.Append(STORM))
@ -29,6 +29,11 @@ func _river_list(m *ice.Message) {
msg.Cmd(m.Prefix(USER), mdb.INSERT, aaa.USERNAME, m.Option(ice.MSG_USERNAME))
// 加入群组
}
case web.STORM: // 应用入口
m.Option(ice.MSG_TITLE, msg.Append(kit.MDB_NAME))
m.Option(ice.MSG_STORM, msg.Append(STORM))
m.Option(ice.MSG_RIVER, "_share")
case web.FIELD: // 应用入口
m.Option(ice.MSG_TITLE, msg.Append(kit.MDB_NAME))
m.Option(ice.MSG_RIVER, "_share")
@ -42,23 +47,6 @@ func _river_list(m *ice.Message) {
})
})
}
func _river_share(m *ice.Message) {
return
msg := m.Spawn()
if res := msg.Cmd(web.SHARE, m.Option(web.SHARE)); res.Append(kit.MDB_TYPE) == RIVER {
msg.Option(ice.MSG_RIVER, res.Append(RIVER))
} else {
if res := msg.Cmd(m.Prefix(AUTH), m.Option(web.SHARE)); res.Append(kit.MDB_TYPE) == USER {
} else {
return
}
}
if msg.Cmd(m.Prefix(USER), m.Option(ice.MSG_USERNAME)).Append(aaa.USERNAME) == "" {
msg.Cmd(m.Prefix(USER), mdb.INSERT, aaa.USERNAME, m.Option(ice.MSG_USERNAME))
// 加入群组
}
}
func _river_proxy(m *ice.Message, pod string) (proxy []string) {
if p := kit.Select(m.Option(POD), pod); p != "" {
proxy = append(proxy, web.SPACE, p)
@ -365,7 +353,6 @@ func init() {
return // 没有登录
}
if len(arg) == 0 {
_river_share(m)
_river_list(m)
return // 群组列表
}

View File

@ -32,7 +32,9 @@ func init() {
}},
ctx.COMMAND: {Name: "command", Help: "命令", Hand: func(m *ice.Message, arg ...string) {
if len(arg) > 0 && arg[0] == "run" {
m.Cmdy(arg[1:])
if m.Right(arg[1:]) {
m.Cmdy(arg[1:])
}
return
}
m.Cmdy(ctx.COMMAND, arg)