1
0
mirror of https://shylinux.com/x/icebergs synced 2025-04-25 17:18:05 +08:00
icebergs/misc/wx/events.go
2024-11-09 11:35:33 +08:00

64 lines
2.5 KiB
Go

package wx
import (
ice "shylinux.com/x/icebergs"
"shylinux.com/x/icebergs/base/ctx"
"shylinux.com/x/icebergs/base/mdb"
"shylinux.com/x/icebergs/base/nfs"
"shylinux.com/x/icebergs/base/web"
kit "shylinux.com/x/toolkits"
)
const EVENTS = "events"
func init() {
const (
SUBSCRIBE = "subscribe"
UNSUBSCRIBE = "unsubscribe"
SCAN = "scan"
SCANCODE_WAITMSG = "scancode_waitmsg"
CLICK = "click"
)
Index.MergeCommands(ice.Commands{
EVENTS: {Help: "事件", Actions: ice.MergeActions(ice.Actions{
SUBSCRIBE: {Hand: func(m *ice.Message, arg ...string) {
m.Option(mdb.NAME, ice.Info.Titles)
// m.Option(mdb.TEXT, "无边界的扩张业务\n无极限的扩大规模")
m.Option(mdb.TEXT, "ContextOS-SaaS-AI\n软件平台免费提供各种各样的软件系统。")
m.Option(mdb.ICONS, m.MergeLink(m.Resource(ice.Info.NodeIcon)))
m.Cmdy(TEXT, web.LINK, m.MergeLink(mdb.Config(m, SUBSCRIBE)))
}},
UNSUBSCRIBE: {Hand: func(m *ice.Message, arg ...string) {
}},
SCAN: {Hand: func(m *ice.Message, arg ...string) {
msg := m.Cmd(SCAN, m.Option(ACCESS), arg[0])
m.Cmdy(TEXT, web.LINK, m.MergePodCmd(msg.Append(web.SPACE), msg.Append(ctx.INDEX)),
msg.Append(mdb.NAME), msg.Append(mdb.TEXT), msg.Append(mdb.ICONS))
return
m.Options(ice.MSG_USERPOD, msg.Append(web.SPACE))
link := m.Cmd(web.SHARE, mdb.CREATE, mdb.TYPE, web.FIELD, mdb.NAME, msg.Append(ctx.INDEX), mdb.TEXT, msg.Append(ctx.ARGS)).Option(web.LINK)
m.Cmdy(TEXT, web.LINK, link, msg.Append(mdb.NAME), msg.Append(mdb.TEXT), msg.Append(mdb.ICONS))
}},
SCANCODE_WAITMSG: {Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(TEXT, web.LINK, m.Option("ScanResult"))
}},
CLICK: {Hand: func(m *ice.Message, arg ...string) {
msg := m.Cmd(MENU, m.Option(ACCESS), arg[0])
m.Options(mdb.ICONS, msg.Append(mdb.ICONS), mdb.NAME, msg.Append(mdb.NAME), mdb.TEXT, kit.Select(msg.Append(ctx.INDEX), msg.Append(mdb.TEXT)))
if m.Option(mdb.ICONS) == "" && msg.Append(ctx.INDEX) != "" {
m.Search(msg.Append(ctx.INDEX), func(key string, cmd *ice.Command) {
if cmd.Icon != "" {
m.Option(mdb.ICONS, m.MergeLink(m.Resource(cmd.Icon)))
}
})
}
if msg.Append(ctx.INDEX) == "" {
m.Cmdy(TEXT, web.LINK, m.MergeLink(nfs.PS))
} else {
m.Cmdy(TEXT, web.LINK, m.MergePodCmd("", msg.Append(ctx.INDEX), kit.Split(msg.Append(ctx.ARGS))))
}
}},
}, mdb.HashAction(SUBSCRIBE, "/s/20240724-enterprise/c/web.team.guanlixitong.portal"))},
})
}