1
0
forked from x/icebergs

add rc_local.sh

This commit is contained in:
IT 老营长 @云轩领航-创始人 2023-12-01 23:32:57 +08:00
parent 37186f3cf4
commit 67cfeb5e04
9 changed files with 39 additions and 15 deletions

View File

@ -154,6 +154,8 @@ func init() {
}, mdb.HashAction(mdb.SHORT, mdb.TEXT, mdb.FIELD, "time,hash,size,type,name,text,file", ctx.ACTION, WATCH), ice.RenderAction(ice.RENDER_DOWNLOAD)), Hand: func(m *ice.Message, arg ...string) { }, mdb.HashAction(mdb.SHORT, mdb.TEXT, mdb.FIELD, "time,hash,size,type,name,text,file", ctx.ACTION, WATCH), ice.RenderAction(ice.RENDER_DOWNLOAD)), Hand: func(m *ice.Message, arg ...string) {
if mdb.HashSelect(m, arg...); len(arg) == 0 || m.R != nil && m.R.Method == http.MethodGet { if mdb.HashSelect(m, arg...); len(arg) == 0 || m.R != nil && m.R.Method == http.MethodGet {
m.Option(ice.MSG_ACTION, "") m.Option(ice.MSG_ACTION, "")
} else if m.Length() == 0 {
return
} else if m.Append(nfs.FILE) == "" { } else if m.Append(nfs.FILE) == "" {
m.PushScript(mdb.TEXT, m.Append(mdb.TEXT)) m.PushScript(mdb.TEXT, m.Append(mdb.TEXT))
} else { } else {
@ -171,7 +173,9 @@ func init() {
action.Hand = ice.MergeHand(func(m *ice.Message, arg ...string) { action.Hand = ice.MergeHand(func(m *ice.Message, arg ...string) {
up := Upload(m) up := Upload(m)
m.Assert(len(up) > 1) m.Assert(len(up) > 1)
m.Cmd(CACHE, m.Option(ice.MSG_UPLOAD)).Table(func(value ice.Maps) { m.Options(value) }) if m.Cmd(CACHE, m.Option(ice.MSG_UPLOAD)).Table(func(value ice.Maps) { m.Options(value) }).Length() == 0 {
SpideCache(m.Spawn(), kit.MergeURL2(m.Option(ice.MSG_USERWEB), SHARE_CACHE+up[0]))
}
if m.Options(mdb.HASH, up[0], mdb.NAME, up[1]); watch { if m.Options(mdb.HASH, up[0], mdb.NAME, up[1]); watch {
m.Cmdy(CACHE, WATCH, m.Option(mdb.HASH), path.Join(m.Option(nfs.PATH), up[1])) m.Cmdy(CACHE, WATCH, m.Option(mdb.HASH), path.Join(m.Option(nfs.PATH), up[1]))
} }

View File

@ -137,6 +137,16 @@ const DREAM = "dream"
func init() { func init() {
Index.MergeCommands(ice.Commands{ Index.MergeCommands(ice.Commands{
DREAM: {Name: "dream name@key auto create repos startall stopall publish cmd cat", Help: "梦想家", Icon: "Launchpad.png", Actions: ice.MergeActions(ice.Actions{ DREAM: {Name: "dream name@key auto create repos startall stopall publish cmd cat", Help: "梦想家", Icon: "Launchpad.png", Actions: ice.MergeActions(ice.Actions{
ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) {
m = m.Spawn()
m.GoSleep("10s", func() {
mdb.HashSelects(m).Table(func(value ice.Maps) {
if value[cli.RESTART] == "always" && nfs.Exists(m, path.Join(ice.USR_LOCAL_WORK+value[mdb.NAME])) {
m.Cmd(DREAM, cli.START, kit.Dict(mdb.NAME, value[mdb.NAME]))
}
})
})
}},
ctx.CONFIG: {Hand: func(m *ice.Message, arg ...string) { ctx.CONFIG: {Hand: func(m *ice.Message, arg ...string) {
for _, cmd := range kit.Reverse(arg) { for _, cmd := range kit.Reverse(arg) {
m.Cmd(gdb.EVENT, gdb.LISTEN, gdb.EVENT, DREAM_TABLES, ice.CMD, cmd) m.Cmd(gdb.EVENT, gdb.LISTEN, gdb.EVENT, DREAM_TABLES, ice.CMD, cmd)
@ -262,7 +272,8 @@ func init() {
PushStats(m, kit.Keys(m.CommandKey(), mdb.TOTAL), msg.Length(), "") PushStats(m, kit.Keys(m.CommandKey(), mdb.TOTAL), msg.Length(), "")
} }
}}, }},
}, aaa.RoleAction(), StatsAction(), DreamAction(), mdb.ImportantHashAction(ctx.TOOLS, "web.space,web.route,web.code.git.search", mdb.SHORT, mdb.NAME, mdb.FIELD, "time,name,icon,repos,binary,template")), Hand: func(m *ice.Message, arg ...string) { }, aaa.RoleAction(), StatsAction(), DreamAction(), mdb.ImportantHashAction(ctx.TOOLS, "web.space,web.route,web.code.git.search",
mdb.SHORT, mdb.NAME, mdb.FIELD, "time,name,icon,repos,binary,template,restart")), Hand: func(m *ice.Message, arg ...string) {
if ice.Info.NodeType == WORKER { if ice.Info.NodeType == WORKER {
return return
} }

View File

@ -132,12 +132,18 @@ func RenderCmds(m *ice.Message, cmds ...ice.Any) {
} }
func RenderPodCmd(m *ice.Message, pod, cmd string, arg ...ice.Any) { func RenderPodCmd(m *ice.Message, pod, cmd string, arg ...ice.Any) {
msg := m.Cmd(Space(m, pod), ctx.COMMAND, kit.Select(m.PrefixKey(), cmd)) msg := m.Cmd(Space(m, pod), ctx.COMMAND, kit.Select(m.PrefixKey(), cmd))
if msg.Length() == 0 {
RenderResult(m, kit.Format("not found command %s", cmd))
return
}
RenderCmds(m, kit.Dict(msg.AppendSimple(mdb.NAME, mdb.HELP), RenderCmds(m, kit.Dict(msg.AppendSimple(mdb.NAME, mdb.HELP),
ctx.INDEX, msg.Append(ctx.INDEX), ctx.ARGS, kit.Simple(arg), ctx.DISPLAY, m.Option(ice.MSG_DISPLAY), ctx.INDEX, msg.Append(ctx.INDEX), ctx.ARGS, kit.Simple(arg), ctx.DISPLAY, m.Option(ice.MSG_DISPLAY),
mdb.LIST, kit.UnMarshal(msg.Append(mdb.LIST)), mdb.META, kit.UnMarshal(msg.Append(mdb.META)), mdb.LIST, kit.UnMarshal(msg.Append(mdb.LIST)), mdb.META, kit.UnMarshal(msg.Append(mdb.META)),
)) ))
} }
func RenderCmd(m *ice.Message, cmd string, arg ...ice.Any) { RenderPodCmd(m, "", cmd, arg...) } func RenderCmd(m *ice.Message, cmd string, arg ...ice.Any) {
RenderPodCmd(m, "", cmd, arg...)
}
func RenderVersion(m *ice.Message) string { func RenderVersion(m *ice.Message) string {
if ice.Info.Make.Hash == "" { if ice.Info.Make.Hash == "" {

View File

@ -169,6 +169,7 @@ func _serve_auth(m *ice.Message, key string, cmds []string, w http.ResponseWrite
cmds = append(kit.Split(cmds[0], ","), cmds[1:]...) cmds = append(kit.Split(cmds[0], ","), cmds[1:]...)
} }
if r.URL.Path == PP(SPACE) { if r.URL.Path == PP(SPACE) {
aaa.SessCheck(m, m.Option(ice.MSG_SESSID))
return cmds, true return cmds, true
} }
defer func() { m.Options(ice.MSG_CMDS, "", ice.MSG_SESSID, "") }() defer func() { m.Options(ice.MSG_CMDS, "", ice.MSG_SESSID, "") }()

View File

@ -401,6 +401,9 @@ func SpideDelete(m *ice.Message, arg ...ice.Any) ice.Any {
func SpideSave(m *ice.Message, file, link string, cb func(count, total, value int)) *ice.Message { func SpideSave(m *ice.Message, file, link string, cb func(count, total, value int)) *ice.Message {
return m.Cmd(Prefix(SPIDE), ice.DEV, SPIDE_SAVE, file, http.MethodGet, link, cb) return m.Cmd(Prefix(SPIDE), ice.DEV, SPIDE_SAVE, file, http.MethodGet, link, cb)
} }
func SpideCache(m *ice.Message, link string) *ice.Message {
return m.Cmd(Prefix(SPIDE), ice.DEV, SPIDE_CACHE, http.MethodGet, link)
}
func SpideOrigin(m *ice.Message, name string) string { func SpideOrigin(m *ice.Message, name string) string {
return m.Cmdv("web.spide", name, CLIENT_ORIGIN) return m.Cmdv("web.spide", name, CLIENT_ORIGIN)
} }

View File

@ -3,6 +3,7 @@ package chat
import ( import (
ice "shylinux.com/x/icebergs" ice "shylinux.com/x/icebergs"
"shylinux.com/x/icebergs/base/web" "shylinux.com/x/icebergs/base/web"
kit "shylinux.com/x/toolkits"
) )
const CMD = "cmd" const CMD = "cmd"
@ -10,15 +11,7 @@ const CMD = "cmd"
func init() { func init() {
Index.MergeCommands(ice.Commands{ Index.MergeCommands(ice.Commands{
CMD: {Help: "命令", Actions: web.ApiWhiteAction(), Hand: func(m *ice.Message, arg ...string) { CMD: {Help: "命令", Actions: web.ApiWhiteAction(), Hand: func(m *ice.Message, arg ...string) {
if len(arg[0]) == 0 || arg[0] == "" { web.RenderCmd(m, kit.Select(web.WIKI_WORD, arg, 0), kit.Slice(arg, 1))
web.RenderMain(m)
} else {
if m.IsCliUA() {
m.Cmdy(arg, m.Optionv(ice.ARG)).RenderResult()
} else {
web.RenderCmd(m, arg[0], arg[1:])
}
}
}}, }},
}) })
} }

View File

@ -161,10 +161,14 @@ func init() {
}}, }},
}, chat.FavorAction(), ctx.ProcessAction(), mdb.HashAction(mdb.FIELD, "time,hash,type,name,text,path")), Hand: func(m *ice.Message, arg ...string) { }, chat.FavorAction(), ctx.ProcessAction(), mdb.HashAction(mdb.FIELD, "time,hash,type,name,text,path")), Hand: func(m *ice.Message, arg ...string) {
if mdb.HashSelect(m, arg...); len(arg) == 0 { if mdb.HashSelect(m, arg...); len(arg) == 0 {
if web.IsLocalHost(m) {
m.Action(mdb.CREATE, mdb.PRUNES, ice.APP) m.Action(mdb.CREATE, mdb.PRUNES, ice.APP)
} else {
m.Action(mdb.CREATE, mdb.PRUNES)
}
} else { } else {
kit.If(m.Length() == 0, func() { arg[0] = m.Cmdx("", mdb.CREATE, arg); mdb.HashSelect(m, arg[0]) }) kit.If(m.Length() == 0, func() { arg[0] = m.Cmdx("", mdb.CREATE, arg); mdb.HashSelect(m, arg[0]) })
m.Push(mdb.HASH, arg[0]).Action(html.OUTPUT, ice.APP) m.Push(mdb.HASH, arg[0])
ctx.DisplayLocal(m, "") ctx.DisplayLocal(m, "")
} }
}}, }},

View File

@ -42,8 +42,8 @@ body.dark fieldset.web.wiki.portal>div.output>div.header div.story[data-name=nav
body.white fieldset.web.wiki.portal>div.output>div.header { color:silver; } body.white fieldset.web.wiki.portal>div.output>div.header { color:silver; }
body.light fieldset.web.wiki.portal>div.output>div.header { color:white; } body.light fieldset.web.wiki.portal>div.output>div.header { color:white; }
body.light fieldset.web.wiki.portal>div.output>div.header div.story[data-name=navmenu] { --hover-fg-color:black; } body.light fieldset.web.wiki.portal>div.output>div.header div.story[data-name=navmenu] { --hover-fg-color:black; }
body.light fieldset.web.wiki.portal>div.output>div.header div.list { display:flex; }
fieldset.web.wiki.portal>div.output>div.header div.story[data-name=navmenu] { --hover-fg-color:white; } fieldset.web.wiki.portal>div.output>div.header div.story[data-name=navmenu] { --hover-fg-color:white; }
fieldset.web.wiki.portal>div.output>div.header div.list { display:flex; }
body.mobile fieldset.web.wiki.portal { --portal-main-padding:10px; --legend-padding:10px; } body.mobile fieldset.web.wiki.portal { --portal-main-padding:10px; --legend-padding:10px; }
body.mobile fieldset.web.wiki.portal>div.output>div.layout { display:block; } body.mobile fieldset.web.wiki.portal>div.output>div.layout { display:block; }

View File

@ -58,6 +58,7 @@ var Info = struct {
PidPath string PidPath string
Traceid string Traceid string
Colors bool Colors bool
Pwd string
Lang string Lang string
System string System string
@ -103,6 +104,7 @@ var Info = struct {
} }
func init() { func init() {
Info.Pwd = kit.Path("")
Info.Traceid = os.Getenv(LOG_TRACE) Info.Traceid = os.Getenv(LOG_TRACE)
} }
func AddMergeAction(h ...Any) { func AddMergeAction(h ...Any) {