1
0
mirror of https://shylinux.com/x/icebergs synced 2025-04-26 01:24:05 +08:00
This commit is contained in:
IT 老营长 @云轩领航-创始人 2022-09-29 17:18:14 +08:00
parent 3208f8bf8a
commit 3a7338a425
14 changed files with 36 additions and 53 deletions

View File

@ -38,11 +38,14 @@ func init() {
mdb.REVERT: {Name: "revert", Help: "恢复", Hand: func(m *ice.Message, arg ...string) {
Rename(m, m.Option(FILE), m.Option(FROM))
mdb.HashRemove(m, m.OptionSimple(mdb.HASH))
m.ProcessRefresh()
}},
mdb.CREATE: {Name: "create path", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
p := path.Join(ice.VAR_TRASH, path.Base(m.Option(PATH)))
RemoveAll(m, p)
if MkdirAll(m, path.Dir(p)); !m.Warn(Rename(m, m.Option(PATH), p)) {
mdb.HashCreate(m, FROM, m.Option(PATH), FILE, p)
m.ProcessRefresh()
m.Echo(p)
}
}},

View File

@ -149,6 +149,9 @@ func RenderWebsite(m *ice.Message, pod string, dir string, arg ...string) *ice.M
return m.Echo(m.Cmdx(Space(m, pod), "web.chat.website", lex.PARSE, dir, arg)).RenderResult()
}
func RenderCmd(m *ice.Message, index string, args ...ice.Any) {
if index == "" {
return
}
list := index
if index != "" {
msg := m.Cmd(ctx.COMMAND, index)

View File

@ -60,7 +60,7 @@ func _share_local(m *ice.Message, arg ...string) {
return // 没有权限
}
default:
if !aaa.Right(m, ls) {
if !aaa.Right(m, ls) && m.Option(ice.POD) == "" {
m.Render(STATUS, http.StatusUnauthorized, ice.ErrNotRight)
return // 没有权限
}

View File

@ -12,25 +12,23 @@ footer.go
template.go
section "集群"
sso.go
pod.go
cmd.go
website.go
div.go
sso.go
oauth
section "应用"
keyboard.go
iframe.go
paste.go
media.go
files.go
trans.go
media.go
scan.go
scan.js
location.go
location.shy
topic.go
meet.go
room.go
topic.go
keyboard.go
location.go
location.shy

View File

@ -26,13 +26,7 @@ func _cmd_file(m *ice.Message, arg ...string) bool {
web.RenderCmd(m, "web.wiki.word", p)
case nfs.IML:
if m.Option(ice.MSG_USERPOD) == "" {
m.RenderRedirect(path.Join(CHAT_WEBSITE, strings.TrimPrefix(p, SRC_WEBSITE)))
m.Option(ice.MSG_ARGS, m.Option(ice.MSG_ARGS))
} else {
m.RenderRedirect(path.Join("/chat/pod", m.Option(ice.MSG_USERPOD), "website", strings.TrimPrefix(p, SRC_WEBSITE)))
m.Option(ice.MSG_ARGS, m.Option(ice.MSG_ARGS))
}
m.RenderRedirect(web.MergePodWebSite(m, "", strings.TrimPrefix(p, SRC_WEBSITE)))
case nfs.ZML:
web.RenderCmd(m, "can.parse", m.Cmdx(nfs.CAT, p))
@ -56,7 +50,6 @@ func init() {
CMD: {Name: "cmd path auto upload up home", Help: "命令", Actions: ice.MergeActions(ice.Actions{
ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) {
m.Cmd(aaa.ROLE, aaa.WHITE, aaa.VOID, CMD)
m.Cmdy(CMD, mdb.CREATE, mdb.TYPE, nfs.SHY, mdb.NAME, "web.wiki.word")
m.Cmdy(CMD, mdb.CREATE, mdb.TYPE, nfs.SVG, mdb.NAME, "web.wiki.draw")
m.Cmdy(CMD, mdb.CREATE, mdb.TYPE, nfs.CSV, mdb.NAME, "web.wiki.data")
m.Cmdy(CMD, mdb.CREATE, mdb.TYPE, nfs.JSON, mdb.NAME, "web.wiki.json")
@ -64,14 +57,15 @@ func init() {
m.Cmdy(CMD, mdb.CREATE, mdb.TYPE, k, mdb.NAME, "web.code.inner")
}
}},
}, mdb.HashAction(mdb.SHORT, "type", nfs.PATH, nfs.PWD), ctx.CmdAction(), web.ApiAction()), Hand: func(m *ice.Message, arg ...string) {
}, mdb.HashAction(mdb.SHORT, mdb.TYPE, nfs.PATH, nfs.PWD), ctx.CmdAction(), web.ApiAction()), Hand: func(m *ice.Message, arg ...string) {
if _cmd_file(m, arg...) {
return
}
if ctx.PodCmd(m, ctx.COMMAND, arg[0]) && !m.IsErr() {
web.RenderCmd(m, arg[0], arg[1:]) // 远程命令
} else if m.Cmdy(ctx.COMMAND, arg[0]); m.Length() > 0 {
web.RenderCmd(m, arg[0], arg[1:]) // 本地命令
if len(arg[0]) == 0 || arg[0] == "" {
return
}
if m.Cmdy(ctx.COMMAND, arg[0]); m.Length() > 0 {
web.RenderCmd(m, arg[0], arg[1:])
}
}},
})

View File

@ -2,6 +2,7 @@ package chat
import (
ice "shylinux.com/x/icebergs"
"shylinux.com/x/icebergs/base/cli"
"shylinux.com/x/icebergs/base/mdb"
"shylinux.com/x/icebergs/base/nfs"
"shylinux.com/x/icebergs/base/web"
@ -23,7 +24,8 @@ func init() {
if m.PushDownload(mdb.LINK, value[mdb.NAME], link); len(arg) > 0 && kit.ExtIsImage(value[mdb.NAME]) {
m.PushImages("image", link)
}
})
m.PushQRCode(cli.QRCODE, web.MergeURL2(m, link))
}).PushAction(mdb.REMOVE)
}},
})
}

