1
0
forked from x/icebergs
This commit is contained in:
IT 老营长 @云轩领航-创始人 2023-11-30 13:14:36 +08:00
parent 9d3e1fa3fb
commit 3a87341d26
4 changed files with 24 additions and 13 deletions

View File

@ -77,6 +77,7 @@ func _space_fork(m *ice.Message) {
m.Cmd(SPACE, name, ice.MSG_SESSID, m.Option(ice.MSG_SESSID)) m.Cmd(SPACE, name, ice.MSG_SESSID, m.Option(ice.MSG_SESSID))
} }
gdb.Event(m, SPACE_LOGIN, args) gdb.Event(m, SPACE_LOGIN, args)
defer gdb.Event(m, SPACE_LOGIN_CLOSE, args)
} }
_space_handle(m, false, name, c) _space_handle(m, false, name, c)
}, kit.Join(kit.Simple(SPACE, name), lex.SP)) }, kit.Join(kit.Simple(SPACE, name), lex.SP))
@ -173,6 +174,7 @@ const (
) )
const ( const (
SPACE_LOGIN = "space.login" SPACE_LOGIN = "space.login"
SPACE_LOGIN_CLOSE = "space.login.close"
SPACE_GRANT = "space.grant" SPACE_GRANT = "space.grant"
) )
const SPACE = "space" const SPACE = "space"
@ -184,6 +186,8 @@ func init() {
m.Cmd(SPACE, func(value ice.Maps) { m.Cmd(SPACE, func(value ice.Maps) {
kit.If(kit.IsIn(value[mdb.TYPE], WORKER, SERVER), func() { m.Push(arg[0], value[mdb.NAME]) }) kit.If(kit.IsIn(value[mdb.TYPE], WORKER, SERVER), func() { m.Push(arg[0], value[mdb.NAME]) })
}) })
case tcp.WIFI:
m.Cmdy(tcp.WIFI).CutTo(tcp.SSID, arg[0])
case mdb.ICON: case mdb.ICON:
m.Cmdy(nfs.DIR, ice.USR_ICONS, nfs.PATH).CutTo(nfs.PATH, arg[0]) m.Cmdy(nfs.DIR, ice.USR_ICONS, nfs.PATH).CutTo(nfs.PATH, arg[0])
case ctx.INDEX: case ctx.INDEX:

View File

@ -85,18 +85,19 @@ func init() {
} }
m.Echo(msg.Append(TICKET)).Status(msg.AppendSimple(EXPIRE)) m.Echo(msg.Append(TICKET)).Status(msg.AppendSimple(EXPIRE))
}}, }},
web.SSO: {Name: "sso name*=微信扫码", Help: "登录", Hand: func(m *ice.Message, arg ...string) { web.SSO: {Name: "sso name*=微信扫码 wifi env=release,trial,develop", Help: "登录", Hand: func(m *ice.Message, arg ...string) {
m.Cmd(web.CHAT_HEADER, mdb.CREATE, mdb.TYPE, mdb.PLUGIN, m.OptionSimple(mdb.NAME), m.Cmd(web.CHAT_HEADER, mdb.CREATE, mdb.TYPE, mdb.PLUGIN, m.OptionSimple(mdb.NAME),
ctx.INDEX, m.PrefixKey(), ctx.ARGS, kit.Join(kit.Simple(aaa.LOGIN, m.Option(ACCESS)))) ctx.INDEX, m.PrefixKey(), ctx.ARGS, kit.Join(kit.Simple(aaa.LOGIN, m.Option(ACCESS), m.Option(tcp.WIFI), m.Option(ENV))))
}}, }},
aaa.LOGIN: {Hand: func(m *ice.Message, arg ...string) { aaa.LOGIN: {Hand: func(m *ice.Message, arg ...string) {
if m.Cmd("", m.Option(ACCESS, arg[0])).Append(mdb.TYPE) == ice.WEB { if m.Cmd("", m.Option(ACCESS, arg[0])).Append(mdb.TYPE) == ice.WEB {
m.Cmdy(SCAN, mdb.CREATE, mdb.TYPE, QR_STR_SCENE, mdb.NAME, "授权登录", mdb.TEXT, m.Option(web.SPACE), m.Cmdy(SCAN, mdb.CREATE, mdb.TYPE, QR_STR_SCENE, mdb.NAME, "授权登录", mdb.TEXT, m.Option(web.SPACE),
ctx.INDEX, web.CHAT_GRANT, ctx.ARGS, m.Option(web.SPACE)) ctx.INDEX, web.CHAT_GRANT, ctx.ARGS, m.Option(web.SPACE))
} else { } else {
h := m.Cmdx(IDE, mdb.CREATE, mdb.NAME, m.Option(web.SPACE), PAGES, "pages/action/action", h := m.Cmdx(IDE, mdb.CREATE, mdb.NAME, m.Option(web.SPACE), PAGES, PAGES_ACTION, tcp.WIFI, kit.Select("", arg, 1),
ctx.INDEX, web.CHAT_GRANT, ctx.ARGS, kit.JoinQuery(m.OptionSimple(web.SPACE, log.DEBUG)...)) ctx.INDEX, web.CHAT_GRANT, ctx.ARGS, kit.JoinQuery(m.OptionSimple(web.SPACE, log.DEBUG)...),
m.Echo(m.Cmdx(SCAN, UNLIMIT, SCENE, h, ENV, "release", mdb.NAME, m.Option(web.SPACE))) )
m.Echo(m.Cmdx(SCAN, UNLIMIT, SCENE, h, ENV, kit.Select("release", arg, 2), IS_HYALINE, ice.FALSE, mdb.NAME, m.Option(web.SPACE)))
} }
}}, }},
web.SPACE_GRANT: {Hand: func(m *ice.Message, arg ...string) { web.SPACE_GRANT: {Hand: func(m *ice.Message, arg ...string) {
@ -105,7 +106,11 @@ func init() {
m.Cmd(mdb.PRUNES, m.Prefix(IDE), "", mdb.HASH, mdb.NAME, m.Option(web.SPACE)) m.Cmd(mdb.PRUNES, m.Prefix(IDE), "", mdb.HASH, mdb.NAME, m.Option(web.SPACE))
} }
}}, }},
}, aaa.RoleAction(aaa.LOGIN), gdb.EventsAction(web.SPACE_GRANT), mdb.ImportantHashAction(mdb.SHORT, ACCESS, mdb.FIELD, "time,type,access,icons,usernick,appid", tcp.SERVER, CGI_BIN)), Hand: func(m *ice.Message, arg ...string) { web.SPACE_LOGIN_CLOSE: {Hand: func(m *ice.Message, arg ...string) {
m.Cmd(mdb.PRUNES, m.Prefix(SCAN), "", mdb.HASH, m.OptionSimple(mdb.NAME))
m.Cmd(mdb.PRUNES, m.Prefix(IDE), "", mdb.HASH, m.OptionSimple(mdb.NAME))
}},
}, aaa.RoleAction(aaa.LOGIN), gdb.EventsAction(web.SPACE_GRANT, web.SPACE_LOGIN_CLOSE), mdb.ImportantHashAction(mdb.SHORT, ACCESS, mdb.FIELD, "time,type,access,icons,usernick,appid", tcp.SERVER, CGI_BIN)), Hand: func(m *ice.Message, arg ...string) {
mdb.HashSelect(m, arg...).PushAction(web.SSO, mdb.REMOVE).StatusTimeCount(mdb.ConfigSimple(m, ACCESS, APPID), web.SERVE, web.MergeLink(m, "/chat/wx/login/")) mdb.HashSelect(m, arg...).PushAction(web.SSO, mdb.REMOVE).StatusTimeCount(mdb.ConfigSimple(m, ACCESS, APPID), web.SERVE, web.MergeLink(m, "/chat/wx/login/"))
m.RewriteAppend(func(value, key string, index int) string { m.RewriteAppend(func(value, key string, index int) string {
kit.If(key == cli.QRCODE, func() { value = ice.Render(m, ice.RENDER_QRCODE, value) }) kit.If(key == cli.QRCODE, func() { value = ice.Render(m, ice.RENDER_QRCODE, value) })

View File

@ -32,6 +32,9 @@ func _ide_args_qrcode(m *ice.Message, p string) []string {
return []string{"--qr-format", nfs.IMAGE, "--qr-output", kit.Path(p)} return []string{"--qr-format", nfs.IMAGE, "--qr-output", kit.Path(p)}
} }
const (
PAGES_ACTION = "pages/action/action"
)
const ( const (
PROJECT = "project" PROJECT = "project"
PAGES = "pages" PAGES = "pages"

View File

@ -17,16 +17,15 @@ import (
const ( const (
UNLIMIT = "unlimit" UNLIMIT = "unlimit"
EXPIRE_SECONDS = "expire_seconds" IS_HYALINE = "is_hyaline"
QR_STR_SCENE = "QR_STR_SCENE" QR_STR_SCENE = "QR_STR_SCENE"
QR_LIMIT_STR_SCENE = "QR_LIMIT_STR_SCENE" QR_LIMIT_STR_SCENE = "QR_LIMIT_STR_SCENE"
EXPIRE_SECONDS = "expire_seconds"
) )
const SCAN = "scan" const SCAN = "scan"
func init() { func init() {
const ( const ()
IS_HYALINE = "is_hyaline"
)
Index.MergeCommands(ice.Commands{ Index.MergeCommands(ice.Commands{
SCAN: {Name: "scan access hash auto", Help: "桌牌", Meta: kit.Merge(Meta(), kit.Dict(ice.CTX_TRANS, kit.Dict(html.VALUE, kit.Dict( SCAN: {Name: "scan access hash auto", Help: "桌牌", Meta: kit.Merge(Meta(), kit.Dict(ice.CTX_TRANS, kit.Dict(html.VALUE, kit.Dict(
QR_LIMIT_STR_SCENE, "永久码", QR_STR_SCENE, "临时码", mdb.VALID, "有效", mdb.EXPIRED, "失效", QR_LIMIT_STR_SCENE, "永久码", QR_STR_SCENE, "临时码", mdb.VALID, "有效", mdb.EXPIRED, "失效",
@ -60,7 +59,7 @@ func init() {
meta = path.Join("s", u.Host, scene) meta = path.Join("s", u.Host, scene)
} }
msg := spidePost(m, WXACODE_UNLIMIT, web.SPIDE_DATA, kit.Format(kit.Dict( msg := spidePost(m, WXACODE_UNLIMIT, web.SPIDE_DATA, kit.Format(kit.Dict(
"env_version", m.Option(ENV), "page", info.Append(PAGES), SCENE, meta, IS_HYALINE, m.Option(IS_HYALINE) == ice.TRUE, html.WIDTH, 360, "env_version", m.Option(ENV), "page", info.Append(PAGES), SCENE, meta, IS_HYALINE, m.Option(IS_HYALINE) == ice.TRUE, html.WIDTH, 320,
))) )))
switch kit.Select("", kit.Split(msg.Option(web.ContentType), "; "), 0) { switch kit.Select("", kit.Split(msg.Option(web.ContentType), "; "), 0) {
case web.IMAGE_JPEG: case web.IMAGE_JPEG: