From 3e92ecd3a8eaf8bc5899d47cc787e66c3304e6f2 Mon Sep 17 00:00:00 2001 From: harveyshao Date: Tue, 30 Nov 2021 14:29:47 +0800 Subject: [PATCH] opt some --- base/ctx/context.go | 11 ++++----- base/web/route.go | 57 +++++++++++++++++++++------------------------ misc/git/spide.go | 5 ++-- 3 files changed, 34 insertions(+), 39 deletions(-) diff --git a/base/ctx/context.go b/base/ctx/context.go index f25da1a2..5bce8a39 100644 --- a/base/ctx/context.go +++ b/base/ctx/context.go @@ -27,16 +27,15 @@ func init() { "spide": {Name: "spide", Help: "架构图", Hand: func(m *ice.Message, arg ...string) { if len(arg) == 0 || arg[1] == CONTEXT { // 模块列表 m.Cmdy(CONTEXT, kit.Select(ice.ICE, arg, 0), CONTEXT) - m.Display("/plugin/story/spide.js", "root", kit.Select(ice.ICE, arg, 0), - "field", "name", "split", ice.PT, "prefix", "spide") - return - } - if index := kit.Keys(arg[1]); strings.HasSuffix(index, arg[2]) { // 命令列表 + m.Display("/plugin/story/spide.js?prefix=spide", "root", kit.Select(ice.ICE, arg, 0), "split", ice.PT) + + } else if index := kit.Keys(arg[1]); strings.HasSuffix(index, arg[2]) { // 命令列表 m.Cmdy(CONTEXT, index, COMMAND).Table(func(i int, value map[string]string, head []string) { m.Push("file", arg[1]) }) + } else { // 命令详情 - m.Cmdy(COMMAND, kit.Keys(index, strings.Split(arg[2], " ")[0])) + m.Cmdy(COMMAND, kit.Keys(index, strings.Split(arg[2], ice.SP)[0])) } }}, }, CmdAction()), Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { diff --git a/base/web/route.go b/base/web/route.go index b780c55d..954a3dd2 100644 --- a/base/web/route.go +++ b/base/web/route.go @@ -4,6 +4,7 @@ import ( ice "shylinux.com/x/icebergs" "shylinux.com/x/icebergs/base/aaa" "shylinux.com/x/icebergs/base/ctx" + "shylinux.com/x/icebergs/base/lex" "shylinux.com/x/icebergs/base/mdb" "shylinux.com/x/icebergs/base/nfs" "shylinux.com/x/icebergs/base/tcp" @@ -69,7 +70,7 @@ func init() { Index.Merge(&ice.Context{Configs: map[string]*ice.Config{ ROUTE: {Name: ROUTE, Help: "路由器", Value: kit.Data(kit.MDB_SHORT, kit.SSH_ROUTE)}, }, Commands: map[string]*ice.Command{ - ROUTE: {Name: "route route ctx cmd auto invite share spide", Help: "路由器", Action: map[string]*ice.Action{ + ROUTE: {Name: "route route ctx cmd auto spide invite share", Help: "路由器", Action: map[string]*ice.Action{ SHARE: {Name: "share", Help: "共享", Hand: func(m *ice.Message, arg ...string) { p := kit.MergeURL(m.Option(ice.MSG_USERWEB), SHARE, m.Cmdx(SHARE, mdb.CREATE, kit.MDB_TYPE, LOGIN)) m.EchoAnchor(p) @@ -77,13 +78,13 @@ func init() { m.EchoQRCode(p) }}, aaa.INVITE: {Name: "invite", Help: "脚本", Hand: func(m *ice.Message, arg ...string) { - for _, k := range []string{"tmux", "base", "miss"} { + for _, k := range []string{"base", "core", "misc"} { m.Cmdy("web.code.publish", ice.CONTEXTS, k) } m.EchoScript("shell", "# 共享环境", m.Option(ice.MSG_USERWEB)) + m.EchoAnchor(m.Option(ice.MSG_USERWEB)).Echo("
") m.EchoQRCode(m.Option(ice.MSG_USERWEB)) - m.EchoAnchor(m.Option(ice.MSG_USERWEB)) }}, mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) { switch m.Option(ctx.ACTION) { @@ -102,7 +103,6 @@ func init() { m.SortStrR(kit.MDB_PATH) } }}, - mdb.CREATE: {Name: "create main=src/main.go@key name=hi@key from=usr/icebergs/misc/bash/bash.go@key", Help: "添加", Hand: func(m *ice.Message, arg ...string) { m.Cmdy(SPACE, m.Option(ROUTE), "web.code.autogen", mdb.CREATE, arg) m.ProcessInner() @@ -117,24 +117,21 @@ func init() { ice.RUN: {Name: "run", Help: "执行", Hand: func(m *ice.Message, arg ...string) { m.Cmdy(SPACE, m.Option(ROUTE), arg) }}, - "spide": {Name: "spide", Help: "架构图", Hand: func(m *ice.Message, arg ...string) { - if m.Option("route") == "" { // 机器列表 route - m.Cmdy(ROUTE).Cut("route") - m.Display("/plugin/story/spide.js", "root", ice.ICE, "field", "route", "split", ice.PT, "prefix", "spide") - return + SPIDE: {Name: "spide", Help: "架构图", Hand: func(m *ice.Message, arg ...string) { + if m.Option(ROUTE) == "" { // 路由列表 route + m.Cmdy(ROUTE).Cut(ROUTE) + m.Display("/plugin/story/spide.js?prefix=spide", lex.SPLIT, ice.PT) + + } else if m.Option(ctx.CONTEXT) == "" { // 模块列表 context + m.Cmdy(SPACE, m.Option(ROUTE), ctx.CONTEXT, ice.ICE, ctx.CONTEXT).Cut(kit.MDB_NAME).RenameAppend(kit.MDB_NAME, ctx.CONTEXT) + m.Option(lex.SPLIT, ice.PT) + + } else if m.Option(kit.MDB_NAME) == "" { // 命令列表 name + m.Cmdy(SPACE, m.Option(ROUTE), ctx.CONTEXT, SPIDE, "", m.Option(ctx.CONTEXT), m.Option(ctx.CONTEXT)).Cut(kit.MDB_NAME) + + } else { // 命令详情 index name help meta list + m.Cmdy(SPACE, m.Option(ROUTE), ctx.CONTEXT, SPIDE, "", m.Option(ctx.CONTEXT), m.Option(kit.MDB_NAME)) } - if m.Option("context") == "" { // 模块列表 context - m.Cmdy(SPACE, m.Option("route"), ctx.CONTEXT, "ice", "context") - m.Cut("name").RenameAppend("name", "context") - return - } - if m.Option("name") == "" { // 命令列表 name - m.Cmdy(SPACE, m.Option("route"), ctx.CONTEXT, "spide", "", m.Option("context"), m.Option("context")) - m.Cut("name") - return - } - // 命令详情 index name help meta list - m.Cmdy(SPACE, m.Option("route"), ctx.CONTEXT, "spide", "", m.Option("context"), m.Option("name")) }}, }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { if len(arg) == 0 || arg[0] == "" { // 路由列表 @@ -142,21 +139,21 @@ func init() { _route_list(m) } - } else if len(arg) > 2 { // 加载插件 - m.Cmdy(SPACE, arg[0], ctx.CONTEXT, arg[1], ctx.COMMAND, arg[2]) - m.ProcessField(ctx.ACTION, ctx.COMMAND) + } else if len(arg) == 1 || arg[1] == "" { // 模块列表 + m.Cmd(SPACE, arg[0], ctx.CONTEXT).Table(func(index int, value map[string]string, head []string) { + m.Push(ice.CTX, kit.Keys(value["ups"], value[kit.MDB_NAME])) + m.Push("", value, []string{ice.CTX_STATUS, ice.CTX_STREAM, kit.MDB_HELP}) + }) - } else if len(arg) > 1 { // 命令列表 + } else if len(arg) == 2 || arg[2] == "" { // 命令列表 m.Cmd(SPACE, arg[0], ctx.CONTEXT, arg[1], ctx.COMMAND).Table(func(index int, value map[string]string, head []string) { m.Push(ice.CMD, value[kit.MDB_KEY]) m.Push("", value, []string{kit.MDB_NAME, kit.MDB_HELP}) }) - } else if len(arg) > 0 { // 模块列表 - m.Cmd(SPACE, arg[0], ctx.CONTEXT).Table(func(index int, value map[string]string, head []string) { - m.Push(ice.CTX, kit.Keys(value["ups"], value[kit.MDB_NAME])) - m.Push("", value, []string{ice.CTX_STATUS, ice.CTX_STREAM, kit.MDB_HELP}) - }) + } else { // 命令详情 + m.Cmdy(SPACE, arg[0], ctx.CONTEXT, arg[1], ctx.COMMAND, arg[2]) + m.ProcessField(ctx.ACTION, ctx.COMMAND) } }}, }}) diff --git a/misc/git/spide.go b/misc/git/spide.go index 1c02ec28..45e08898 100644 --- a/misc/git/spide.go +++ b/misc/git/spide.go @@ -61,9 +61,7 @@ const SPIDE = "spide" func init() { Index.Merge(&ice.Context{Commands: map[string]*ice.Command{ - SPIDE: {Name: "spide name auto", Help: "构架图", Meta: kit.Dict( - ice.Display("/plugin/story/spide.js"), - ), Action: ice.MergeAction(map[string]*ice.Action{ + SPIDE: {Name: "spide name auto", Help: "构架图", Action: ice.MergeAction(map[string]*ice.Action{ mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) { m.Cmdy(REPOS, ice.OptionFields("name,time")) }}, code.INNER: {Name: "web.code.inner"}, @@ -78,6 +76,7 @@ func init() { } else { m.Option(nfs.DIR_ROOT, path.Join(ice.USR, arg[0])+ice.PS) } + m.Display("/plugin/story/spide.js?field=path", "root", arg[0]) if len(arg) == 1 { // 目录列表 m.Option(nfs.DIR_DEEP, ice.TRUE)