View File

@ -22,8 +22,7 @@ func init() {
if mdb.HashSelect(m, arg...); len(arg) == 0 || arg[0] == "" {
m.Action(mdb.CREATE, mdb.PRUNES)
} else {
m.StatusTime(mdb.LINK, m.Append(mdb.LINK))
m.Action(cli.OPEN)
m.Action(cli.OPEN).StatusTime(mdb.LINK, m.Append(mdb.LINK))
ctx.DisplayLocal(m, "")
}
}},

View File

@ -11,8 +11,9 @@ import (
kit "shylinux.com/x/toolkits"
)
const MEDIA = "media"
func init() {
const MEDIA = "media"
Index.MergeCommands(ice.Commands{
MEDIA: {Name: "media path auto", Help: "媒体", Actions: ice.MergeActions(ice.Actions{
web.UPLOAD: {Hand: func(m *ice.Message, arg ...string) {

View File

@ -20,6 +20,7 @@ func init() {
if mdb.HashSelect(m, arg...); len(arg) > 0 {
m.PushScript(ssh.SCRIPT, m.Append(mdb.TEXT))
m.PushQRCode(cli.QRCODE, m.Append(mdb.TEXT))
m.PushAction(mdb.REMOVE)
}
}},
})

View File

@ -39,15 +39,11 @@ func init() {
web.RenderIndex(m, ice.VOLCANOS) // 节点首页
}
} else if arg[1] == CMD {
m.Cmdy(web.SPACE, arg[0], m.Prefix(CMD), path.Join(arg[2:]...)) // 节点命令
} else if arg[1] == WEBSITE {
web.RenderWebsite(m, arg[0], path.Join(arg[2:]...)) // 节点网页
} else if arg[1] == CMD {
m.Option(ice.POD, "")
m.Cmdy(web.SPACE, arg[0], m.Prefix(CMD), path.Join(arg[2:]...)) // 节点命令
} else {
m.Cmdy(web.SPACE, m.Option(ice.MSG_USERPOD), "web.chat."+strings.TrimPrefix(path.Join(arg[1:]...), "chat/"))
// m.Cmdy(web.SPACE, m.Option(ice.MSG_USERPOD), "web.chat."+ice.PS+path.Join(arg[1:]...))
}
}},
})

View File

@ -22,6 +22,7 @@ func init() {
}
m.PushScript(ssh.SCRIPT, m.Append(mdb.TEXT))
m.PushQRCode(cli.QRCODE, m.Append(mdb.TEXT))
m.PushAction(mdb.REMOVE)
}
}},
})

View File

@ -1,15 +0,0 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, target) {
can.onmotion.clear(can), can.base.isFunc(cb) && cb(msg)
can.onappend.table(can, msg)
can.onappend.board(can, msg)
},
})
Volcanos(chat.ONACTION, {help: "控件交互",
scanQRCode0: function(event, can) { can.user.agent.scanQRCode() },
scanQRCode: function(event, can, button) { can.user.agent.scanQRCode(function(text, data) {
can.runAction(can.request(event, data), data.action||button, [], function(msg) {
can.user.toastSuccess(can, text), can.Update()
}, true)
}, can) },
})

View File

@ -13,7 +13,7 @@ const SSO = "sso"
func init() {
Index.MergeCommands(ice.Commands{
"/sso": {Name: "/sso", Help: "登录", Actions: ice.Actions{
web.P(SSO): {Name: "/sso", Help: "登录", Actions: ice.Actions{
ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) { m.Cmd(aaa.ROLE, aaa.WHITE, aaa.VOID, SSO) }},
}, Hand: func(m *ice.Message, arg ...string) {
if m.Option(ice.MSG_USERNAME) == "" {
@ -23,8 +23,8 @@ func init() {
if m.Warn(m.Option(cli.BACK) == "") {
return
}
args := []string{aaa.USERNAME, m.Option(ice.MSG_USERNAME), aaa.USERROLE, m.Option(ice.MSG_USERROLE), aaa.USERNICK, m.Option(ice.MSG_USERNICK)}
sessid := aaa.UserRoot(m).Cmdx(web.SPACE, m.Option(web.SPACE), aaa.SESS, mdb.CREATE, args)
sessid := aaa.UserRoot(m).Cmdx(web.SPACE, m.Option(web.SPACE), aaa.SESS, mdb.CREATE, aaa.USERNAME, m.Option(ice.MSG_USERNAME),
aaa.USERROLE, m.Option(ice.MSG_USERROLE), aaa.USERNICK, m.Option(ice.MSG_USERNICK))
m.RenderRedirect(kit.MergeURL(m.Option(cli.BACK), ice.MSG_SESSID, sessid))
}},
})

View File

@ -115,8 +115,8 @@ func (m *Message) ProcessHistory(arg ...Any) {
func (m *Message) ProcessConfirm(arg ...Any) {
m.Process(PROCESS_CONFIRM, arg...)
}
func (m *Message) ProcessRefresh(delay string) {
if d, e := time.ParseDuration(delay); e == nil {
func (m *Message) ProcessRefresh(arg ...string) { // delay
if d, e := time.ParseDuration(kit.Select("300ms", arg, 0)); e == nil {
m.Option("_delay", int(d/time.Millisecond))
}
m.Process(PROCESS_REFRESH)