forked from x/ContextOS
add usr/librarys/plugin
This commit is contained in:
parent
c049690d83
commit
778fecd781
@ -311,7 +311,7 @@ func (web *WEB) Begin(m *ctx.Message, arg ...string) ctx.Server {
|
|||||||
|
|
||||||
web.ServeMux = http.NewServeMux()
|
web.ServeMux = http.NewServeMux()
|
||||||
web.Template = template.New("render").Funcs(ctx.CGI)
|
web.Template = template.New("render").Funcs(ctx.CGI)
|
||||||
web.Template.ParseGlob(path.Join(m.Conf("serve", "template_dir"), m.Cap("route"), "/*.tmpl"))
|
web.Template.ParseGlob(path.Join(m.Cap("directory"), m.Conf("serve", "template_dir"), m.Cap("route"), "/*.tmpl"))
|
||||||
return web
|
return web
|
||||||
}
|
}
|
||||||
func (web *WEB) Start(m *ctx.Message, arg ...string) bool {
|
func (web *WEB) Start(m *ctx.Message, arg ...string) bool {
|
||||||
@ -412,7 +412,7 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心",
|
|||||||
}, Help: "服务配置"},
|
}, Help: "服务配置"},
|
||||||
"route": &ctx.Config{Name: "route", Value: map[string]interface{}{
|
"route": &ctx.Config{Name: "route", Value: map[string]interface{}{
|
||||||
"index": "/render",
|
"index": "/render",
|
||||||
"template_dir": "usr/template",
|
"template_dir": "template",
|
||||||
"template_debug": true,
|
"template_debug": true,
|
||||||
"componet_index": "index",
|
"componet_index": "index",
|
||||||
"toolkit_view": map[string]interface{}{
|
"toolkit_view": map[string]interface{}{
|
||||||
@ -837,7 +837,7 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心",
|
|||||||
web.Template = template.New("render").Funcs(ctx.CGI)
|
web.Template = template.New("render").Funcs(ctx.CGI)
|
||||||
}
|
}
|
||||||
|
|
||||||
dir := path.Join(m.Confx("template_dir", arg, 1), arg[0])
|
dir := path.Join(m.Cap("directory"), m.Confx("template_dir", arg, 1), arg[0])
|
||||||
if t, e := web.Template.ParseGlob(dir); e == nil {
|
if t, e := web.Template.ParseGlob(dir); e == nil {
|
||||||
web.Template = t
|
web.Template = t
|
||||||
} else {
|
} else {
|
||||||
@ -920,8 +920,9 @@ var Index = &ctx.Context{Name: "web", Help: "应用中心",
|
|||||||
tmpl := web.Template
|
tmpl := web.Template
|
||||||
if m.Confs("route", "template_debug") {
|
if m.Confs("route", "template_debug") {
|
||||||
tmpl = template.New("render").Funcs(ctx.CGI)
|
tmpl = template.New("render").Funcs(ctx.CGI)
|
||||||
tmpl.ParseGlob(path.Join(m.Conf("route", "template_dir"), "/*.tmpl"))
|
t, e := tmpl.ParseGlob(path.Join(m.Cap("directory"), m.Conf("route", "template_dir"), "/*.tmpl"))
|
||||||
tmpl.ParseGlob(path.Join(m.Conf("route", "template_dir"), m.Cap("route"), "/*.tmpl"))
|
m.Log("fuck", "what %v %v", e, t)
|
||||||
|
tmpl.ParseGlob(path.Join(m.Cap("directory"), m.Conf("route", "template_dir"), m.Cap("route"), "/*.tmpl"))
|
||||||
}
|
}
|
||||||
|
|
||||||
// 权限检查
|
// 权限检查
|
||||||
|
@ -139,9 +139,9 @@ var Index = &ctx.Context{Name: "chat", Help: "会议中心",
|
|||||||
|
|
||||||
switch arg[1] {
|
switch arg[1] {
|
||||||
case "create":
|
case "create":
|
||||||
h := kit.Hashs("uniq")
|
h := kit.Select(kit.Hashs("uniq"), arg, 2)
|
||||||
user := map[string]interface{}{}
|
user := map[string]interface{}{}
|
||||||
for _, v := range arg[3:] {
|
for _, v := range arg[4:] {
|
||||||
u := m.Cmdx("ssh.remote", m.Conf("runtime", "work.route"), "check", "work", v)
|
u := m.Cmdx("ssh.remote", m.Conf("runtime", "work.route"), "check", "work", v)
|
||||||
user[v] = map[string]interface{}{
|
user[v] = map[string]interface{}{
|
||||||
"user": u,
|
"user": u,
|
||||||
@ -152,7 +152,8 @@ var Index = &ctx.Context{Name: "chat", Help: "会议中心",
|
|||||||
"conf": map[string]interface{}{
|
"conf": map[string]interface{}{
|
||||||
"create_user": m.Option("username"),
|
"create_user": m.Option("username"),
|
||||||
"create_time": m.Time(),
|
"create_time": m.Time(),
|
||||||
"name": kit.Select("what", arg, 2),
|
"name": kit.Select("what", arg, 3),
|
||||||
|
"route": kit.Select(m.Conf("runtime", "node.route"), m.Option("node.route"), arg[2] != ""),
|
||||||
},
|
},
|
||||||
"user": user,
|
"user": user,
|
||||||
"text": map[string]interface{}{},
|
"text": map[string]interface{}{},
|
||||||
@ -160,7 +161,18 @@ var Index = &ctx.Context{Name: "chat", Help: "会议中心",
|
|||||||
})
|
})
|
||||||
m.Echo(h)
|
m.Echo(h)
|
||||||
|
|
||||||
|
m.Option("username", m.Conf("runtime", "user.name"))
|
||||||
|
m.Confm("flow", []string{h, "user"}, func(key string, value map[string]interface{}) {
|
||||||
|
m.Cmd("ssh.remote", value["user"], "context", "chat", "flow", "river", "create", h, arg[3])
|
||||||
|
})
|
||||||
|
|
||||||
case "user":
|
case "user":
|
||||||
|
if m.Conf("flow", []string{arg[2], "conf.route"}) != m.Conf("runtime", "node.route") {
|
||||||
|
m.Cmdy("ssh.remote", m.Conf("flow", []string{arg[2], "conf.route"}), "context", "chat", "flow", arg)
|
||||||
|
m.Log("info", "upstream")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if len(arg) == 3 {
|
if len(arg) == 3 {
|
||||||
m.Confm("flow", []string{arg[2], "user"}, func(key string, value map[string]interface{}) {
|
m.Confm("flow", []string{arg[2], "user"}, func(key string, value map[string]interface{}) {
|
||||||
m.Add("append", "key", key)
|
m.Add("append", "key", key)
|
||||||
@ -169,9 +181,6 @@ var Index = &ctx.Context{Name: "chat", Help: "会议中心",
|
|||||||
m.Table()
|
m.Table()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
switch arg[3] {
|
|
||||||
case "add":
|
|
||||||
}
|
|
||||||
|
|
||||||
case "wave":
|
case "wave":
|
||||||
if len(arg) == 3 {
|
if len(arg) == 3 {
|
||||||
@ -184,6 +193,13 @@ var Index = &ctx.Context{Name: "chat", Help: "会议中心",
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if m.Conf("flow", []string{arg[2], "conf.route"}) != m.Conf("runtime", "node.route") && len(arg) == 5 {
|
||||||
|
m.Cmdy("ssh.remote", m.Conf("flow", []string{arg[2], "conf.route"}),
|
||||||
|
"context", "chat", "flow", "river", "wave", arg[2], arg[3], arg[4])
|
||||||
|
m.Log("info", "upstream")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
m.Conf("flow", []string{arg[2], "text.list.-2"}, map[string]interface{}{
|
m.Conf("flow", []string{arg[2], "text.list.-2"}, map[string]interface{}{
|
||||||
"create_user": m.Option("username"),
|
"create_user": m.Option("username"),
|
||||||
"create_time": m.Time(),
|
"create_time": m.Time(),
|
||||||
@ -197,59 +213,7 @@ var Index = &ctx.Context{Name: "chat", Help: "会议中心",
|
|||||||
|
|
||||||
m.Option("username", m.Conf("runtime", "user.name"))
|
m.Option("username", m.Conf("runtime", "user.name"))
|
||||||
m.Confm("flow", []string{arg[2], "user"}, func(key string, value map[string]interface{}) {
|
m.Confm("flow", []string{arg[2], "user"}, func(key string, value map[string]interface{}) {
|
||||||
m.Cmd("ssh.remote", value["user"], "context", "chat", "flow", "river", "wave", arg[2], arg[3], arg[4])
|
m.Cmd("ssh.remote", value["user"], "context", "chat", "flow", "river", "wave", arg[2], arg[3], arg[4], "sync")
|
||||||
})
|
|
||||||
|
|
||||||
case "tool":
|
|
||||||
if len(arg) == 3 {
|
|
||||||
m.Confm("flow", []string{arg[2], "tool"}, func(key string, value map[string]interface{}) {
|
|
||||||
m.Add("append", "key", key)
|
|
||||||
m.Add("append", "create_user", value["create_user"])
|
|
||||||
m.Add("append", "create_time", value["create_time"])
|
|
||||||
if list, ok := kit.Chain(value, "list").([]interface{}); ok {
|
|
||||||
m.Add("append", "count", len(list))
|
|
||||||
} else {
|
|
||||||
m.Add("append", "count", 0)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
m.Table()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if m.Confs("flow", []string{arg[2], "tool", arg[3]}) {
|
|
||||||
if len(arg) == 4 {
|
|
||||||
m.Confm("flow", []string{arg[2], "tool", arg[3], "list"}, func(index int, value map[string]interface{}) {
|
|
||||||
m.Add("append", "cmd", value["cmd"])
|
|
||||||
})
|
|
||||||
m.Table()
|
|
||||||
} else {
|
|
||||||
switch arg[4] {
|
|
||||||
case "add":
|
|
||||||
for _, v := range arg[5:] {
|
|
||||||
m.Conf("flow", []interface{}{arg[2], "tool", arg[3], "list", -2}, map[string]interface{}{
|
|
||||||
"cmd": v,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
default:
|
|
||||||
if cmd := m.Confm("flow", []string{arg[2], "tool", arg[3], "list", arg[4]}); cmd != nil {
|
|
||||||
m.Cmdy("ctx.context", "cli", cmd["cmd"])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
list := []interface{}{}
|
|
||||||
for _, v := range arg[4:] {
|
|
||||||
list = append(list, map[string]interface{}{
|
|
||||||
"cmd": v,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
m.Conf("flow", []string{arg[2], "tool", arg[3]}, map[string]interface{}{
|
|
||||||
"create_user": m.Option("username"),
|
|
||||||
"create_time": m.Time(),
|
|
||||||
"list": list,
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -269,12 +233,6 @@ var Index = &ctx.Context{Name: "chat", Help: "会议中心",
|
|||||||
"list": list,
|
"list": list,
|
||||||
})
|
})
|
||||||
|
|
||||||
case "wind":
|
|
||||||
switch arg[2] {
|
|
||||||
case "text":
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if len(arg) == 2 {
|
if len(arg) == 2 {
|
||||||
m.Confm("flow", []string{arg[1], "tool"}, func(key string, value map[string]interface{}) {
|
m.Confm("flow", []string{arg[1], "tool"}, func(key string, value map[string]interface{}) {
|
||||||
|
@ -67,7 +67,7 @@ var page = Page({
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
var cmd = ["river", "create", ui.name.value]
|
var cmd = ["river", "create", "", ui.name.value]
|
||||||
ui.list.querySelectorAll("pre").forEach(function(item) {
|
ui.list.querySelectorAll("pre").forEach(function(item) {
|
||||||
cmd.push(item.innerText)
|
cmd.push(item.innerText)
|
||||||
})
|
})
|
||||||
@ -200,10 +200,6 @@ var page = Page({
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
pane.Action = {
|
pane.Action = {
|
||||||
"添加": function(event) {
|
|
||||||
var name = prompt("name")
|
|
||||||
name && form.Run(["river", "tool", river, water, "add", name], pane.Show)
|
|
||||||
},
|
|
||||||
"恢复": function(event) {
|
"恢复": function(event) {
|
||||||
page.onlayout(event, page.conf.layout)
|
page.onlayout(event, page.conf.layout)
|
||||||
},
|
},
|
||||||
@ -217,7 +213,7 @@ var page = Page({
|
|||||||
page.onlayout(event, {river:0, action: -1, storm:0})
|
page.onlayout(event, {river:0, action: -1, storm:0})
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
return {"button": ["添加", "恢复", "放大", "最宽", "最大"], "action": pane.Action}
|
return {"button": ["恢复", "放大", "最宽", "最大"], "action": pane.Action}
|
||||||
},
|
},
|
||||||
initStorm: function(page, pane, form, output) {
|
initStorm: function(page, pane, form, output) {
|
||||||
var river = ""
|
var river = ""
|
||||||
|
15
usr/librarys/plugin/initFlashList.js
Normal file
15
usr/librarys/plugin/initFlashList.js
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
show: function(item, index, intpus, event, option) {
|
||||||
|
var args = item.value == "所有"? ["all"]: []
|
||||||
|
option.Run(event, args, function(msg) {
|
||||||
|
option.ondaemon(msg)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
init: function(page, pane, plugin, option, output) {
|
||||||
|
option.ondaemon = function(msg) {
|
||||||
|
output.innerHTML = ""
|
||||||
|
kit.AppendChild(output, [{type: "code", list: [{text: [msg.result.join(""), "pre"]}]}])
|
||||||
|
}
|
||||||
|
output.innerHTML = "hello"
|
||||||
|
}
|
||||||
|
}
|
@ -268,15 +268,26 @@ $ cat etc/local.shy
|
|||||||
|
|
||||||
chat模块提供了信息管理。
|
chat模块提供了信息管理。
|
||||||
|
|
||||||
访问:http://localhost:9094/chat
|
|
||||||
|
|
||||||
启动服务节点
|
启动服务节点
|
||||||
boot.sh
|
|
||||||
```
|
```
|
||||||
~cli
|
~ssh
|
||||||
runtime work.route mac
|
cert work serve
|
||||||
```
|
```
|
||||||
|
|
||||||
|
启动用户节点
|
||||||
|
```
|
||||||
|
~ssh
|
||||||
|
cert user create
|
||||||
|
cert work create
|
||||||
|
```
|
||||||
|
|
||||||
|
访问用户节点:http://localhost:9094/chat
|
||||||
|
|
||||||
|
- 左侧添加群聊
|
||||||
|
- 右侧添加组件
|
||||||
|
- 中间发送消息
|
||||||
|
- 下边发送命令
|
||||||
|
|
||||||
### 所有目录
|
### 所有目录
|
||||||
|
|
||||||
#### 一级目录
|
#### 一级目录
|
||||||
|
Loading…
x
Reference in New Issue
Block a user