From e4c55faaf2bb49fd3274a26291bc2ffd6e270149 Mon Sep 17 00:00:00 2001 From: shaoying Date: Thu, 20 Feb 2020 10:45:26 +0800 Subject: [PATCH] add some --- base/web/web.go | 9 +++------ misc/git/git.go | 38 ++++++++++++++++++++++++++++++-------- 2 files changed, 33 insertions(+), 14 deletions(-) diff --git a/base/web/web.go b/base/web/web.go index 6418e24e..70ddcc1d 100644 --- a/base/web/web.go +++ b/base/web/web.go @@ -812,16 +812,13 @@ var Index = &ice.Context{Name: "web", Help: "网络模块", kit.MDB_INPUT, "button", "value", "创建", "action", "auto", ), Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { if len(arg) > 1 { - if !m.Right(cmd, arg[1]) { - return - } switch arg[1] { case "启动": - arg = arg[:1] + arg = []string{arg[3]} case "停止", "stop": - m.Cmd(ice.WEB_SPACE, m.Option("name"), "exit", "1") + m.Cmd(ice.WEB_SPACE, kit.Select(m.Option("name"), arg, 3), "exit", "1") time.Sleep(time.Second * 3) - m.Event(ice.DREAM_CLOSE, arg[0]) + m.Event(ice.DREAM_CLOSE, arg[3]) arg = arg[:0] } } diff --git a/misc/git/git.go b/misc/git/git.go index 9620a46d..4fefa2f6 100644 --- a/misc/git/git.go +++ b/misc/git/git.go @@ -81,22 +81,44 @@ var Index = &ice.Context{Name: "git", Help: "代码管理", }) m.Sort("repos") }}, - "status": {Name: "status name", Help: "状态", List: kit.List( + "status": {Name: "status repos", Help: "状态", Meta: kit.Dict( + "detail", []interface{}{"add", "reset", "remove", kit.Dict("name", "commit", "args", kit.List( + kit.MDB_INPUT, "text", "name", "repos", + ))}, + ), List: kit.List( kit.MDB_INPUT, "text", "name", "repos", "action", "auto", kit.MDB_INPUT, "button", "name", "查看", "action", "auto", kit.MDB_INPUT, "button", "name", "返回", "cb", "Last", "action", "auto", ), Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { prefix := []string{ice.CLI_SYSTEM, "git"} + + if len(arg) > 0 && arg[0] == "action" { + m.Richs("repos", nil, m.Option("repos"), func(key string, value map[string]interface{}) { + m.Option("cmd_dir", kit.Value(value, "meta.path")) + switch arg[1] { + case "add": + m.Cmd(prefix, arg[1], arg[3]) + case "reset": + m.Cmd(prefix, arg[1], arg[3]) + case "checkout": + m.Cmd(prefix, arg[1], arg[3]) + case "commit": + } + }) + arg = []string{} + } + m.Richs("repos", nil, kit.Select("*", arg, 0), func(key string, value map[string]interface{}) { if m.Option("cmd_dir", kit.Value(value, "meta.path")); len(arg) > 0 { m.Echo(m.Cmdx(prefix, "diff")) - } else { - for _, v := range strings.Split(strings.TrimSpace(m.Cmdx(prefix, "status", "-sb")), "\n") { - vs := strings.SplitN(strings.TrimSpace(v), " ", 2) - m.Push("repos", kit.Value(value, "meta.name")) - m.Push("tags", vs[0]) - m.Push("file", vs[1]) - } + return + } + + for _, v := range strings.Split(strings.TrimSpace(m.Cmdx(prefix, "status", "-sb")), "\n") { + vs := strings.SplitN(strings.TrimSpace(v), " ", 2) + m.Push("repos", kit.Value(value, "meta.name")) + m.Push("tags", vs[0]) + m.Push("file", vs[1]) } }) }},