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
|
return m
|
||||||
}
|
}
|
||||||
func SessCreate(m *ice.Message, username, userrole string) string {
|
func SessCreate(m *ice.Message, username, userrole string) string {
|
||||||
|
m.Set(ice.MSG_RESULT)
|
||||||
_sess_auth(m, _sess_create(m, username), username, userrole)
|
_sess_auth(m, _sess_create(m, username), username, userrole)
|
||||||
return m.Result()
|
return m.Result()
|
||||||
}
|
}
|
||||||
|
@ -110,7 +110,7 @@ func init() {
|
|||||||
_user_search(m, arg[0], arg[1], kit.Select("", arg, 2))
|
_user_search(m, arg[0], arg[1], kit.Select("", arg, 2))
|
||||||
}},
|
}},
|
||||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
}, 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.Cmdy(mdb.SELECT, USER, "", mdb.HASH, USERNAME, arg)
|
||||||
m.PushAction(mdb.REMOVE)
|
m.PushAction(mdb.REMOVE)
|
||||||
}},
|
}},
|
||||||
|
@ -47,11 +47,17 @@ func init() {
|
|||||||
ROUTE: {Name: ROUTE, Help: "路由器", Value: kit.Data(kit.MDB_SHORT, kit.SSH_ROUTE)},
|
ROUTE: {Name: ROUTE, Help: "路由器", Value: kit.Data(kit.MDB_SHORT, kit.SSH_ROUTE)},
|
||||||
},
|
},
|
||||||
Commands: map[string]*ice.Command{
|
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) {
|
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", "tmux")
|
||||||
m.Cmdy("web.code.publish", "contexts", "base")
|
m.Cmdy("web.code.publish", "contexts", "base")
|
||||||
m.Cmdy("web.code.publish", "contexts", "miss")
|
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) {
|
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
|
||||||
switch arg[0] {
|
switch arg[0] {
|
||||||
@ -83,22 +89,14 @@ func init() {
|
|||||||
return
|
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) {
|
m.Table(func(index int, value map[string]string, field []string) {
|
||||||
switch value[kit.MDB_TYPE] {
|
if value[kit.MDB_TYPE] != MYSELF {
|
||||||
case MYSELF:
|
|
||||||
m.PushRender(kit.MDB_LINK, "a", value[kit.SSH_ROUTE], m.Option(ice.MSG_USERWEB))
|
|
||||||
default:
|
|
||||||
m.PushRender(kit.MDB_LINK, "a", value[kit.SSH_ROUTE],
|
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]))))
|
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] {
|
switch value[kit.MDB_TYPE] {
|
||||||
case MYSELF, SERVER:
|
case SERVER:
|
||||||
m.PushButton(gdb.START)
|
m.PushButton(gdb.START)
|
||||||
case WORKER:
|
case WORKER:
|
||||||
m.PushButton(gdb.STOP)
|
m.PushButton(gdb.STOP)
|
||||||
@ -106,6 +104,15 @@ func init() {
|
|||||||
m.PushButton("")
|
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)
|
m.Sort(kit.SSH_ROUTE)
|
||||||
return // 设备列表
|
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") != "" {
|
if r.URL.Path == "/" && m.Conf(SERVE, "meta.sso") != "" {
|
||||||
r.ParseForm()
|
|
||||||
sessid := r.FormValue(ice.MSG_SESSID)
|
sessid := r.FormValue(ice.MSG_SESSID)
|
||||||
if sessid == "" {
|
if sessid == "" {
|
||||||
if c, e := r.Cookie(ice.MSG_SESSID); e == nil {
|
if c, e := r.Cookie(ice.MSG_SESSID); e == nil {
|
||||||
|
@ -77,9 +77,7 @@ const SHARE = "share"
|
|||||||
func init() {
|
func init() {
|
||||||
Index.Merge(&ice.Context{
|
Index.Merge(&ice.Context{
|
||||||
Configs: map[string]*ice.Config{
|
Configs: map[string]*ice.Config{
|
||||||
SHARE: {Name: SHARE, Help: "共享链", Value: kit.Data(
|
SHARE: {Name: SHARE, Help: "共享链", Value: kit.Data("expire", "72h")},
|
||||||
"expire", "72h",
|
|
||||||
)},
|
|
||||||
},
|
},
|
||||||
Commands: map[string]*ice.Command{
|
Commands: map[string]*ice.Command{
|
||||||
SHARE: {Name: "share hash auto", Help: "共享链", Action: map[string]*ice.Action{
|
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),
|
"river", m.Option(ice.MSG_RIVER), "storm", m.Option(ice.MSG_STORM),
|
||||||
kit.MDB_TIME, m.Time(m.Conf(SHARE, "meta.expire")), arg)
|
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) {
|
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))
|
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) {
|
}, 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.Cmdy(mdb.SELECT, SHARE, "", mdb.HASH, kit.MDB_HASH, arg)
|
||||||
m.PushAction("删除")
|
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/": {Name: "/share/local/", Help: "共享链", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
_share_local(m, arg...)
|
_share_local(m, arg...)
|
||||||
|
@ -6,8 +6,8 @@ field "空间站" web.space
|
|||||||
field "梦想家" web.dream
|
field "梦想家" web.dream
|
||||||
|
|
||||||
field "路由器" web.route
|
field "路由器" web.route
|
||||||
|
field "共享链" web.share
|
||||||
field "缓存池" web.cache
|
field "缓存池" web.cache
|
||||||
return
|
return
|
||||||
field "共享链" web.share
|
|
||||||
field "故事会" web.story
|
field "故事会" web.story
|
||||||
|
|
||||||
|
@ -257,7 +257,20 @@ func init() {
|
|||||||
m.Cmdy(mdb.IMPORT, RIVER, "", mdb.HASH)
|
m.Cmdy(mdb.IMPORT, RIVER, "", mdb.HASH)
|
||||||
}},
|
}},
|
||||||
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
|
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) {
|
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
m.Cmdy(mdb.SELECT, RIVER, "", mdb.HASH, kit.MDB_HASH, arg)
|
m.Cmdy(mdb.SELECT, RIVER, "", mdb.HASH, kit.MDB_HASH, arg)
|
||||||
@ -285,6 +298,9 @@ func init() {
|
|||||||
case USER, TOOL, NODE:
|
case USER, TOOL, NODE:
|
||||||
m.Option(ice.MSG_RIVER, arg[0])
|
m.Option(ice.MSG_RIVER, arg[0])
|
||||||
m.Cmdy(m.Prefix(arg[1]), arg[2:])
|
m.Cmdy(m.Prefix(arg[1]), arg[2:])
|
||||||
|
case "action":
|
||||||
|
m.Option(ice.MSG_RIVER, arg[0])
|
||||||
|
m.Cmdy(RIVER, arg[1:])
|
||||||
default:
|
default:
|
||||||
m.Cmdy(RIVER, arg)
|
m.Cmdy(RIVER, arg)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user