1
0
mirror of https://shylinux.com/x/icebergs synced 2025-05-01 19:19:24 +08:00
This commit is contained in:
IT 老营长 @云轩领航-创始人 2023-09-14 15:22:23 +08:00
parent ec4cc2b660
commit 695284c469
8 changed files with 38 additions and 15 deletions

View File

@ -150,6 +150,8 @@ func FileURI(dir string) string {
dir = strings.TrimPrefix(dir, ice.Info.Make.Path)
} else if strings.HasPrefix(dir, kit.Path("")+nfs.PS) {
dir = strings.TrimPrefix(dir, kit.Path("")+nfs.PS)
} else if strings.HasPrefix(dir, ".ish/pluged/") {
dir = strings.TrimPrefix(dir, ".ish/pluged/")
}
return path.Join(nfs.PS, ice.REQUIRE, dir)
}

View File

@ -149,6 +149,8 @@ func init() {
m.Cmd(nfs.DIR, ice.USR_LOCAL_WORK, kit.Dict(nfs.DIR_TYPE, nfs.TYPE_BOTH), func(value ice.Maps) {
m.Cmdy(nfs.DIR, path.Join(value[nfs.PATH], ice.BIN), "path,size,time", kit.Dict(nfs.DIR_TYPE, nfs.TYPE_BIN))
})
m.RenameAppend(nfs.PATH, arg[0])
mdb.HashInputs(m, arg)
default:
gdb.Event(m, DREAM_INPUTS, arg)
}

View File

