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 {
|
switch which {
|
||||||
case "cache":
|
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", "key", k)
|
||||||
m.Add("append", "name", v.Name)
|
m.Add("append", "name", v.Name)
|
||||||
m.Add("append", "value", v.Value)
|
m.Add("append", "value", v.Value)
|
||||||
m.Add("append", "help", v.Help)
|
m.Add("append", "help", v.Help)
|
||||||
|
|
||||||
}
|
}
|
||||||
case "config":
|
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", "key", k)
|
||||||
m.Add("append", "name", v.Name)
|
m.Add("append", "name", v.Name)
|
||||||
m.Add("append", "value", v.Value)
|
m.Add("append", "value", v.Value)
|
||||||
m.Add("append", "help", v.Help)
|
m.Add("append", "help", v.Help)
|
||||||
}
|
}
|
||||||
case "command":
|
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", "key", k)
|
||||||
m.Add("append", "name", v.Name)
|
m.Add("append", "name", v.Name)
|
||||||
m.Add("append", "help", v.Help)
|
m.Add("append", "help", v.Help)
|
||||||
@ -2868,7 +2887,7 @@ var Index = &Context{Name: "ctx", Help: "模块中心",
|
|||||||
}
|
}
|
||||||
for i := begin; i < end; i++ {
|
for i := begin; i < end; i++ {
|
||||||
if c, ok := m.target.Commands[fmt.Sprintf("%d", i)]; ok {
|
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
|
return
|
||||||
|
@ -259,7 +259,7 @@ var Index = &ctx.Context{Name: "mdb", Help: "数据中心",
|
|||||||
|
|
||||||
where := m.Confx("where", m.Option("where"), "where %s")
|
where := m.Confx("where", m.Option("where"), "where %s")
|
||||||
group := m.Confx("group", m.Option("group"), "group by %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")
|
limit := m.Confx("limit", m.Option("limit"), "limit %s")
|
||||||
offset := m.Confx("offset", m.Option("offset"), "offset %s")
|
offset := m.Confx("offset", m.Option("offset"), "offset %s")
|
||||||
|
|
||||||
|
@ -192,6 +192,11 @@ var Index = &ctx.Context{Name: "ssh", Help: "集群中心",
|
|||||||
return miss
|
return miss
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if miss {
|
||||||
|
if name == m.Cap("domain") {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if miss { //向上搜索
|
if miss { //向上搜索
|
||||||
if ssh, ok := c.Server.(*SSH); m.Assert(ok) && ssh.nfs != nil {
|
if ssh, ok := c.Server.(*SSH); m.Assert(ok) && ssh.nfs != nil {
|
||||||
msg := m.Spawn(ssh.nfs)
|
msg := m.Spawn(ssh.nfs)
|
||||||
|
@ -454,6 +454,11 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心",
|
|||||||
m.Append("response", result)
|
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{
|
"serve": &ctx.Command{
|
||||||
Name: "serve [directory [address [protocol]]]",
|
Name: "serve [directory [address [protocol]]]",
|
||||||
Help: "启动服务, directory: 服务路径, address: 服务地址, protocol: 服务协议(https/http)",
|
Help: "启动服务, directory: 服务路径, address: 服务地址, protocol: 服务协议(https/http)",
|
||||||
@ -510,11 +515,11 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心",
|
|||||||
// r := m.Optionv("request").(*http.Request) // {{{
|
// r := m.Optionv("request").(*http.Request) // {{{
|
||||||
// w := m.Optionv("response").(http.ResponseWriter)
|
// w := m.Optionv("response").(http.ResponseWriter)
|
||||||
|
|
||||||
if !m.Options("module") {
|
if !m.Options("dir") {
|
||||||
m.Option("module", "ctx")
|
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) {
|
if !check.Results(0) {
|
||||||
m.Copy(check, "append")
|
m.Copy(check, "append")
|
||||||
return
|
return
|
||||||
@ -524,12 +529,16 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心",
|
|||||||
if m.Option("method") == "POST" {
|
if m.Option("method") == "POST" {
|
||||||
if m.Options("domain") {
|
if m.Options("domain") {
|
||||||
msg := m.Find("ssh", true)
|
msg := m.Find("ssh", true)
|
||||||
msg.Detail(0, "send", "domain", m.Option("domain"), "context", "find", m.Option("module"), m.Option("ccc"))
|
msg.Detail(0, "send", "domain", m.Option("domain"), "context", "find", m.Option("dir"))
|
||||||
if m.Options("name") {
|
if m.Option("name") != "" {
|
||||||
msg.Add("detail", m.Option("name"))
|
msg.Add("detail", m.Option("name"))
|
||||||
}
|
}
|
||||||
if m.Options("value") {
|
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 {
|
msg.CallBack(true, func(sub *ctx.Message) *ctx.Message {
|
||||||
@ -539,7 +548,7 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心",
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := m.Find(m.Option("module"), true)
|
msg := m.Find(m.Option("dir"), true)
|
||||||
if msg == nil {
|
if msg == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -572,26 +581,25 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心",
|
|||||||
|
|
||||||
// 解析模板
|
// 解析模板
|
||||||
m.Set("append", "tmpl", "userinfo", "share")
|
m.Set("append", "tmpl", "userinfo", "share")
|
||||||
if msg := m.Find(m.Option("module"), true); msg != nil {
|
msg := m
|
||||||
for _, v := range []string{"cache", "config", "command", "module", "domain"} {
|
for _, v := range []string{"cache", "config", "command", "module", "domain"} {
|
||||||
if m.Options("domain") {
|
if m.Options("domain") {
|
||||||
msg = m.Find("ssh", true)
|
msg = m.Find("ssh", true)
|
||||||
msg.Detail(0, "send", "domain", m.Option("domain"), "context", "find", m.Option("module"), v)
|
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.CallBack(true, func(sub *ctx.Message) *ctx.Message {
|
||||||
msg.Copy(sub, "result").Copy(sub, "append")
|
msg.Copy(sub, "result").Copy(sub, "append")
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
msg = msg.Spawn()
|
msg = m.Spawn()
|
||||||
msg.Cmd("context", "find", msg.Cap("module"), "list", v)
|
msg.Cmd("context", "find", msg.Option("dir"), "list", v)
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(msg.Meta["append"]) > 0 {
|
if len(msg.Meta["append"]) > 0 {
|
||||||
msg.Option("current_module", m.Option("module"))
|
msg.Option("current_module", m.Option("dir"))
|
||||||
msg.Option("current_domain", m.Option("domain"))
|
msg.Option("current_domain", m.Option("domain"))
|
||||||
m.Add("option", "tmpl", v)
|
m.Add("option", "tmpl", v)
|
||||||
m.Sesss(v, msg)
|
m.Sesss(v, msg)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
m.Append("template", m.Conf("travel_main"), m.Conf("travel_tmpl"))
|
m.Append("template", m.Conf("travel_main"), m.Conf("travel_tmpl"))
|
||||||
@ -676,7 +684,7 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心",
|
|||||||
|
|
||||||
// 目录排序
|
// 目录排序
|
||||||
max := true
|
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
|
max = i%2 == 1
|
||||||
}
|
}
|
||||||
switch m.Option("list") {
|
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) {
|
"/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")
|
m.Copy(check, "append")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -112,9 +112,8 @@
|
|||||||
<div>
|
<div>
|
||||||
<div>
|
<div>
|
||||||
<code>
|
<code>
|
||||||
{{$command}}:
|
{{$command}}: {{index $meta "help" $i}}<br/>
|
||||||
<a href="" onclick="return shell(event, '{{$command}}')">{{index $meta "name" $i}}</a>
|
<a href="" onclick="return shell(event, '{{$command}}')">{{index $meta "name" $i}}</a>
|
||||||
{{index $meta "help" $i}}
|
|
||||||
</code>
|
</code>
|
||||||
</div>
|
</div>
|
||||||
<div id="argument_{{$command}}">
|
<div id="argument_{{$command}}">
|
||||||
@ -173,8 +172,12 @@
|
|||||||
append.appendChild(tr)
|
append.appendChild(tr)
|
||||||
for (var k in msg.append) {
|
for (var k in msg.append) {
|
||||||
var td = document.createElement("td");
|
var td = document.createElement("td");
|
||||||
td.innerHTML = msg[msg.append[k]][i]
|
var pre = document.createElement("pre");
|
||||||
tr.appendChild(td)
|
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}}
|
{{end}}
|
||||||
|
|
||||||
{{define "module"}}
|
{{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>
|
<table>
|
||||||
<colgroup>{{range .append}}<col class="{{.}}">{{end}}</colgroup>
|
<colgroup>{{range .append}}<col class="{{.}}">{{end}}</colgroup>
|
||||||
<tr>{{range .append}}<th class="{{.}}" onclick="list('{{.}}')">{{.}}</th>{{end}}</tr>
|
<tr>{{range .append}}<th class="{{.}}" onclick="list('{{.}}')">{{.}}</th>{{end}}</tr>
|
||||||
@ -350,7 +353,7 @@
|
|||||||
{{range $key := index $meta "append"}}
|
{{range $key := index $meta "append"}}
|
||||||
{{if eq $key "name"}}
|
{{if eq $key "name"}}
|
||||||
<td class="{{$key}}">
|
<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>
|
</td>
|
||||||
{{else}}
|
{{else}}
|
||||||
<td class="{{$key}}">
|
<td class="{{$key}}">
|
||||||
@ -366,7 +369,7 @@
|
|||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{define "domain"}}
|
{{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>
|
<table>
|
||||||
<colgroup>{{range .append}}<col class="{{.}}">{{end}}</colgroup>
|
<colgroup>{{range .append}}<col class="{{.}}">{{end}}</colgroup>
|
||||||
<tr>{{range .append}}<th class="{{.}}" onclick="list('{{.}}')">{{.}}</th>{{end}}</tr>
|
<tr>{{range .append}}<th class="{{.}}" onclick="list('{{.}}')">{{.}}</th>{{end}}</tr>
|
||||||
@ -404,7 +407,7 @@
|
|||||||
|
|
||||||
function list(what) {
|
function list(what) {
|
||||||
ctx.Cookie("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);
|
location.assign(location.href);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -69,7 +69,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function list(what) {
|
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.Cookie("list", what);
|
||||||
ctx.Refresh();
|
ctx.Refresh();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user