forked from x/ContextOS
tce add web.post
This commit is contained in:
parent
f313b20ce1
commit
f4fb06bd68
@ -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
|
||||
|
@ -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")
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -112,9 +112,8 @@
|
||||
<div>
|
||||
<div>
|
||||
<code>
|
||||
{{$command}}:
|
||||
{{$command}}: {{index $meta "help" $i}}<br/>
|
||||
<a href="" onclick="return shell(event, '{{$command}}')">{{index $meta "name" $i}}</a>
|
||||
{{index $meta "help" $i}}
|
||||
</code>
|
||||
</div>
|
||||
<div id="argument_{{$command}}">
|
||||
@ -173,8 +172,12 @@
|
||||
append.appendChild(tr)
|
||||
for (var k in msg.append) {
|
||||
var td = document.createElement("td");
|
||||
td.innerHTML = msg[msg.append[k]][i]
|
||||
tr.appendChild(td)
|
||||
var pre = document.createElement("pre");
|
||||
var code = document.createElement("code");
|
||||
code.innerHTML = msg[msg.append[k]][i];
|
||||
pre.appendChild(code)
|
||||
td.appendChild(pre)
|
||||
tr.appendChild(td);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -338,7 +341,7 @@
|
||||
{{end}}
|
||||
|
||||
{{define "module"}}
|
||||
<fieldset><legend><input type="text" id="module" value="{{index .current_module 0}}" onkeydown="return Change(event, 'module')"></legend>
|
||||
<fieldset><legend><input type="text" id="module" value="{{index .current_module 0}}" onkeydown="return Change(event, 'dir')"></legend>
|
||||
<table>
|
||||
<colgroup>{{range .append}}<col class="{{.}}">{{end}}</colgroup>
|
||||
<tr>{{range .append}}<th class="{{.}}" onclick="list('{{.}}')">{{.}}</th>{{end}}</tr>
|
||||
@ -350,7 +353,7 @@
|
||||
{{range $key := index $meta "append"}}
|
||||
{{if eq $key "name"}}
|
||||
<td class="{{$key}}">
|
||||
<code><a href="" onclick="ctx.Search('module', '{{index $meta "module" $i}}'); return false">{{index $meta $key $i}}</a></code>
|
||||
<code><a href="" onclick="ctx.Search('dir', '{{index $meta "module" $i}}'); return false">{{index $meta $key $i}}</a></code>
|
||||
</td>
|
||||
{{else}}
|
||||
<td class="{{$key}}">
|
||||
@ -366,7 +369,7 @@
|
||||
{{end}}
|
||||
|
||||
{{define "domain"}}
|
||||
<fieldset><legend><input type="text" id="domain" value="{{index . "current_domain" 0}}" onkeydown="return Change(event, 'domain')"></legend>
|
||||
<fieldset><legend><input type="text" id="domain" value="{{index . "current_domain" 0}}" onkeydown="return Change(event, 'dir')"></legend>
|
||||
<table>
|
||||
<colgroup>{{range .append}}<col class="{{.}}">{{end}}</colgroup>
|
||||
<tr>{{range .append}}<th class="{{.}}" onclick="list('{{.}}')">{{.}}</th>{{end}}</tr>
|
||||
@ -404,7 +407,7 @@
|
||||
|
||||
function list(what) {
|
||||
ctx.Cookie("list", what);
|
||||
ctx.Cookie("order", ctx.Cookie("order")*1 + 1);
|
||||
ctx.Cookie("sort_order", ctx.Cookie("sort_order")*1 + 1);
|
||||
location.assign(location.href);
|
||||
}
|
||||
</script>
|
||||
|
@ -69,7 +69,7 @@
|
||||
}
|
||||
|
||||
function list(what) {
|
||||
ctx.Cookie("order", ctx.Cookie("order")*1 + 1);
|
||||
ctx.Cookie("list_order", ctx.Cookie("list_order")*1 + 1);
|
||||
ctx.Cookie("list", what);
|
||||
ctx.Refresh();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user