1
0
forked from x/icebergs
This commit is contained in:
IT 老营长 @云轩领航-创始人 2024-02-27 11:37:08 +08:00
parent 0fcf147873
commit b360e8a70a
3 changed files with 21 additions and 3 deletions

View File

@ -402,6 +402,10 @@ func init() {
m.Cmdy(tcp.WIFI).CutTo(tcp.SSID, arg[0]) m.Cmdy(tcp.WIFI).CutTo(tcp.SSID, arg[0])
case MESSAGE: case MESSAGE:
m.Cmdy(MESSAGE).Cut(mdb.HASH, mdb.ZONE, mdb.ICONS) m.Cmdy(MESSAGE).Cut(mdb.HASH, mdb.ZONE, mdb.ICONS)
case "target":
m.AdminCmd(MATRIX).Table(func(value ice.Maps) {
m.Push(arg[0], kit.Keys(kit.Select("", ice.OPS, ice.Info.NodeType == WORKER), value[DOMAIN], value[mdb.NAME]))
})
} }
}) })
ice.Info.AdminCmd = AdminCmd ice.Info.AdminCmd = AdminCmd

View File

@ -21,18 +21,30 @@ func init() {
messageCreate(m, cli.SYSTEM, "usr/icons/System Settings.png") messageCreate(m, cli.SYSTEM, "usr/icons/System Settings.png")
messageInsert(m, cli.SYSTEM, mdb.TYPE, "plug", ctx.INDEX, cli.RUNTIME) messageInsert(m, cli.SYSTEM, mdb.TYPE, "plug", ctx.INDEX, cli.RUNTIME)
}}, }},
mdb.CREATE: {Name: "create type*=tech,void zone* icons*"}, mdb.CREATE: {Name: "create type*=tech,void zone* icons* target"},
mdb.INSERT: {Hand: func(m *ice.Message, arg ...string) { mdb.INSERT: {Hand: func(m *ice.Message, arg ...string) {
mdb.ZoneInsert(m, append(arg, aaa.AVATAR, aaa.UserInfo(m, "", aaa.AVATAR, aaa.AVATAR), aaa.USERNICK, m.Option(ice.MSG_USERNICK), aaa.USERNAME, m.Option(ice.MSG_USERNAME))) mdb.ZoneInsert(m, append(arg, aaa.AVATAR, aaa.UserInfo(m, "", aaa.AVATAR, aaa.AVATAR), aaa.USERNICK, m.Option(ice.MSG_USERNICK), aaa.USERNAME, m.Option(ice.MSG_USERNAME)))
kit.If(mdb.HashSelectField(m, arg[0], "target"), func(p string) {
m.Cmd(web.SPACE, p, MESSAGE, tcp.RECV, arg[1:])
})
mdb.HashSelectUpdate(m, arg[0], func(value ice.Map) {
kit.Value(value, mdb.TIME, m.Time())
})
}}, }},
tcp.RECV: {Hand: func(m *ice.Message, arg ...string) { tcp.RECV: {Hand: func(m *ice.Message, arg ...string) {
mdb.ZoneInsert(m, kit.Simple(mdb.ZONE, m.Option(ice.FROM_SPACE), arg, aaa.AVATAR, aaa.UserInfo(m, "", aaa.AVATAR, aaa.AVATAR), aaa.USERNICK, m.Option(ice.MSG_USERNICK), aaa.USERNAME, m.Option(ice.MSG_USERNAME))) mdb.ZoneInsert(m, kit.Simple(mdb.ZONE, m.Option(ice.FROM_SPACE), web.SPACE, m.Option(ice.FROM_SPACE), arg, aaa.AVATAR, aaa.UserInfo(m, "", aaa.AVATAR, aaa.AVATAR), aaa.USERNICK, m.Option(ice.MSG_USERNICK), aaa.USERNAME, m.Option(ice.MSG_USERNAME)))
mdb.HashSelectUpdate(m, m.Option(ice.FROM_SPACE), func(value ice.Map) {
kit.Value(value, "target", m.Option(ice.FROM_SPACE))
})
mdb.HashSelectUpdate(m, m.Option(ice.FROM_SPACE), func(value ice.Map) {
kit.Value(value, mdb.TIME, m.Time())
})
}}, }},
web.DREAM_CREATE: {Hand: func(m *ice.Message, arg ...string) { web.DREAM_CREATE: {Hand: func(m *ice.Message, arg ...string) {
messageInsert(m, web.DREAM, mdb.TYPE, "plug", ctx.INDEX, IFRAME, ctx.ARGS, web.S(m.Option(mdb.NAME))) messageInsert(m, web.DREAM, mdb.TYPE, "plug", ctx.INDEX, IFRAME, ctx.ARGS, web.S(m.Option(mdb.NAME)))
}}, }},
}, web.DreamAction(), mdb.ZoneAction( }, web.DreamAction(), mdb.ZoneAction(
mdb.SHORT, mdb.ZONE, mdb.FIELD, "time,hash,type,zone,icons", mdb.FIELDS, "time,id,avatar,usernick,username,type,name,text,space,index,args", mdb.SHORT, mdb.ZONE, mdb.FIELD, "time,hash,type,zone,icons,target", mdb.FIELDS, "time,id,avatar,usernick,username,type,name,text,space,index,args",
)), Hand: func(m *ice.Message, arg ...string) { )), Hand: func(m *ice.Message, arg ...string) {
if len(arg) == 0 { if len(arg) == 0 {
mdb.ZoneSelect(m.Display("").Spawn(), arg...).Table(func(value ice.Maps) { mdb.ZoneSelect(m.Display("").Spawn(), arg...).Table(func(value ice.Maps) {
@ -40,6 +52,7 @@ func init() {
m.PushRecord(value, mdb.Config(m, mdb.FIELD)) m.PushRecord(value, mdb.Config(m, mdb.FIELD))
} }
}) })
m.Sort(mdb.TIME, "str_r")
} else { } else {
mdb.ZoneSelect(m, arg...).Sort(mdb.ID, ice.INT) mdb.ZoneSelect(m, arg...).Sort(mdb.ID, ice.INT)
} }

View File

@ -47,6 +47,7 @@ Volcanos(chat.ONIMPORT, {
}, },
_message: function(can, msg) { var now = new Date(), last = "" _message: function(can, msg) { var now = new Date(), last = ""
msg.Table(function(value) { can.db.zone.id = value.id msg.Table(function(value) { can.db.zone.id = value.id
value.space = value.space||can.base.trimPrefix(can.db.zone.target, "ops.")
var myself = value.username == can.user.info.username, time = can.base.TimeTrim(value.time) var myself = value.username == can.user.info.username, time = can.base.TimeTrim(value.time)
var t = new Date(value.time); if (!last || (t - last > 3*60*1000)) { last = t var t = new Date(value.time); if (!last || (t - last > 3*60*1000)) { last = t
can.page.Append(can, can.ui.message, [{view: [[html.ITEM, mdb.TIME], "", time]}]) can.page.Append(can, can.ui.message, [{view: [[html.ITEM, mdb.TIME], "", time]}])