mirror of
https://shylinux.com/x/icebergs
synced 2025-04-27 01:48:27 +08:00
opt share
This commit is contained in:
parent
8f81807b3d
commit
211369ea86
@ -69,9 +69,6 @@ func init() {
|
|||||||
},
|
},
|
||||||
Commands: map[string]*ice.Command{
|
Commands: map[string]*ice.Command{
|
||||||
SESS: {Name: "sess hash auto", Help: "会话", Action: map[string]*ice.Action{
|
SESS: {Name: "sess hash auto", Help: "会话", Action: map[string]*ice.Action{
|
||||||
mdb.CREATE: {Name: "create", Help: "创建", Hand: func(m *ice.Message, arg ...string) {
|
|
||||||
m.EchoQRCode(kit.MergeURL(m.Conf("web.serve", "meta.share"), "share", m.Cmdx("web.share", mdb.CREATE, kit.MDB_TYPE, "login", USERNAME, ice.Info.UserName)))
|
|
||||||
}},
|
|
||||||
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, SESS, "", mdb.HASH, kit.MDB_HASH, m.Option(kit.MDB_HASH))
|
m.Cmdy(mdb.DELETE, SESS, "", mdb.HASH, kit.MDB_HASH, m.Option(kit.MDB_HASH))
|
||||||
}},
|
}},
|
||||||
|
@ -131,7 +131,7 @@ func init() {
|
|||||||
mdb.MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
|
mdb.MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
|
||||||
m.Cmdy(mdb.MODIFY, USER, "", mdb.HASH, USERNAME, m.Option(USERNAME), arg)
|
m.Cmdy(mdb.MODIFY, USER, "", mdb.HASH, USERNAME, m.Option(USERNAME), arg)
|
||||||
}},
|
}},
|
||||||
mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
mdb.REMOVE: {Name: "remove username", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
||||||
_user_remove(m, m.Option(USERNAME))
|
_user_remove(m, m.Option(USERNAME))
|
||||||
}},
|
}},
|
||||||
mdb.SEARCH: {Name: "search type name text", Help: "搜索", Hand: func(m *ice.Message, arg ...string) {
|
mdb.SEARCH: {Name: "search type name text", Help: "搜索", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
@ -40,8 +40,9 @@ func _qrcode_web(m *ice.Message, arg ...string) {
|
|||||||
if qr, e := qrcode.New(arg[0], qrcode.Medium); m.Assert(e) {
|
if qr, e := qrcode.New(arg[0], qrcode.Medium); m.Assert(e) {
|
||||||
m.Assert(qr.Write(kit.Int(kit.Select("240", arg, 1)), buf))
|
m.Assert(qr.Write(kit.Int(kit.Select("240", arg, 1)), buf))
|
||||||
}
|
}
|
||||||
src := "data:image/png;base64," + base64.StdEncoding.EncodeToString(buf.Bytes())
|
m.Option("byte", buf.Bytes())
|
||||||
m.Echo(`<img src="%s" title='%s' height=%s>`, src, arg[0], kit.Select("240", arg, 1))
|
data := base64.StdEncoding.EncodeToString(buf.Bytes())
|
||||||
|
m.Echo(`<img src="data:image/png;base64,%s" title='%s' height=%s>`, data, arg[0], kit.Select("240", arg, 1))
|
||||||
}
|
}
|
||||||
|
|
||||||
const QRCODE = "qrcode"
|
const QRCODE = "qrcode"
|
||||||
|
@ -3,6 +3,7 @@ package web
|
|||||||
import (
|
import (
|
||||||
ice "github.com/shylinux/icebergs"
|
ice "github.com/shylinux/icebergs"
|
||||||
"github.com/shylinux/icebergs/base/aaa"
|
"github.com/shylinux/icebergs/base/aaa"
|
||||||
|
"github.com/shylinux/icebergs/base/cli"
|
||||||
kit "github.com/shylinux/toolkits"
|
kit "github.com/shylinux/toolkits"
|
||||||
|
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -47,8 +48,10 @@ func Render(msg *ice.Message, cmd string, args ...interface{}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
case ice.RENDER_QRCODE: // text [size]
|
case ice.RENDER_QRCODE: // text [size]
|
||||||
|
if data, ok := msg.Cmd(cli.QRCODE, arg).Optionv("byte").([]byte); ok {
|
||||||
msg.W.Header().Set(ContentType, ContentPNG)
|
msg.W.Header().Set(ContentType, ContentPNG)
|
||||||
fmt.Fprint(msg.W, msg.Cmdx("cli.qrcode", arg))
|
msg.W.Write(data)
|
||||||
|
}
|
||||||
|
|
||||||
case ice.RENDER_RESULT:
|
case ice.RENDER_RESULT:
|
||||||
if len(arg) > 0 { // [str [arg...]]
|
if len(arg) > 0 { // [str [arg...]]
|
||||||
|
@ -242,12 +242,6 @@ func init() {
|
|||||||
for _, k := range kit.Split(m.Option(SPIDE_DEV)) {
|
for _, k := range kit.Split(m.Option(SPIDE_DEV)) {
|
||||||
m.Cmd(SPACE, tcp.DIAL, SPIDE_DEV, k, kit.MDB_NAME, ice.Info.NodeName)
|
m.Cmd(SPACE, tcp.DIAL, SPIDE_DEV, k, kit.MDB_NAME, ice.Info.NodeName)
|
||||||
}
|
}
|
||||||
|
|
||||||
if m.Conf(SERVE, kit.Keym(SHARE)) == "" {
|
|
||||||
share := kit.Format("%s://%s:%s", m.Option("proto"), m.Cmd(tcp.HOST).Append(tcp.IP), m.Option(tcp.PORT))
|
|
||||||
m.Debug("share: %v", share)
|
|
||||||
m.Conf(SERVE, kit.Keym(SHARE), share)
|
|
||||||
}
|
|
||||||
}},
|
}},
|
||||||
}, 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,status,name,port,dev", mdb.DETAIL, len(arg) > 0))
|
m.Option(mdb.FIELDS, kit.Select("time,status,name,port,dev", mdb.DETAIL, len(arg) > 0))
|
||||||
|
@ -78,6 +78,7 @@ const (
|
|||||||
LOGIN = "login"
|
LOGIN = "login"
|
||||||
RIVER = "river"
|
RIVER = "river"
|
||||||
STORM = "storm"
|
STORM = "storm"
|
||||||
|
APPLY = "apply"
|
||||||
)
|
)
|
||||||
const SHARE = "share"
|
const SHARE = "share"
|
||||||
|
|
||||||
@ -100,6 +101,18 @@ func init() {
|
|||||||
m.Option(mdb.FIELDS, "time,userrole,username,river,storm,type,name,text")
|
m.Option(mdb.FIELDS, "time,userrole,username,river,storm,type,name,text")
|
||||||
m.Cmdy(mdb.SELECT, SHARE, "", mdb.HASH, kit.MDB_HASH, m.Option(kit.MDB_HASH))
|
m.Cmdy(mdb.SELECT, SHARE, "", mdb.HASH, kit.MDB_HASH, m.Option(kit.MDB_HASH))
|
||||||
}},
|
}},
|
||||||
|
|
||||||
|
LOGIN: {Name: "login", Help: "登录", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
m.EchoQRCode(kit.MergeURL(m.Conf(SHARE, kit.Keym(kit.MDB_DOMAIN)),
|
||||||
|
SHARE, m.Cmdx(SHARE, mdb.CREATE, kit.MDB_TYPE, LOGIN, aaa.USERNAME, ice.Info.UserName)))
|
||||||
|
}},
|
||||||
|
APPLY: {Name: "apply", Help: "申请", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
m.EchoQRCode(kit.MergeURL(m.Conf(SHARE, kit.Keym(kit.MDB_DOMAIN)),
|
||||||
|
SHARE, m.Cmdx(SHARE, mdb.CREATE, kit.MDB_TYPE, APPLY)))
|
||||||
|
}},
|
||||||
|
"auth": {Name: "auth", Help: "授权", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
m.Cmdy(mdb.MODIFY, SHARE, "", mdb.HASH, kit.MDB_HASH, 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.Option(mdb.FIELDS, kit.Select("time,hash,userrole,username,river,storm,type,name,text", mdb.DETAIL, len(arg) > 0))
|
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)
|
||||||
@ -123,7 +136,7 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch msg.Append(kit.MDB_TYPE) {
|
switch msg.Append(kit.MDB_TYPE) {
|
||||||
case LOGIN, RIVER:
|
case LOGIN, APPLY, RIVER:
|
||||||
switch kit.Select("", arg, 1) {
|
switch kit.Select("", arg, 1) {
|
||||||
case SHARE:
|
case SHARE:
|
||||||
m.Render(ice.RENDER_QRCODE, kit.MergeURL2(m.Option(ice.MSG_USERWEB), "/", list))
|
m.Render(ice.RENDER_QRCODE, kit.MergeURL2(m.Option(ice.MSG_USERWEB), "/", list))
|
||||||
|
@ -247,6 +247,10 @@ func init() {
|
|||||||
m.Event(SPACE_START, args...)
|
m.Event(SPACE_START, args...)
|
||||||
defer m.Event(SPACE_STOP, args...)
|
defer m.Event(SPACE_STOP, args...)
|
||||||
}
|
}
|
||||||
|
switch kind {
|
||||||
|
case "chrome":
|
||||||
|
m.Cmd(SPACE, name, "pwd", name)
|
||||||
|
}
|
||||||
|
|
||||||
frame := m.Target().Server().(*Frame)
|
frame := m.Target().Server().(*Frame)
|
||||||
_space_handle(m, false, frame.send, s, name)
|
_space_handle(m, false, frame.send, s, name)
|
||||||
|
@ -11,17 +11,24 @@ import (
|
|||||||
|
|
||||||
func _header_check(m *ice.Message) {
|
func _header_check(m *ice.Message) {
|
||||||
if m.Option(web.SHARE) != "" {
|
if m.Option(web.SHARE) != "" {
|
||||||
switch msg := m.Cmd(web.SHARE, m.Option(web.SHARE)); msg.Append(kit.MDB_TYPE) {
|
msg := m.Cmd(web.SHARE, m.Option(web.SHARE))
|
||||||
|
switch msg.Append(kit.MDB_TYPE) {
|
||||||
case web.LOGIN:
|
case web.LOGIN:
|
||||||
if m.Option(ice.MSG_SESSID) == "" {
|
if m.Option(ice.MSG_SESSID) == "" {
|
||||||
web.Render(m, web.COOKIE, aaa.SessCreate(m, msg.Append(aaa.USERNAME)))
|
web.Render(m, web.COOKIE, aaa.SessCreate(m, msg.Append(aaa.USERNAME)))
|
||||||
}
|
}
|
||||||
|
case web.APPLY:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m.Option(kit.MDB_TYPE, msg.Append(kit.MDB_TYPE))
|
||||||
|
m.Option(kit.MDB_NAME, msg.Append(kit.MDB_NAME))
|
||||||
|
m.Option(kit.MDB_TEXT, msg.Append(kit.MDB_TEXT))
|
||||||
}
|
}
|
||||||
m.Option(web.SSO, m.Conf(web.SERVE, kit.Keym(web.SSO)))
|
m.Option(web.SSO, m.Conf(web.SERVE, kit.Keym(web.SSO)))
|
||||||
}
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
APPLY = "apply"
|
||||||
LOGIN = "login"
|
LOGIN = "login"
|
||||||
CHECK = "check"
|
CHECK = "check"
|
||||||
TITLE = "title"
|
TITLE = "title"
|
||||||
@ -44,6 +51,15 @@ func init() {
|
|||||||
}},
|
}},
|
||||||
|
|
||||||
P_HEADER: {Name: "/header", Help: "标题栏", Action: map[string]*ice.Action{
|
P_HEADER: {Name: "/header", Help: "标题栏", Action: map[string]*ice.Action{
|
||||||
|
"auth": {Name: "auth share", Help: "用户授权", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
m.Cmd(web.SHARE, "auth", m.Option(web.SHARE), kit.MDB_NAME, m.Option(ice.MSG_USERNAME))
|
||||||
|
|
||||||
|
space := m.Cmdy(web.SHARE, m.Option(web.SHARE)).Append(kit.MDB_TEXT)
|
||||||
|
m.Cmd(web.SPACE, space, ice.MSG_SESSID, aaa.SessCreate(m, m.Option(ice.MSG_USERNAME)))
|
||||||
|
}},
|
||||||
|
APPLY: {Name: "apply", Help: "用户登录", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
m.Cmdy(web.SHARE, mdb.CREATE, kit.MDB_TYPE, web.APPLY, kit.MDB_TEXT, m.Option(kit.MDB_TEXT))
|
||||||
|
}},
|
||||||
LOGIN: {Name: "login", Help: "用户登录", Hand: func(m *ice.Message, arg ...string) {
|
LOGIN: {Name: "login", Help: "用户登录", Hand: func(m *ice.Message, arg ...string) {
|
||||||
if aaa.UserLogin(m, arg[0], arg[1]) {
|
if aaa.UserLogin(m, arg[0], arg[1]) {
|
||||||
web.Render(m, web.COOKIE, aaa.SessCreate(m, arg[0]))
|
web.Render(m, web.COOKIE, aaa.SessCreate(m, arg[0]))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user