@ -16,6 +16,7 @@ const (
const (
FLOAT = "float"
OUTPUT = "output"
CHROME = "chrome"
TEXT_PLAIN = "text/plain"
)

View File

@ -18,6 +18,7 @@ import (
"shylinux.com/x/icebergs/base/nfs"
"shylinux.com/x/icebergs/base/ssh"
"shylinux.com/x/icebergs/base/tcp"
"shylinux.com/x/icebergs/base/web/html"
"shylinux.com/x/icebergs/misc/websocket"
kit "shylinux.com/x/toolkits"
)
@ -50,11 +51,16 @@ func _space_fork(m *ice.Message) {
addr := kit.Select(m.R.RemoteAddr, m.R.Header.Get(ice.MSG_USERADDR))
name := kit.ReplaceAll(kit.Select(addr, m.Option(mdb.NAME)), "[", "_", "]", "_", nfs.DF, "_", nfs.PT, "_")
text := kit.Select(addr, m.Option(mdb.TEXT))
if kit.IsIn(m.Option(mdb.TYPE), CHROME) && m.Option(mdb.NAME) != CHROME || !(ice.Info.Localhost && tcp.IsLocalHost(m, m.R.RemoteAddr) ||
text = strings.ReplaceAll(text, "%2F", "/")
if kit.IsIn(m.Option(mdb.TYPE), PORTAL) && m.Option(mdb.NAME) != html.CHROME || !(ice.Info.Localhost && tcp.IsLocalHost(m, m.R.RemoteAddr) ||
m.Option(TOKEN) != "" && m.Cmdv(TOKEN, m.Option(TOKEN), mdb.TIME) > m.Time()) || mdb.HashSelect(m.Spawn(), name).Length() > 0 {
name, text = kit.Hashs(name), kit.Select(addr, m.Option(mdb.NAME), m.Option(mdb.TEXT))
}
if m.Option(mdb.TYPE) == WORKER {
if p := nfs.USR_LOCAL_WORK + m.Option(mdb.NAME); nfs.Exists(m, p) {
text = p
}
}
args := kit.Simple(mdb.TYPE, kit.Select(WORKER, m.Option(mdb.TYPE)), mdb.NAME, name, mdb.TEXT, text, m.OptionSimple(cli.DAEMON, ice.MSG_USERUA), m.OptionSimple(nfs.MODULE, nfs.VERSION))
if c, e := websocket.Upgrade(m.W, m.R); !m.Warn(e) {
gdb.Go(m, func() {
@ -63,7 +69,7 @@ func _space_fork(m *ice.Message) {
case SERVER:
case WORKER:
defer gdb.EventDeferEvent(m, DREAM_OPEN, args)(DREAM_CLOSE, args)
case CHROME:
case PORTAL:
m.Go(func() { m.Cmd(SPACE, name, cli.PWD, name) })
case LOGIN:
if m.Option(ice.MSG_SESSID) != "" && m.Option(ice.MSG_USERNAME) != "" {
@ -155,10 +161,10 @@ func _space_send(m *ice.Message, name string, arg ...string) (h string) {
}
const (
CHROME = "chrome"
MASTER = "master"
SERVER = "server"
PORTAL = "portal"
WORKER = "worker"
SERVER = "server"
MASTER = "master"
REDIAL = "redial"
)
@ -195,6 +201,7 @@ func init() {
mdb.REMOVE: {Hand: func(m *ice.Message, arg ...string) {
defer mdb.HashModifyDeferRemove(m, m.OptionSimple(mdb.NAME), mdb.STATUS, cli.STOP)()
m.Cmd("", m.Option(mdb.NAME), ice.EXIT)
m.Sleep("1s")
}},
mdb.SEARCH: {Hand: func(m *ice.Message, arg ...string) {
if mdb.IsSearchPreview(m, arg) {
@ -227,22 +234,18 @@ func init() {
defer m.StatusTimeCount()
m.Option(ice.MSG_USERWEB, tcp.PublishLocalhost(m, m.Option(ice.MSG_USERWEB)))
mdb.HashSelect(m.Spawn(), arg...).Sort("").Table(func(index int, value ice.Maps, field []string) {
if kit.IsIn(value[mdb.TYPE], CHROME, "send") {
// return
}
if m.Push("", value, kit.Split(mdb.Config(m, mdb.FIELD))); len(arg) > 0 && arg[0] != "" {
m.Push(mdb.STATUS, value[mdb.STATUS])
}
if kit.IsIn(value[mdb.TYPE], SERVER, WORKER) {
if kit.IsIn(value[mdb.TYPE], WORKER, SERVER) {
m.Push(mdb.LINK, m.MergePod(value[mdb.NAME]))
} else if value[mdb.TYPE] == CHROME && value[mdb.NAME] != "chrome" {
} else if value[mdb.TYPE] == PORTAL && value[mdb.NAME] != html.CHROME {
m.Push(mdb.LINK, MergeURL2(m, value[mdb.TEXT]))
} else {
m.Push(mdb.LINK, "")
}
m.PushButton(kit.Select(OPEN, LOGIN, value[mdb.TYPE] == LOGIN), mdb.REMOVE)
})
kit.If(!m.IsCliUA(), func() { m.Cmdy("web.code.publish", "contexts", ice.APP) })
kit.If(len(arg) == 1, func() { m.EchoIFrame(m.MergePod(arg[0])) })
} else {
_space_send(m, arg[0], kit.Simple(kit.Split(arg[1]), arg[2:])...)

View File

@ -21,7 +21,10 @@ func init() {
ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) {
FinderAppend(m, "Applications", m.PrefixKey())
m.Travel(func(p *ice.Context, c *ice.Context, key string, cmd *ice.Command) {
kit.If(cmd.Icon, func() { AppInstall(m, cmd.Icon, m.PrefixKey()) })
kit.If(cmd.Icon, func() {
m.Debug("what %v", cmd.Icon)
AppInstall(m, cmd.Icon, m.PrefixKey())
})
})
Notify(m, cli.RUNTIME, "系统启动成功", ctx.INDEX, cli.RUNTIME)
}},

View File

@ -160,7 +160,6 @@ func init() {
nfs.REPOS: {Help: "仓库"}, web.SPACE: {Help: "空间"}, web.DREAM: {Help: "空间"}, FAVOR: {Help: "收藏"},
cli.OPENS: {Hand: func(m *ice.Message, arg ...string) { cli.Opens(m, arg...) }},
"listTags": {Help: "生成索引", Hand: func(m *ice.Message, arg ...string) { m.Cmd("web.code.vim.tags", nfs.LOAD) }},
TEMPLATE: {Hand: func(m *ice.Message, arg ...string) {
m.Cmdy(TEMPLATE, kit.Ext(m.Option(mdb.FILE)), m.Option(nfs.FILE), m.Option(nfs.PATH))
}},
@ -168,6 +167,11 @@ func init() {
m.Cmdy(COMPLETE, kit.Ext(m.Option(mdb.FILE)), m.Option(nfs.FILE), m.Option(nfs.PATH))
}},
COMPILE: {Help: "编译", Hand: func(m *ice.Message, arg ...string) {
if nfs.ExistsFile(m, path.Join(m.Option(nfs.PATH), "Makefile")) {
web.PushStream(m)
m.Cmdy(cli.SYSTEM, cli.MAKE, kit.Dict(cli.CMD_DIR, m.Option(nfs.PATH)))
return
}
const app, _app = "usr/publish/Contexts.app", "Contents/MacOS/Contexts"
isWebview := func() bool { return strings.HasSuffix(os.Args[0], _app) }
cmds := []string{COMPILE, ice.SRC_MAIN_GO, ice.BIN_ICE_BIN}

View File

@ -64,6 +64,7 @@ func init() {
kit.For([]string{HTML_URL, WEBSITE}, func(key string) { kit.If(kit.Format(value[key]), func() { button = append(button, key) }) })
m.PushButton(button...)
})
// m.Echo("%v", kit.Formats(res))
m.RenameAppend(CLONE_URL, REPOS).StatusTimeCount().Display("").Action(ORIGIN)
}},
})

View File

@ -178,7 +178,14 @@ func init() {
}},
code.INNER: {Hand: func(m *ice.Message, arg ...string) { _repos_inner(m, _service_path, arg...) }},
web.DREAM_INPUTS: {Hand: func(m *ice.Message, arg ...string) {
kit.If(arg[0] == REPOS, func() { mdb.HashSelect(m).Sort(REPOS).Cut("repos,branch,commit,time") })
kit.If(arg[0] == REPOS, func() {
mdb.HashSelect(m).Sort(REPOS).Cut("repos,version,time")
m.Cmd(mdb.SEARCH, nfs.REPOS).Table(func(value ice.Maps) {
m.Push(nfs.REPOS, value["html_url"])
m.Push(nfs.VERSION, "")
m.Push(mdb.TIME, value["updated_at"])
})
})
}},
}, gdb.EventsAction(web.DREAM_INPUTS), mdb.HashAction(mdb.SHORT, REPOS, mdb.FIELD, "time,repos,branch,version,comment"), mdb.ClearOnExitHashAction()), Hand: func(m *ice.Message, arg ...string) {
if len(arg) == 0 {