mirror of
https://shylinux.com/x/icebergs
synced 2025-04-26 17:44:05 +08:00
opt panel
This commit is contained in:
parent
d72ce72512
commit
75b8045852
@ -56,6 +56,22 @@ func _action_right(m *ice.Message, river string, storm string) (ok bool) {
|
|||||||
}
|
}
|
||||||
func _action_share(m *ice.Message, arg ...string) {
|
func _action_share(m *ice.Message, arg ...string) {
|
||||||
switch msg := m.Cmd(web.SHARE, arg[1]); msg.Append(kit.MDB_TYPE) {
|
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:
|
case web.FIELD:
|
||||||
if cmd := kit.Keys(msg.Append(web.RIVER), msg.Append(web.STORM)); len(arg) == 2 {
|
if cmd := kit.Keys(msg.Append(web.RIVER), msg.Append(web.STORM)); len(arg) == 2 {
|
||||||
m.Push("index", cmd)
|
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.USERROLE, m.Option(ice.MSG_USERROLE, msg.Append(aaa.USERROLE)),
|
||||||
aaa.USERNAME, m.Option(ice.MSG_USERNAME, msg.Append(aaa.USERNAME)),
|
aaa.USERNAME, m.Option(ice.MSG_USERNAME, msg.Append(aaa.USERNAME)),
|
||||||
)
|
)
|
||||||
|
|
||||||
if m.Warn(!m.Right(arg[2:]), ice.ErrNotRight) {
|
if m.Warn(!m.Right(arg[2:]), ice.ErrNotRight) {
|
||||||
break // 没有授权
|
break // 没有授权
|
||||||
}
|
}
|
||||||
@ -90,6 +107,9 @@ func _action_list(m *ice.Message, river, storm string) {
|
|||||||
m.SortInt(kit.MDB_ID)
|
m.SortInt(kit.MDB_ID)
|
||||||
}
|
}
|
||||||
func _action_show(m *ice.Message, river, storm, index string, arg ...string) {
|
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}
|
cmds := []string{index}
|
||||||
prefix := kit.Keys(kit.MDB_HASH, river, TOOL, kit.MDB_HASH, storm)
|
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{}) {
|
if m.Grows(RIVER, prefix, kit.MDB_ID, index, func(index int, value map[string]interface{}) {
|
||||||
@ -159,13 +179,11 @@ func init() {
|
|||||||
return // 没有授权
|
return // 没有授权
|
||||||
}
|
}
|
||||||
|
|
||||||
m.Option(ice.MSG_RIVER, arg[0])
|
|
||||||
m.Option(ice.MSG_STORM, arg[1])
|
|
||||||
|
|
||||||
if len(arg) == 2 {
|
if len(arg) == 2 {
|
||||||
_action_list(m, arg[0], arg[1])
|
_action_list(m, arg[0], arg[1])
|
||||||
return //命令列表
|
return //命令列表
|
||||||
}
|
}
|
||||||
|
|
||||||
_action_show(m, arg[0], arg[1], arg[2], arg[3:]...)
|
_action_show(m, arg[0], arg[1], arg[2], arg[3:]...)
|
||||||
}},
|
}},
|
||||||
}})
|
}})
|
||||||
|
@ -2,6 +2,7 @@ package chat
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
ice "github.com/shylinux/icebergs"
|
ice "github.com/shylinux/icebergs"
|
||||||
|
"github.com/shylinux/icebergs/base/ctx"
|
||||||
kit "github.com/shylinux/toolkits"
|
kit "github.com/shylinux/toolkits"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -19,7 +20,17 @@ func init() {
|
|||||||
)},
|
)},
|
||||||
},
|
},
|
||||||
Commands: map[string]*ice.Command{
|
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) })
|
kit.Fetch(m.Confv(FOOTER, LEGAL), func(index int, value string) { m.Echo(value) })
|
||||||
}},
|
}},
|
||||||
},
|
},
|
||||||
|
@ -19,6 +19,8 @@ func _header_check(m *ice.Message) {
|
|||||||
if m.Option(ice.MSG_USERNAME) != msg.Append(aaa.USERNAME) {
|
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))))
|
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:
|
case web.FIELD:
|
||||||
m.Option(ice.MSG_USERNAME, msg.Append(aaa.USERNAME))
|
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)
|
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_NAME, kit.MDB_TEXT)
|
||||||
m.Set(kit.MDB_TEXT)
|
|
||||||
m.Push(kit.MDB_NAME, link)
|
|
||||||
m.PushQRCode(kit.MDB_TEXT, link)
|
m.PushQRCode(kit.MDB_TEXT, link)
|
||||||
|
m.Push(kit.MDB_NAME, link)
|
||||||
}
|
}
|
||||||
func _header_grant(m *ice.Message, arg ...string) {
|
func _header_grant(m *ice.Message, arg ...string) {
|
||||||
if pod := m.Option(kit.SSH_POD); pod != "" {
|
if pod := m.Option(kit.SSH_POD); pod != "" {
|
||||||
|
@ -17,7 +17,7 @@ func _river_list(m *ice.Message) {
|
|||||||
|
|
||||||
if m.Option(web.SHARE) != "" {
|
if m.Option(web.SHARE) != "" {
|
||||||
switch msg := m.Cmd(web.SHARE, m.Option(web.SHARE)); msg.Append(kit.MDB_TYPE) {
|
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_TITLE, msg.Append(kit.MDB_NAME))
|
||||||
m.Option(ice.MSG_RIVER, msg.Append(RIVER))
|
m.Option(ice.MSG_RIVER, msg.Append(RIVER))
|
||||||
m.Option(ice.MSG_STORM, msg.Append(STORM))
|
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))
|
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: // 应用入口
|
case web.FIELD: // 应用入口
|
||||||
m.Option(ice.MSG_TITLE, msg.Append(kit.MDB_NAME))
|
m.Option(ice.MSG_TITLE, msg.Append(kit.MDB_NAME))
|
||||||
m.Option(ice.MSG_RIVER, "_share")
|
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) {
|
func _river_proxy(m *ice.Message, pod string) (proxy []string) {
|
||||||
if p := kit.Select(m.Option(POD), pod); p != "" {
|
if p := kit.Select(m.Option(POD), pod); p != "" {
|
||||||
proxy = append(proxy, web.SPACE, p)
|
proxy = append(proxy, web.SPACE, p)
|
||||||
@ -365,7 +353,6 @@ func init() {
|
|||||||
return // 没有登录
|
return // 没有登录
|
||||||
}
|
}
|
||||||
if len(arg) == 0 {
|
if len(arg) == 0 {
|
||||||
_river_share(m)
|
|
||||||
_river_list(m)
|
_river_list(m)
|
||||||
return // 群组列表
|
return // 群组列表
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,9 @@ func init() {
|
|||||||
}},
|
}},
|
||||||
ctx.COMMAND: {Name: "command", Help: "命令", Hand: func(m *ice.Message, arg ...string) {
|
ctx.COMMAND: {Name: "command", Help: "命令", Hand: func(m *ice.Message, arg ...string) {
|
||||||
if len(arg) > 0 && arg[0] == "run" {
|
if len(arg) > 0 && arg[0] == "run" {
|
||||||
|
if m.Right(arg[1:]) {
|
||||||
m.Cmdy(arg[1:])
|
m.Cmdy(arg[1:])
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
m.Cmdy(ctx.COMMAND, arg)
|
m.Cmdy(ctx.COMMAND, arg)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user