mirror of
https://shylinux.com/x/icebergs
synced 2025-05-01 19:19:24 +08:00
opt mp
This commit is contained in:
parent
b0f8396853
commit
d8451b0060
@ -28,6 +28,17 @@ var Index = &ice.Context{Name: "aaa", Help: "认证模块",
|
|||||||
}},
|
}},
|
||||||
|
|
||||||
ice.AAA_ROLE: {Name: "role check|black|white|right", Help: "角色", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
ice.AAA_ROLE: {Name: "role check|black|white|right", Help: "角色", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
|
if len(arg) == 0 {
|
||||||
|
kit.Fetch(m.Confv("role", "meta.root"), func(key string, value string) {
|
||||||
|
m.Push("userrole", "root")
|
||||||
|
m.Push("username", key)
|
||||||
|
})
|
||||||
|
kit.Fetch(m.Confv("role", "meta.tech"), func(key string, value string) {
|
||||||
|
m.Push("userrole", "tech")
|
||||||
|
m.Push("username", key)
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
switch arg[0] {
|
switch arg[0] {
|
||||||
case "check":
|
case "check":
|
||||||
// 用户角色
|
// 用户角色
|
||||||
@ -90,9 +101,17 @@ var Index = &ice.Context{Name: "aaa", Help: "认证模块",
|
|||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
ice.AAA_USER: {Name: "user first|login", Help: "用户", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
ice.AAA_USER: {Name: "user first|login", Help: "用户", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
|
if len(arg) == 0 {
|
||||||
|
// 用户列表
|
||||||
|
m.Richs(ice.AAA_USER, nil, "*", func(key string, value map[string]interface{}) {
|
||||||
|
m.Push(key, value, []string{"time", "username", "usernode"})
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
switch arg[0] {
|
switch arg[0] {
|
||||||
case "first":
|
case "first":
|
||||||
// 初始用户
|
// 超级用户
|
||||||
if m.Richs(ice.AAA_USER, nil, "%", nil) == nil {
|
if m.Richs(ice.AAA_USER, nil, "%", nil) == nil {
|
||||||
m.Rich(ice.AAA_USER, nil, kit.Dict("username", arg[1],
|
m.Rich(ice.AAA_USER, nil, kit.Dict("username", arg[1],
|
||||||
"usernode", m.Conf(ice.CLI_RUNTIME, "boot.hostname"),
|
"usernode", m.Conf(ice.CLI_RUNTIME, "boot.hostname"),
|
||||||
@ -133,18 +152,13 @@ var Index = &ice.Context{Name: "aaa", Help: "认证模块",
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 创建会话
|
// 创建会话
|
||||||
role := m.Cmdx(ice.AAA_ROLE, "check", arg[1])
|
m.Echo(m.Cmdx(ice.AAA_SESS, "create", arg[1]))
|
||||||
sessid := m.Rich(ice.AAA_SESS, nil, kit.Dict(
|
|
||||||
"username", arg[1], "userrole", role,
|
|
||||||
))
|
|
||||||
m.Info("user: %s role: %s sess: %s", arg[1], role, sessid)
|
|
||||||
m.Echo(sessid)
|
|
||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
ice.AAA_SESS: {Name: "sess check|login", Help: "会话", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
ice.AAA_SESS: {Name: "sess check|login", Help: "会话", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
if len(arg) == 0 {
|
if len(arg) == 0 {
|
||||||
// 会话列表
|
// 会话列表
|
||||||
m.Richs(ice.AAA_SESS, nil, "", func(key string, value map[string]interface{}) {
|
m.Richs(ice.AAA_SESS, nil, "*", func(key string, value map[string]interface{}) {
|
||||||
m.Push(key, value, []string{"key", "time", "username", "userrole"})
|
m.Push(key, value, []string{"key", "time", "username", "userrole"})
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
@ -162,6 +176,7 @@ var Index = &ice.Context{Name: "aaa", Help: "认证模块",
|
|||||||
// 创建会话
|
// 创建会话
|
||||||
h := m.Rich(ice.AAA_SESS, nil, kit.Dict(
|
h := m.Rich(ice.AAA_SESS, nil, kit.Dict(
|
||||||
"username", arg[1], "userrole", m.Cmdx(ice.AAA_ROLE, "check", arg[1]),
|
"username", arg[1], "userrole", m.Cmdx(ice.AAA_ROLE, "check", arg[1]),
|
||||||
|
"from", m.Option(ice.MSG_SESSID),
|
||||||
))
|
))
|
||||||
m.Log(ice.LOG_CREATE, "sessid: %s username: %s", h, arg[1])
|
m.Log(ice.LOG_CREATE, "sessid: %s username: %s", h, arg[1])
|
||||||
m.Echo(h)
|
m.Echo(h)
|
||||||
|
@ -5,11 +5,10 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var share_template = kit.Dict(
|
var share_template = kit.Dict(
|
||||||
"value", `<img src="/share/%s/value">`,
|
"text", `<img src="%s/share/%s/text">`,
|
||||||
"share", `<img src="/share/%s/share">`,
|
"value", `<img src="%s/share/%s/value">`,
|
||||||
"text", `<img src="/share/%s/text">`,
|
"share", `<img src="%s/share/%s/share">`,
|
||||||
|
"link", `<a href="%s/share/%s" target="_blank">%s</a>`,
|
||||||
"link", `<a href="/share/%s" target="_blank">%s</a>`,
|
|
||||||
"simple", `<!DOCTYPE html>
|
"simple", `<!DOCTYPE html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset='utf-8'>
|
<meta charset='utf-8'>
|
||||||
|
@ -117,6 +117,7 @@ func (web *Frame) Login(msg *ice.Message, w http.ResponseWriter, r *http.Request
|
|||||||
msg.Target().Run(msg, s, ice.WEB_LOGIN, kit.Simple(msg.Optionv("cmds"))...)
|
msg.Target().Run(msg, s, ice.WEB_LOGIN, kit.Simple(msg.Optionv("cmds"))...)
|
||||||
} else if strings.HasPrefix(msg.Option(ice.MSG_USERURL), "/static/") {
|
} else if strings.HasPrefix(msg.Option(ice.MSG_USERURL), "/static/") {
|
||||||
} else if strings.HasPrefix(msg.Option(ice.MSG_USERURL), "/plugin/") {
|
} else if strings.HasPrefix(msg.Option(ice.MSG_USERURL), "/plugin/") {
|
||||||
|
} else if strings.HasPrefix(msg.Option(ice.MSG_USERURL), "/login/") {
|
||||||
} else if strings.HasPrefix(msg.Option(ice.MSG_USERURL), "/space/") {
|
} else if strings.HasPrefix(msg.Option(ice.MSG_USERURL), "/space/") {
|
||||||
} else if strings.HasPrefix(msg.Option(ice.MSG_USERURL), "/route/") {
|
} else if strings.HasPrefix(msg.Option(ice.MSG_USERURL), "/route/") {
|
||||||
} else if strings.HasPrefix(msg.Option(ice.MSG_USERURL), "/share/") {
|
} else if strings.HasPrefix(msg.Option(ice.MSG_USERURL), "/share/") {
|
||||||
@ -305,6 +306,7 @@ func (web *Frame) HandleCmd(m *ice.Message, key string, cmd *ice.Command) {
|
|||||||
case "result":
|
case "result":
|
||||||
fmt.Fprint(w, msg.Result())
|
fmt.Fprint(w, msg.Result())
|
||||||
default:
|
default:
|
||||||
|
w.Header().Set("Content-Type", "application/json")
|
||||||
fmt.Fprint(w, msg.Formats("meta"))
|
fmt.Fprint(w, msg.Formats("meta"))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -521,7 +523,7 @@ var Index = &ice.Context{Name: "web", Help: "网络模块",
|
|||||||
m.Push("detail", value)
|
m.Push("detail", value)
|
||||||
if kit.Value(value, "client.share") != nil {
|
if kit.Value(value, "client.share") != nil {
|
||||||
m.Push("key", "share")
|
m.Push("key", "share")
|
||||||
m.Push("value", fmt.Sprintf(m.Conf(ice.WEB_SHARE, "meta.template.text"), kit.Value(value, "client.share")))
|
m.Push("value", fmt.Sprintf(m.Conf(ice.WEB_SHARE, "meta.template.text"), m.Conf(ice.WEB_SHARE, "meta.domain"), kit.Value(value, "client.share")))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
@ -769,17 +771,12 @@ var Index = &ice.Context{Name: "web", Help: "网络模块",
|
|||||||
// }
|
// }
|
||||||
// m.Cmd(ice.WEB_SPACE, arg[1], "sessid", sessid)
|
// m.Cmd(ice.WEB_SPACE, arg[1], "sessid", sessid)
|
||||||
// })
|
// })
|
||||||
//
|
|
||||||
case "share":
|
case "share":
|
||||||
switch arg[1] {
|
m.Richs(ice.WEB_SPIDE, nil, m.Option("_dev"), func(key string, value map[string]interface{}) {
|
||||||
case "add":
|
m.Log(ice.LOG_CREATE, "dev: %s share: %s", m.Option("_dev"), arg[1])
|
||||||
m.Cmdy(ice.WEB_SPIDE, "self", path.Join("/space/share/add", path.Join(arg[2:]...)))
|
value["share"] = arg[1]
|
||||||
default:
|
})
|
||||||
m.Richs(ice.WEB_SPIDE, nil, m.Option("_dev"), func(key string, value map[string]interface{}) {
|
|
||||||
m.Log(ice.LOG_CREATE, "dev: %s share: %s", m.Option("_dev"), arg[1])
|
|
||||||
value["share"] = arg[1]
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
case "connect":
|
case "connect":
|
||||||
// 基本信息
|
// 基本信息
|
||||||
@ -812,7 +809,7 @@ var Index = &ice.Context{Name: "web", Help: "网络模块",
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 断线重连
|
// 断线重连
|
||||||
sleep := time.Duration(rand.Intn(kit.Int(msg.Conf(ice.WEB_SPACE, "meta.redial.a"))*i)+kit.Int(msg.Conf(ice.WEB_SPACE, "meta.redial.b"))) * time.Millisecond
|
sleep := time.Duration(rand.Intn(kit.Int(msg.Conf(ice.WEB_SPACE, "meta.redial.a"))*i+2)+kit.Int(msg.Conf(ice.WEB_SPACE, "meta.redial.b"))) * time.Millisecond
|
||||||
msg.Info("%d sleep: %s reconnect: %s", i, sleep, u)
|
msg.Info("%d sleep: %s reconnect: %s", i, sleep, u)
|
||||||
time.Sleep(sleep)
|
time.Sleep(sleep)
|
||||||
}
|
}
|
||||||
@ -1590,11 +1587,11 @@ var Index = &ice.Context{Name: "web", Help: "网络模块",
|
|||||||
m.Richs(ice.WEB_SHARE, nil, arg[0], func(key string, value map[string]interface{}) {
|
m.Richs(ice.WEB_SHARE, nil, arg[0], func(key string, value map[string]interface{}) {
|
||||||
m.Push("detail", value)
|
m.Push("detail", value)
|
||||||
m.Push("key", "link")
|
m.Push("key", "link")
|
||||||
m.Push("value", fmt.Sprintf(m.Conf(ice.WEB_SHARE, "meta.template.link"), key, key))
|
m.Push("value", fmt.Sprintf(m.Conf(ice.WEB_SHARE, "meta.template.link"), m.Conf(ice.WEB_SHARE, "meta.domain"), key, key))
|
||||||
m.Push("key", "share")
|
m.Push("key", "share")
|
||||||
m.Push("value", fmt.Sprintf(m.Conf(ice.WEB_SHARE, "meta.template.share"), key))
|
m.Push("value", fmt.Sprintf(m.Conf(ice.WEB_SHARE, "meta.template.share"), m.Conf(ice.WEB_SHARE, "meta.domain"), key))
|
||||||
m.Push("key", "value")
|
m.Push("key", "value")
|
||||||
m.Push("value", fmt.Sprintf(m.Conf(ice.WEB_SHARE, "meta.template.value"), key))
|
m.Push("value", fmt.Sprintf(m.Conf(ice.WEB_SHARE, "meta.template.value"), m.Conf(ice.WEB_SHARE, "meta.domain"), key))
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -1602,13 +1599,10 @@ var Index = &ice.Context{Name: "web", Help: "网络模块",
|
|||||||
switch arg[0] {
|
switch arg[0] {
|
||||||
case "auth":
|
case "auth":
|
||||||
m.Richs(ice.WEB_SHARE, nil, arg[1], func(key string, value map[string]interface{}) {
|
m.Richs(ice.WEB_SHARE, nil, arg[1], func(key string, value map[string]interface{}) {
|
||||||
if value["type"] == "login" {
|
m.Richs(ice.AAA_SESS, nil, value["text"], func(key string, value map[string]interface{}) {
|
||||||
m.Richs(ice.AAA_SESS, nil, value["text"], func(key string, value map[string]interface{}) {
|
value["username"], value["userrole"] = arg[2], m.Cmdx(ice.AAA_ROLE, "check", arg[2])
|
||||||
value["userrole"] = m.Cmdx(ice.AAA_ROLE, "check", arg[2])
|
m.Echo("%s", value["userrole"])
|
||||||
m.Echo("%s", value["userrole"])
|
})
|
||||||
value["username"] = arg[2]
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
case "add":
|
case "add":
|
||||||
@ -1670,6 +1664,12 @@ var Index = &ice.Context{Name: "web", Help: "网络模块",
|
|||||||
}},
|
}},
|
||||||
|
|
||||||
"/share/": {Name: "/share/", Help: "共享链", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
"/share/": {Name: "/share/", Help: "共享链", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
|
switch arg[0] {
|
||||||
|
case "local":
|
||||||
|
Render(m, "download", m.Cmdx(arg[1], path.Join(arg[2:]...)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
m.Richs(ice.WEB_SHARE, nil, arg[0], func(key string, value map[string]interface{}) {
|
m.Richs(ice.WEB_SHARE, nil, arg[0], func(key string, value map[string]interface{}) {
|
||||||
m.Log(ice.LOG_EXPORT, "%s: %v", arg, kit.Format(value))
|
m.Log(ice.LOG_EXPORT, "%s: %v", arg, kit.Format(value))
|
||||||
|
|
||||||
|
@ -457,9 +457,10 @@ var Index = &ice.Context{Name: "chat", Help: "聊天中心",
|
|||||||
m.Cmdy(ice.WEB_FAVOR, arg[5:])
|
m.Cmdy(ice.WEB_FAVOR, arg[5:])
|
||||||
return
|
return
|
||||||
|
|
||||||
case "location":
|
case "device":
|
||||||
// 记录位置
|
// 记录位置
|
||||||
m.Cmdy("aaa.location", arg[5:])
|
m.Cmd(ice.WEB_FAVOR, kit.Select("device", m.Option("hot")), arg[5], arg[6],
|
||||||
|
kit.Select("", arg, 7), kit.KeyValue(map[string]interface{}{}, "", kit.UnMarshal(kit.Select("{}", arg, 8))))
|
||||||
return
|
return
|
||||||
|
|
||||||
case "upload":
|
case "upload":
|
||||||
@ -483,7 +484,6 @@ var Index = &ice.Context{Name: "chat", Help: "聊天中心",
|
|||||||
})
|
})
|
||||||
|
|
||||||
if len(cmds) == 0 {
|
if len(cmds) == 0 {
|
||||||
web.Render(m, "status", 404, "not found")
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ var Index = &ice.Context{Name: "wiki", Help: "文档中心",
|
|||||||
},
|
},
|
||||||
)},
|
)},
|
||||||
"walk": {Name: "walk", Help: "走遍世界", Value: kit.Data(kit.MDB_SHORT, "name", "path", "", "regs", ".*\\.csv")},
|
"walk": {Name: "walk", Help: "走遍世界", Value: kit.Data(kit.MDB_SHORT, "name", "path", "", "regs", ".*\\.csv")},
|
||||||
"feel": {Name: "feel", Help: "影音媒体", Value: kit.Data(kit.MDB_SHORT, "name", "path", "", "regs", ".*\\.(png|JPG|MOV|m4v)")},
|
"feel": {Name: "feel", Help: "影音媒体", Value: kit.Data(kit.MDB_SHORT, "name", "path", "", "regs", ".*\\.(png|jpg|JPG|MOV|m4v)")},
|
||||||
},
|
},
|
||||||
Commands: map[string]*ice.Command{
|
Commands: map[string]*ice.Command{
|
||||||
ice.ICE_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
ice.ICE_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
|
@ -5,6 +5,8 @@ import (
|
|||||||
"github.com/shylinux/icebergs/base/web"
|
"github.com/shylinux/icebergs/base/web"
|
||||||
"github.com/shylinux/icebergs/core/chat"
|
"github.com/shylinux/icebergs/core/chat"
|
||||||
"github.com/shylinux/toolkits"
|
"github.com/shylinux/toolkits"
|
||||||
|
|
||||||
|
"path"
|
||||||
)
|
)
|
||||||
|
|
||||||
var Index = &ice.Context{Name: "mp", Help: "小程序",
|
var Index = &ice.Context{Name: "mp", Help: "小程序",
|
||||||
@ -20,25 +22,45 @@ var Index = &ice.Context{Name: "mp", Help: "小程序",
|
|||||||
Commands: map[string]*ice.Command{
|
Commands: map[string]*ice.Command{
|
||||||
ice.ICE_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
ice.ICE_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
m.Load()
|
m.Load()
|
||||||
|
m.Cmd(ice.WEB_SPIDE, "add", "weixin", m.Conf("login", "meta.weixin"))
|
||||||
m.Confm("login", "meta.userrole", func(key string, value string) {
|
m.Confm("login", "meta.userrole", func(key string, value string) {
|
||||||
m.Cmd(ice.AAA_ROLE, value, key)
|
m.Cmd(ice.AAA_ROLE, value, key)
|
||||||
})
|
})
|
||||||
m.Cmd(ice.WEB_SPIDE, "add", "weixin", m.Conf("login", "meta.weixin"))
|
|
||||||
}},
|
}},
|
||||||
ice.ICE_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
ice.ICE_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
m.Save("login")
|
m.Save("login")
|
||||||
}},
|
}},
|
||||||
|
|
||||||
|
"scan": {Name: "scan", Help: "扫码", List: kit.List(
|
||||||
|
kit.MDB_INPUT, "text", "name", "location", "cb", "location",
|
||||||
|
kit.MDB_INPUT, "text", "name", "battery", "cb", "battery",
|
||||||
|
kit.MDB_INPUT, "text", "name", "paste", "cb", "paste",
|
||||||
|
kit.MDB_INPUT, "text", "name", "scan", "cb", "scan",
|
||||||
|
kit.MDB_INPUT, "text", "name", "wifi", "cb", "wifi",
|
||||||
|
|
||||||
|
kit.MDB_INPUT, "text", "name", "album", "cb", "album",
|
||||||
|
kit.MDB_INPUT, "text", "name", "finger", "cb", "finger",
|
||||||
|
kit.MDB_INPUT, "text", "name", "vibrate", "cb", "vibrate",
|
||||||
|
kit.MDB_INPUT, "text", "name", "wifiList", "cb", "wifiList",
|
||||||
|
kit.MDB_INPUT, "text", "name", "wifiConn", "cb", "wifiConn",
|
||||||
|
|
||||||
|
kit.MDB_INPUT, "textarea", "name", "scan", "cb", "scan",
|
||||||
|
kit.MDB_INPUT, "textarea", "name", "location", "cb", "location",
|
||||||
|
kit.MDB_INPUT, "button", "name", "scan", "cb", "scan",
|
||||||
|
kit.MDB_INPUT, "button", "name", "location", "cb", "location",
|
||||||
|
kit.MDB_INPUT, "button", "name", "text",
|
||||||
|
kit.MDB_INPUT, "button", "name", "share",
|
||||||
|
), Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
|
m.Echo(arg[0])
|
||||||
|
}},
|
||||||
"/login/": {Name: "/login/", Help: "登录", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
"/login/": {Name: "/login/", Help: "登录", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
switch arg[0] {
|
switch arg[0] {
|
||||||
case "code":
|
case "code":
|
||||||
msg := m.Cmd(ice.WEB_SPIDE, "weixin", "GET", m.Conf("login", "meta.auth"),
|
msg := m.Cmd(ice.WEB_SPIDE, "weixin", "GET", m.Conf("login", "meta.auth"), "js_code", m.Option("code"),
|
||||||
"js_code", m.Option("code"), "appid", m.Conf("login", "meta.appid"), "secret", m.Conf("login", "meta.appmm"))
|
"appid", m.Conf("login", "meta.appid"), "secret", m.Conf("login", "meta.appmm"))
|
||||||
|
|
||||||
// 用户登录
|
// 用户登录
|
||||||
m.Option(ice.MSG_USERNAME, msg.Append("openid"))
|
m.Echo(m.Option(ice.MSG_SESSID, m.Cmdx(ice.AAA_USER, "login", msg.Append("openid"))))
|
||||||
m.Option(ice.MSG_USERROLE, m.Cmdx(ice.AAA_ROLE, "check", m.Option("FromUserName")))
|
|
||||||
m.Info("%s: %s", m.Option(ice.MSG_USERROLE), m.Option(ice.MSG_USERNAME))
|
|
||||||
m.Echo(m.Option(ice.MSG_SESSID, m.Cmdx(ice.AAA_USER, "login", m.Option(ice.MSG_USERNAME))))
|
|
||||||
|
|
||||||
case "info":
|
case "info":
|
||||||
// 用户信息
|
// 用户信息
|
||||||
@ -58,26 +80,35 @@ var Index = &ice.Context{Name: "mp", Help: "小程序",
|
|||||||
web.Render(m, "qrcode", m.Option("scan"))
|
web.Render(m, "qrcode", m.Option("scan"))
|
||||||
|
|
||||||
case "auth":
|
case "auth":
|
||||||
if !m.Options(ice.MSG_USERNAME) || !m.Options(ice.MSG_SESSID) {
|
if !m.Options(ice.MSG_USERNAME) {
|
||||||
web.Render(m, "status", 401, "not login")
|
web.Render(m, "status", 401, "not login")
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
switch kit.Select("active", m.Option("type")) {
|
switch kit.Select("active", m.Option("type")) {
|
||||||
case "active":
|
case "active":
|
||||||
// 授权登录
|
// 授权登录
|
||||||
m.Cmd(ice.WEB_SPACE, "auth", m.Option("auth"), m.Option(ice.MSG_USERNAME), m.Option(ice.MSG_USERROLE))
|
m.Cmd(ice.WEB_SPACE, m.Option("auth"), "sessid", m.Cmdx(ice.AAA_SESS, "create", m.Option(ice.MSG_USERNAME)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case "upload":
|
||||||
|
msg := m.Cmd(ice.WEB_CACHE, "upload")
|
||||||
|
m.Cmdy(ice.WEB_STORY, ice.STORY_WATCH, msg.Append("data"), path.Join("usr/local/mp/", path.Base(msg.Append("name"))))
|
||||||
|
web.Render(m, msg.Append("data"))
|
||||||
|
m.Cmdy(ice.WEB_FAVOR, "device", "file", msg.Append("name"), msg.Append("data"))
|
||||||
|
|
||||||
case "cmds":
|
case "cmds":
|
||||||
|
if !m.Options(ice.MSG_USERNAME) {
|
||||||
|
web.Render(m, "status", 401, "not login")
|
||||||
|
break
|
||||||
|
}
|
||||||
if arg = kit.Split(arg[1]); !m.Right(arg) {
|
if arg = kit.Split(arg[1]); !m.Right(arg) {
|
||||||
return
|
web.Render(m, "status", 403, "not auth")
|
||||||
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
// 执行命令
|
// 执行命令
|
||||||
msg := m.Cmd(arg)
|
m.Cmdy(arg)
|
||||||
if m.Hand = false; !msg.Hand {
|
|
||||||
msg = m.Cmd(ice.CLI_SYSTEM, arg)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user