diff --git a/base/nfs/dir.go b/base/nfs/dir.go index d59226e8..ed7a0275 100644 --- a/base/nfs/dir.go +++ b/base/nfs/dir.go @@ -155,6 +155,7 @@ const ( SRC_DOCUMENT = "src/document/" SRC_PRIVATE = "src/private/" SRC_MAIN_PNG = "src/main.png" + SRC_OPTION_GO = "src/option.go" SRC_TEMPLATE = ice.SRC_TEMPLATE USR_TOOLKITS = ice.USR_TOOLKITS USR_ICEBERGS = ice.USR_ICEBERGS diff --git a/base/web/spide.go b/base/web/spide.go index 604dda6d..3043f107 100644 --- a/base/web/spide.go +++ b/base/web/spide.go @@ -346,13 +346,14 @@ func init() { default: switch arg[0] { case mdb.NAME, mdb.ICONS: - m.SplitIndex(m.Cmdx(SPIDE, ice.DEV, kit.MergeURL2(m.Option(ORIGIN), C(SPACE, "info")))).Cut(arg[0]) + m.SplitIndex(m.Cmdx(SPIDE, ice.DEV, kit.MergeURL2(m.Option(ORIGIN), C(SPACE, ice.INFO)))).Cut(arg[0]) mdb.HashInputs(m, arg) default: mdb.HashSelectValue(m.Spawn(), func(value ice.Map) { m.Push(kit.Select(ORIGIN, arg, 0), kit.Value(value, kit.Keys("client", arg[0]))) }) kit.If(arg[0] == mdb.TYPE, func() { m.Push(arg[0], nfs.REPOS) }) + m.Sort(arg[0]) } } }}, diff --git a/base/web/store.go b/base/web/store.go index aac56014..9c9e1578 100644 --- a/base/web/store.go +++ b/base/web/store.go @@ -22,7 +22,15 @@ func init() { 同样的每个用户,也可以添加任意多个商店,直接将空间下载到本机使用。 `, 300.0) }}, - mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) { m.Cmdy(SPIDE, mdb.INPUTS, arg) }}, + mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) { + switch arg[0] { + case ORIGIN: + m.Cmd(BROAD).Table(func(value ice.Maps) { + m.Push(arg[0], HostPort(m, value[tcp.HOST], value[tcp.PORT])) + }) + } + m.Cmdy(SPIDE, mdb.INPUTS, arg) + }}, mdb.CREATE: {Name: "create origin* name icons", Hand: func(m *ice.Message, arg ...string) { m.Cmd(SPIDE, mdb.CREATE, m.OptionSimple("origin,name,icons"), mdb.TYPE, nfs.REPOS) }}, @@ -67,9 +75,9 @@ func init() { m.Push(mdb.TYPE, ORIGIN) m.Push(mdb.NAME, value[CLIENT_NAME]).Push(mdb.ICONS, value[mdb.ICONS]).Push(ORIGIN, value[CLIENT_ORIGIN]) if _, ok := list[value[CLIENT_NAME]]; ok || kit.IsIn(value[CLIENT_NAME], ice.OPS, ice.DEV) { - m.Push("exists", ice.TRUE) + m.Push(mdb.STATUS, ice.TRUE) } else { - m.Push("exists", ice.FALSE) + m.Push(mdb.STATUS, ice.FALSE) } }) }) @@ -104,22 +112,22 @@ func init() { // } m.Push("", value, kit.Split("time,type,name,icons,repos,binary,module,version")) if _, ok := list[value[mdb.NAME]]; ok { - m.Push("exists", ice.TRUE) + m.Push(mdb.STATUS, ice.TRUE) } else { - m.Push("exists", ice.FALSE) + m.Push(mdb.STATUS, ice.FALSE) } if value[mdb.TYPE] == SERVER { m.Push(mdb.TEXT, value[mdb.TEXT]).Push(ORIGIN, value[mdb.TEXT]).PushButton() return } m.Push(mdb.TEXT, value[nfs.REPOS]).Push(ORIGIN, origin) - if _, ok := list[value[mdb.NAME]]; ok || arg[0] == ice.OPS { - m.PushButton(PORTAL, INSTALL) - } else if ice.Info.NodeType == WORKER || !aaa.IsTechOrRoot(m) { - m.PushButton(PORTAL) - } else { - m.PushButton(PORTAL, INSTALL) + button := []ice.Any{PORTAL} + if _, ok := list[value[mdb.NAME]]; ok { + button = append(button, OPEN) + } else if aaa.IsTechOrRoot(m) { + button = append(button, INSTALL) } + m.PushButton(button...) }) m.StatusTimeCount(ORIGIN, origin, stat) } diff --git a/base/web/store.js b/base/web/store.js index 1d96ec6c..64104772 100644 --- a/base/web/store.js +++ b/base/web/store.js @@ -6,7 +6,7 @@ Volcanos(chat.ONIMPORT, { }, _project: function(can, msg, dev, target) { msg.Table(function(value) { if (value.type == web.WORKER) { return } - value.nick = [{text: value.name}, value.exists == "true" && {text: ["●", "", "exists"]}] + value.nick = [{text: value.name}, value.status == "true" && {text: ["●", "", "exists"]}] value._hash = dev.concat([value.name]).join(":"), value._select = can.base.beginWith(can.db.hash.join(":"), value._hash) value.icons = can.misc.Resource(can, value.icons||"usr/icons/icebergs.png", "", value.origin) can.onimport.itemlist(can, [value], function(event, item, show, target) { diff --git a/core/code/autogen.go b/core/code/autogen.go index 6228e0a6..f3727789 100644 --- a/core/code/autogen.go +++ b/core/code/autogen.go @@ -207,7 +207,7 @@ func init() { } }}, IMPORT: {Hand: func(m *ice.Message, arg ...string) { - m.Echo(_autogen_import(m, ice.SRC_MAIN_GO, arg[0], kit.Select(_autogen_mod(m, ice.GO_MOD), arg, 1))) + m.Echo(_autogen_import(m, kit.Select(ice.SRC_MAIN_GO, arg, 2), arg[0], kit.Select(_autogen_mod(m, ice.GO_MOD), arg, 1))) }}, BINPACK: {Help: "打包", Hand: func(m *ice.Message, arg ...string) { kit.For([]string{"intshell", "volcanos", "node_modules", "learning", "icons"}, func(p string) {