forked from x/icebergs
opt share
This commit is contained in:
parent
3a4480bb37
commit
fe7c0209a0
@ -59,6 +59,7 @@ func SessCheck(m *ice.Message, sessid string) *ice.Message {
|
||||
return m
|
||||
}
|
||||
func SessCreate(m *ice.Message, username, userrole string) string {
|
||||
m.Set(ice.MSG_RESULT)
|
||||
_sess_auth(m, _sess_create(m, username), username, userrole)
|
||||
return m.Result()
|
||||
}
|
||||
|
@ -110,7 +110,7 @@ func init() {
|
||||
_user_search(m, arg[0], arg[1], kit.Select("", arg, 2))
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
m.Option(mdb.FIELDS, kit.Select("time,userzone,usernick,username", mdb.DETAIL, len(arg) > 0))
|
||||
m.Option(mdb.FIELDS, kit.Select(kit.Select("time,userzone,usernick,username", mdb.DETAIL, len(arg) > 0), m.Option(mdb.FIELDS)))
|
||||
m.Cmdy(mdb.SELECT, USER, "", mdb.HASH, USERNAME, arg)
|
||||
m.PushAction(mdb.REMOVE)
|
||||
}},
|
||||
|
@ -47,11 +47,17 @@ func init() {
|
||||
ROUTE: {Name: ROUTE, Help: "路由器", Value: kit.Data(kit.MDB_SHORT, kit.SSH_ROUTE)},
|
||||
},
|
||||
Commands: map[string]*ice.Command{
|
||||
ROUTE: {Name: "route route ctx cmd auto invite", Help: "路由", Action: map[string]*ice.Action{
|
||||
ROUTE: {Name: "route route ctx cmd auto invite share", Help: "路由", Action: map[string]*ice.Action{
|
||||
SHARE: {Name: "share", Help: "共享", Hand: func(m *ice.Message, arg ...string) {
|
||||
h := m.Cmdx(SHARE, mdb.CREATE, kit.MDB_TYPE, "login")
|
||||
m.Cmdy("web.wiki.image", "qrcode", kit.MergeURL(m.Option(ice.MSG_USERWEB), SHARE, h))
|
||||
}},
|
||||
mdb.INVITE: {Name: "invite", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy("web.code.publish", "contexts", "tmux")
|
||||
m.Cmdy("web.code.publish", "contexts", "base")
|
||||
m.Cmdy("web.code.publish", "contexts", "miss")
|
||||
|
||||
m.Cmdy("web.wiki.image", "qrcode", m.Option(ice.MSG_USERWEB))
|
||||
}},
|
||||
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
|
||||
switch arg[0] {
|
||||
@ -83,22 +89,14 @@ func init() {
|
||||
return
|
||||
}
|
||||
|
||||
m.Cmd(tcp.HOST).Table(func(index int, value map[string]string, head []string) {
|
||||
m.Push(kit.MDB_TYPE, MYSELF)
|
||||
m.Push(ROUTE, value["ip"])
|
||||
})
|
||||
|
||||
m.Table(func(index int, value map[string]string, field []string) {
|
||||
switch value[kit.MDB_TYPE] {
|
||||
case MYSELF:
|
||||
m.PushRender(kit.MDB_LINK, "a", value[kit.SSH_ROUTE], m.Option(ice.MSG_USERWEB))
|
||||
default:
|
||||
if value[kit.MDB_TYPE] != MYSELF {
|
||||
m.PushRender(kit.MDB_LINK, "a", value[kit.SSH_ROUTE],
|
||||
kit.MergeURL(m.Option(ice.MSG_USERWEB), kit.SSH_POD, kit.Keys(m.Option(kit.SSH_POD, value[kit.SSH_ROUTE]))))
|
||||
}
|
||||
|
||||
switch value[kit.MDB_TYPE] {
|
||||
case MYSELF, SERVER:
|
||||
case SERVER:
|
||||
m.PushButton(gdb.START)
|
||||
case WORKER:
|
||||
m.PushButton(gdb.STOP)
|
||||
@ -106,6 +104,15 @@ func init() {
|
||||
m.PushButton("")
|
||||
}
|
||||
})
|
||||
|
||||
m.Cmd(tcp.HOST).Table(func(index int, value map[string]string, head []string) {
|
||||
m.Push(kit.MDB_TYPE, MYSELF)
|
||||
m.Push(kit.SSH_ROUTE, ice.Info.NodeName)
|
||||
u := kit.ParseURL(m.Option(ice.MSG_USERWEB))
|
||||
m.PushRender(kit.MDB_LINK, "a", value["ip"], kit.Format("%s://%s:%s", u.Scheme, value["ip"], u.Port()))
|
||||
m.PushButton(gdb.START)
|
||||
})
|
||||
|
||||
m.Sort(kit.SSH_ROUTE)
|
||||
return // 设备列表
|
||||
}
|
||||
|
@ -53,9 +53,19 @@ func _serve_main(m *ice.Message, w http.ResponseWriter, r *http.Request) bool {
|
||||
}()
|
||||
}
|
||||
|
||||
if r.URL.Path == "/" && r.FormValue(SHARE) != "" {
|
||||
m.W = w
|
||||
s := m.Cmd(SHARE, mdb.SELECT, kit.MDB_HASH, r.FormValue(SHARE))
|
||||
Render(m, COOKIE, aaa.SessCreate(m,
|
||||
s.Append(aaa.USERNAME), s.Append(aaa.USERROLE),
|
||||
))
|
||||
m.W = nil
|
||||
http.Redirect(w, r, kit.MergeURL(r.URL.String(), SHARE, ""), http.StatusTemporaryRedirect)
|
||||
return false
|
||||
}
|
||||
|
||||
// 单点登录
|
||||
if r.URL.Path == "/" && m.Conf(SERVE, "meta.sso") != "" {
|
||||
r.ParseForm()
|
||||
sessid := r.FormValue(ice.MSG_SESSID)
|
||||
if sessid == "" {
|
||||
if c, e := r.Cookie(ice.MSG_SESSID); e == nil {
|
||||
|
@ -77,9 +77,7 @@ const SHARE = "share"
|
||||
func init() {
|
||||
Index.Merge(&ice.Context{
|
||||
Configs: map[string]*ice.Config{
|
||||
SHARE: {Name: SHARE, Help: "共享链", Value: kit.Data(
|
||||
"expire", "72h",
|
||||
)},
|
||||
SHARE: {Name: SHARE, Help: "共享链", Value: kit.Data("expire", "72h")},
|
||||
},
|
||||
Commands: map[string]*ice.Command{
|
||||
SHARE: {Name: "share hash auto", Help: "共享链", Action: map[string]*ice.Action{
|
||||
@ -89,14 +87,34 @@ func init() {
|
||||
"river", m.Option(ice.MSG_RIVER), "storm", m.Option(ice.MSG_STORM),
|
||||
kit.MDB_TIME, m.Time(m.Conf(SHARE, "meta.expire")), arg)
|
||||
}},
|
||||
mdb.SELECT: {Name: "select hash", Help: "查询", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Option(mdb.FIELDS, "time,hash,userrole,username,river,storm,type,name,text")
|
||||
m.Cmdy(mdb.SELECT, SHARE, "", mdb.HASH, kit.MDB_HASH, m.Option(kit.MDB_HASH))
|
||||
}},
|
||||
mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(mdb.DELETE, SHARE, "", mdb.HASH, kit.MDB_HASH, m.Option(kit.MDB_HASH))
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
m.Option(mdb.FIELDS, "time,hash,userrole,username,river,storm,type,name,text")
|
||||
m.Option(mdb.FIELDS, kit.Select("time,hash,userrole,username,river,storm,type,name,text", mdb.DETAIL, len(arg) > 0))
|
||||
m.Cmdy(mdb.SELECT, SHARE, "", mdb.HASH, kit.MDB_HASH, arg)
|
||||
m.PushAction("删除")
|
||||
}},
|
||||
"/share/": {Name: "/share/", Help: "共享链", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
m.Option(mdb.FIELDS, kit.Select("time,hash,userrole,username,river,storm,type,name,text"))
|
||||
switch msg := m.Cmd(mdb.SELECT, SHARE, "", mdb.HASH, kit.MDB_HASH, arg[0]); msg.Append(kit.MDB_TYPE) {
|
||||
case "login":
|
||||
switch kit.Select("", arg, 1) {
|
||||
case "share":
|
||||
list := []string{}
|
||||
for _, k := range []string{"river", "storm"} {
|
||||
if msg.Append(k) != "" {
|
||||
list = append(list, k, msg.Append(k))
|
||||
}
|
||||
}
|
||||
m.Render(ice.RENDER_QRCODE, kit.MergeURL2(m.Option(ice.MSG_USERWEB), "/", SHARE, arg[0], list))
|
||||
}
|
||||
}
|
||||
}},
|
||||
|
||||
"/share/local/": {Name: "/share/local/", Help: "共享链", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
_share_local(m, arg...)
|
||||
|
@ -6,8 +6,8 @@ field "空间站" web.space
|
||||
field "梦想家" web.dream
|
||||
|
||||
field "路由器" web.route
|
||||
field "共享链" web.share
|
||||
field "缓存池" web.cache
|
||||
return
|
||||
field "共享链" web.share
|
||||
field "故事会" web.story
|
||||
|
||||
|
@ -257,7 +257,20 @@ func init() {
|
||||
m.Cmdy(mdb.IMPORT, RIVER, "", mdb.HASH)
|
||||
}},
|
||||
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(mdb.INPUTS, RIVER, "", mdb.HASH, arg)
|
||||
switch arg[0] {
|
||||
case aaa.USERNAME:
|
||||
m.Cmdy(aaa.USER)
|
||||
m.Appendv(ice.MSG_APPEND, "username", "usernick", "userzone")
|
||||
case aaa.USERROLE:
|
||||
m.Push(aaa.USERROLE, aaa.VOID)
|
||||
m.Push(aaa.USERROLE, aaa.TECH)
|
||||
m.Push(aaa.USERROLE, aaa.ROOT)
|
||||
default:
|
||||
m.Cmdy(mdb.INPUTS, RIVER, "", mdb.HASH, arg)
|
||||
}
|
||||
}},
|
||||
web.SHARE: {Name: "share name", Help: "共享", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(web.SHARE, mdb.CREATE, kit.MDB_TYPE, "login", arg)
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
m.Cmdy(mdb.SELECT, RIVER, "", mdb.HASH, kit.MDB_HASH, arg)
|
||||
@ -285,6 +298,9 @@ func init() {
|
||||
case USER, TOOL, NODE:
|
||||
m.Option(ice.MSG_RIVER, arg[0])
|
||||
m.Cmdy(m.Prefix(arg[1]), arg[2:])
|
||||
case "action":
|
||||
m.Option(ice.MSG_RIVER, arg[0])
|
||||
m.Cmdy(RIVER, arg[1:])
|
||||
default:
|
||||
m.Cmdy(RIVER, arg)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user