diff --git a/src/contexts/ctx.go b/src/contexts/ctx.go index e1ab9241..927ff35e 100644 --- a/src/contexts/ctx.go +++ b/src/contexts/ctx.go @@ -2673,21 +2673,40 @@ var Index = &Context{Name: "ctx", Help: "模块中心", } switch which { case "cache": - for k, v := range msg.target.Caches { + keys := []string{} + for k, _ := range msg.target.Caches { + keys = append(keys, k) + } + sort.Strings(keys) + for _, k := range keys { + v := msg.target.Caches[k] m.Add("append", "key", k) m.Add("append", "name", v.Name) m.Add("append", "value", v.Value) m.Add("append", "help", v.Help) + } case "config": - for k, v := range msg.target.Configs { + keys := []string{} + for k, _ := range msg.target.Configs { + keys = append(keys, k) + } + sort.Strings(keys) + for _, k := range keys { + v := msg.target.Configs[k] m.Add("append", "key", k) m.Add("append", "name", v.Name) m.Add("append", "value", v.Value) m.Add("append", "help", v.Help) } case "command": - for k, v := range msg.target.Commands { + keys := []string{} + for k, _ := range msg.target.Commands { + keys = append(keys, k) + } + sort.Strings(keys) + for _, k := range keys { + v := msg.target.Commands[k] m.Add("append", "key", k) m.Add("append", "name", v.Name) m.Add("append", "help", v.Help) @@ -2868,7 +2887,7 @@ var Index = &Context{Name: "ctx", Help: "模块中心", } for i := begin; i < end; i++ { if c, ok := m.target.Commands[fmt.Sprintf("%d", i)]; ok { - m.Echo("%d: %s\n", i, c.Name) + m.Echo("%d(%s): %s\n", i, c.Help, c.Name) } } return diff --git a/src/contexts/mdb/mdb.go b/src/contexts/mdb/mdb.go index a9284f23..ae21887c 100644 --- a/src/contexts/mdb/mdb.go +++ b/src/contexts/mdb/mdb.go @@ -259,7 +259,7 @@ var Index = &ctx.Context{Name: "mdb", Help: "数据中心", where := m.Confx("where", m.Option("where"), "where %s") group := m.Confx("group", m.Option("group"), "group by %s") - order := m.Confx("order", m.Option("orders"), "order by %s") + order := m.Confx("order", m.Option("order"), "order by %s") limit := m.Confx("limit", m.Option("limit"), "limit %s") offset := m.Confx("offset", m.Option("offset"), "offset %s") diff --git a/src/contexts/ssh/ssh.go b/src/contexts/ssh/ssh.go index 292a5899..c25df5f4 100644 --- a/src/contexts/ssh/ssh.go +++ b/src/contexts/ssh/ssh.go @@ -192,6 +192,11 @@ var Index = &ctx.Context{Name: "ssh", Help: "集群中心", return miss }) + if miss { + if name == m.Cap("domain") { + } + } + if miss { //向上搜索 if ssh, ok := c.Server.(*SSH); m.Assert(ok) && ssh.nfs != nil { msg := m.Spawn(ssh.nfs) diff --git a/src/contexts/web/web.go b/src/contexts/web/web.go index bce8b431..6b097d2c 100644 --- a/src/contexts/web/web.go +++ b/src/contexts/web/web.go @@ -454,6 +454,11 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心", m.Append("response", result) } // }}} }}, + "post": &ctx.Command{Name: "post", Help: "访问服务", + Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) { + msg := m.Spawn().Cmd("get", "method", "POST", arg) + m.Copy(msg, "result").Copy(msg, "append") + }}, "serve": &ctx.Command{ Name: "serve [directory [address [protocol]]]", Help: "启动服务, directory: 服务路径, address: 服务地址, protocol: 服务协议(https/http)", @@ -510,11 +515,11 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心", // r := m.Optionv("request").(*http.Request) // {{{ // w := m.Optionv("response").(http.ResponseWriter) - if !m.Options("module") { - m.Option("module", "ctx") + if !m.Options("dir") { + m.Option("dir", "ctx") } - check := m.Spawn().Cmd("/share", "/travel", "module", m.Option("module")) + check := m.Spawn().Cmd("/share", "/travel", "dir", m.Option("dir")) if !check.Results(0) { m.Copy(check, "append") return @@ -524,12 +529,16 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心", if m.Option("method") == "POST" { if m.Options("domain") { msg := m.Find("ssh", true) - msg.Detail(0, "send", "domain", m.Option("domain"), "context", "find", m.Option("module"), m.Option("ccc")) - if m.Options("name") { + msg.Detail(0, "send", "domain", m.Option("domain"), "context", "find", m.Option("dir")) + if m.Option("name") != "" { msg.Add("detail", m.Option("name")) } if m.Options("value") { - msg.Add("detail", m.Option("value")) + value := []string{} + json.Unmarshal([]byte(m.Option("value")), &value) + if len(value) > 0 { + msg.Add("detail", value[0], value[1:]...) + } } msg.CallBack(true, func(sub *ctx.Message) *ctx.Message { @@ -539,7 +548,7 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心", return } - msg := m.Find(m.Option("module"), true) + msg := m.Find(m.Option("dir"), true) if msg == nil { return } @@ -572,26 +581,25 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心", // 解析模板 m.Set("append", "tmpl", "userinfo", "share") - if msg := m.Find(m.Option("module"), true); msg != nil { - for _, v := range []string{"cache", "config", "command", "module", "domain"} { - if m.Options("domain") { - msg = m.Find("ssh", true) - msg.Detail(0, "send", "domain", m.Option("domain"), "context", "find", m.Option("module"), v) - msg.CallBack(true, func(sub *ctx.Message) *ctx.Message { - msg.Copy(sub, "result").Copy(sub, "append") - return nil - }) - } else { - msg = msg.Spawn() - msg.Cmd("context", "find", msg.Cap("module"), "list", v) - } + msg := m + for _, v := range []string{"cache", "config", "command", "module", "domain"} { + if m.Options("domain") { + msg = m.Find("ssh", true) + msg.Detail(0, "send", "domain", m.Option("domain"), "context", "find", m.Option("dir"), "list", v) + msg.CallBack(true, func(sub *ctx.Message) *ctx.Message { + msg.Copy(sub, "result").Copy(sub, "append") + return nil + }) + } else { + msg = m.Spawn() + msg.Cmd("context", "find", msg.Option("dir"), "list", v) + } - if len(msg.Meta["append"]) > 0 { - msg.Option("current_module", m.Option("module")) - msg.Option("current_domain", m.Option("domain")) - m.Add("option", "tmpl", v) - m.Sesss(v, msg) - } + if len(msg.Meta["append"]) > 0 { + msg.Option("current_module", m.Option("dir")) + msg.Option("current_domain", m.Option("domain")) + m.Add("option", "tmpl", v) + m.Sesss(v, msg) } } m.Append("template", m.Conf("travel_main"), m.Conf("travel_tmpl")) @@ -676,7 +684,7 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心", // 目录排序 max := true - if i, e := strconv.Atoi(m.Option("order")); e == nil { + if i, e := strconv.Atoi(m.Option("sort_order")); e == nil { max = i%2 == 1 } switch m.Option("list") { @@ -715,7 +723,7 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心", // }}} }}, "/create": &ctx.Command{Name: "/create", Help: "创建目录或文件", Hand: func(m *ctx.Message, c *ctx.Context, key string, arg ...string) { - if check := m.Spawn().Cmd("/share"); !check.Results(0) { // {{{ + if check := m.Spawn().Cmd("/share", "/upload", "dir", m.Option("dir")); !check.Results(0) { // {{{ m.Copy(check, "append") return } diff --git a/usr/template/travel.html b/usr/template/travel.html index 108f2e1c..a6b441fd 100644 --- a/usr/template/travel.html +++ b/usr/template/travel.html @@ -112,9 +112,8 @@
- {{$command}}:
+ {{$command}}: {{index $meta "help" $i}}
{{index $meta "name" $i}}
- {{index $meta "help" $i}}