mirror of
https://shylinux.com/x/icebergs
synced 2025-04-26 01:24:05 +08:00
opt wx.login
This commit is contained in:
parent
3c63abbbe2
commit
9d3e1fa3fb
@ -38,7 +38,7 @@ func init() {
|
||||
_sess_create(m, m.Option(USERNAME), UA, m.Option(ice.MSG_USERUA), IP, m.Option(ice.MSG_USERIP))
|
||||
}},
|
||||
CHECK: {Name: "check sessid*", Hand: func(m *ice.Message, arg ...string) { _sess_check(m, m.Option(ice.MSG_SESSID)) }},
|
||||
}, mdb.ImportantHashAction(mdb.EXPIRE, mdb.MONTH, mdb.SHORT, mdb.UNIQ, mdb.FIELD, "time,hash,usernick,username,userrole,ua,ip"))},
|
||||
}, mdb.ImportantHashAction(mdb.EXPIRE, mdb.MONTH, mdb.SHORT, mdb.UNIQ, mdb.FIELD, "time,hash,usernick,username,userrole,ip,ua"))},
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -178,6 +178,7 @@ const (
|
||||
CHAT_HEADER = "web.chat.header"
|
||||
CHAT_IFRAME = "web.chat.iframe"
|
||||
CHAT_FAVOR = "web.chat.favor"
|
||||
CHAT_GRANT = "web.chat.grant"
|
||||
CHAT_FLOWS = "web.chat.flows"
|
||||
TEAM_PLAN = "web.team.plan"
|
||||
)
|
||||
|
@ -197,6 +197,7 @@ const (
|
||||
ORIGIN = "origin"
|
||||
FORM = "form"
|
||||
BODY = "body"
|
||||
HOME = "home"
|
||||
|
||||
SERVE_START = "serve.start"
|
||||
)
|
||||
|
@ -173,6 +173,7 @@ const (
|
||||
)
|
||||
const (
|
||||
SPACE_LOGIN = "space.login"
|
||||
SPACE_GRANT = "space.grant"
|
||||
)
|
||||
const SPACE = "space"
|
||||
|
||||
@ -255,7 +256,8 @@ func init() {
|
||||
}},
|
||||
DOMAIN: {Hand: func(m *ice.Message, arg ...string) { m.Echo(_space_domain(m)) }},
|
||||
LOGIN: {Help: "授权", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Option(ice.MSG_USERUA, m.Cmdv("", kit.Select(m.Option(mdb.NAME), arg, 0), ice.MSG_USERUA))
|
||||
msg := m.Cmd("", kit.Select(m.Option(mdb.NAME), arg, 0))
|
||||
m.Options(ice.MSG_USERIP, msg.Append(aaa.IP), ice.MSG_USERUA, msg.Append(aaa.UA))
|
||||
m.Cmd("", kit.Select(m.Option(mdb.NAME), arg, 0), ice.MSG_SESSID, aaa.SessCreate(m, m.Option(ice.MSG_USERNAME)))
|
||||
}},
|
||||
OPEN: {Hand: func(m *ice.Message, arg ...string) {
|
||||
|
@ -25,9 +25,7 @@ func init() {
|
||||
m.Sleep30ms(web.SPACE, m.Option(mdb.NAME), cli.PWD, m.Option(mdb.NAME), link, m.Cmdx(cli.QRCODE, link))
|
||||
})
|
||||
}},
|
||||
"home": {Help: "首页", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.ProcessOpen(web.MergeLink(m, "/chat/portal/"))
|
||||
}},
|
||||
web.HOME: {Help: "首页", Hand: func(m *ice.Message, arg ...string) { m.ProcessOpen(web.MergeLink(m, web.CHAT_PORTAL)) }},
|
||||
aaa.CONFIRM: {Help: "授权", Hand: func(m *ice.Message, arg ...string) {
|
||||
if m.Warn(m.R.Method == http.MethodGet, ice.ErrNotAllow) {
|
||||
return
|
||||
@ -37,7 +35,7 @@ func init() {
|
||||
return
|
||||
} else {
|
||||
if m.IsWeixinUA() {
|
||||
m.Option(ice.MSG_USERUA, msg.Append(ice.MSG_USERUA))
|
||||
m.Options(ice.MSG_USERIP, msg.Append(aaa.IP), ice.MSG_USERUA, msg.Append(aaa.UA))
|
||||
m.Cmd(web.SPACE, m.Option(web.SPACE), ice.MSG_SESSID, aaa.SessCreate(m, m.Option(ice.MSG_USERNAME)))
|
||||
m.Echo(ice.SUCCESS)
|
||||
} else {
|
||||
@ -46,6 +44,7 @@ func init() {
|
||||
m.Cmd(web.SPACE, m.Option(web.SPACE), ice.MSG_SESSID, aaa.SessCreate(m, m.Option(ice.MSG_USERNAME)))
|
||||
m.ProcessLocation(web.MergeURL2(m, msg.Append(mdb.TEXT)))
|
||||
}
|
||||
gdb.Event(m, web.SPACE_GRANT, m.OptionSimple(web.SPACE))
|
||||
}
|
||||
}},
|
||||
}, aaa.RoleAction(aaa.CONFIRM), gdb.EventsAction(web.SPACE_LOGIN)), Hand: func(m *ice.Message, arg ...string) {
|
||||
|
@ -9,6 +9,8 @@ import (
|
||||
"shylinux.com/x/icebergs/base/aaa"
|
||||
"shylinux.com/x/icebergs/base/cli"
|
||||
"shylinux.com/x/icebergs/base/ctx"
|
||||
"shylinux.com/x/icebergs/base/gdb"
|
||||
"shylinux.com/x/icebergs/base/log"
|
||||
"shylinux.com/x/icebergs/base/mdb"
|
||||
"shylinux.com/x/icebergs/base/tcp"
|
||||
"shylinux.com/x/icebergs/base/web"
|
||||
@ -52,8 +54,8 @@ func init() {
|
||||
ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd(web.SPIDE, mdb.CREATE, WX, mdb.Config(m, tcp.SERVER))
|
||||
}},
|
||||
mdb.CREATE: {Name: "create usernick access* appid* secret* token* icons qrcode", Hand: func(m *ice.Message, arg ...string) {
|
||||
mdb.HashCreate(m, m.OptionSimple(aaa.USERNICK, ACCESS, APPID, SECRET, TOKEN, mdb.ICONS, cli.QRCODE))
|
||||
mdb.CREATE: {Name: "create type=web,app usernick access* appid* secret* token* icons qrcode", Hand: func(m *ice.Message, arg ...string) {
|
||||
mdb.HashCreate(m, m.OptionSimple(mdb.TYPE, aaa.USERNICK, ACCESS, APPID, SECRET, TOKEN, mdb.ICONS, cli.QRCODE))
|
||||
ctx.ConfigFromOption(m, ACCESS, APPID, TOKEN)
|
||||
}},
|
||||
aaa.CHECK: {Hand: func(m *ice.Message, arg ...string) {
|
||||
@ -88,10 +90,22 @@ func init() {
|
||||
ctx.INDEX, m.PrefixKey(), ctx.ARGS, kit.Join(kit.Simple(aaa.LOGIN, m.Option(ACCESS))))
|
||||
}},
|
||||
aaa.LOGIN: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Options(ACCESS, arg[0]).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))
|
||||
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),
|
||||
ctx.INDEX, web.CHAT_GRANT, ctx.ARGS, m.Option(web.SPACE))
|
||||
} else {
|
||||
h := m.Cmdx(IDE, mdb.CREATE, mdb.NAME, m.Option(web.SPACE), PAGES, "pages/action/action",
|
||||
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)))
|
||||
}
|
||||
}},
|
||||
}, aaa.RoleAction(aaa.LOGIN), mdb.ImportantHashAction(mdb.SHORT, ACCESS, mdb.FIELD, "time,access,icons,usernick,appid", tcp.SERVER, CGI_BIN)), Hand: func(m *ice.Message, arg ...string) {
|
||||
web.SPACE_GRANT: {Hand: func(m *ice.Message, arg ...string) {
|
||||
if strings.HasPrefix(m.Option(ice.MSG_REFERER), "https://servicewechat.com/") {
|
||||
m.Cmd(mdb.PRUNES, m.Prefix(SCAN), "", 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) {
|
||||
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 {
|
||||
kit.If(key == cli.QRCODE, func() { value = ice.Render(m, ice.RENDER_QRCODE, value) })
|
||||
|
@ -114,7 +114,7 @@ func init() {
|
||||
}
|
||||
if mdb.HashSelect(m, arg...).PushAction(AUTO_PREVIEW, PREVIEW, PUSH, mdb.REMOVE).Action(mdb.CREATE, ice.APP, aaa.LOGIN, web.ADMIN, DOC); len(arg) > 0 {
|
||||
m.Options(m.AppendSimple(web.SPACE, ctx.INDEX, ctx.ARGS, tcp.WIFI))
|
||||
p := kit.MergeURL2(web.UserHost(m), path.Join(nfs.PS+m.Append(PAGES)), _ide_args(m))
|
||||
p := kit.MergeURL2(kit.Select(web.UserHost(m), m.Option(web.SERVE)), path.Join(nfs.PS+m.Append(PAGES)), _ide_args(m))
|
||||
m.PushQRCode(cli.QRCODE, p).Push(web.LINK, p).Echo(p)
|
||||
}
|
||||
p := mdb.Config(m, CURRENT)
|
||||
|
@ -16,16 +16,16 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
EXPIRE_SECONDS = "expire_seconds"
|
||||
UNLIMIT = "unlimit"
|
||||
EXPIRE_SECONDS = "expire_seconds"
|
||||
QR_STR_SCENE = "QR_STR_SCENE"
|
||||
QR_LIMIT_STR_SCENE = "QR_LIMIT_STR_SCENE"
|
||||
)
|
||||
const SCAN = "scan"
|
||||
|
||||
func init() {
|
||||
const (
|
||||
UNLIMIT = "unlimit"
|
||||
IS_HYALINE = "is_hyaline"
|
||||
QR_STR_SCENE = "QR_STR_SCENE"
|
||||
QR_LIMIT_STR_SCENE = "QR_LIMIT_STR_SCENE"
|
||||
IS_HYALINE = "is_hyaline"
|
||||
)
|
||||
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(
|
||||
@ -44,7 +44,7 @@ func init() {
|
||||
mdb.HashModify(m, mdb.HASH, h, mdb.LINK, kit.Value(res, web.URL), mdb.TIME, m.Time(kit.Format("%ss", kit.Select("60", m.Option(EXPIRE_SECONDS)))))
|
||||
m.EchoQRCode(kit.Format(kit.Value(res, web.URL)))
|
||||
}},
|
||||
UNLIMIT: {Name: "unlimit scene* env*=develop,release,trial,develop is_hyaline=true,false", Help: "小程序码", Hand: func(m *ice.Message, arg ...string) {
|
||||
UNLIMIT: {Name: "unlimit scene* env*=develop,release,trial,develop is_hyaline=true,false name", Help: "小程序码", Hand: func(m *ice.Message, arg ...string) {
|
||||
defer m.ProcessInner()
|
||||
scene := m.Option(SCENE)
|
||||
meta, info := "", m.Cmd(IDE, scene)
|
||||
@ -60,12 +60,13 @@ func init() {
|
||||
meta = path.Join("s", u.Host, scene)
|
||||
}
|
||||
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, 370,
|
||||
"env_version", m.Option(ENV), "page", info.Append(PAGES), SCENE, meta, IS_HYALINE, m.Option(IS_HYALINE) == ice.TRUE, html.WIDTH, 360,
|
||||
)))
|
||||
switch kit.Select("", kit.Split(msg.Option(web.ContentType), "; "), 0) {
|
||||
case web.IMAGE_JPEG:
|
||||
image := m.Cmd(web.CACHE, web.WRITE, mdb.TYPE, web.IMAGE_JPEG, mdb.NAME, scene, kit.Dict(mdb.TEXT, msg.Result())).Append(mdb.HASH)
|
||||
mdb.HashSelects(m, mdb.HashCreate(m.Spawn(), mdb.TEXT, meta, nfs.IMAGE, image, ctx.INDEX, m.Prefix(IDE), ctx.ARGS, scene, mdb.TYPE, m.Option(ENV)))
|
||||
mdb.HashSelects(m, mdb.HashCreate(m.Spawn(), m.OptionSimple(mdb.NAME), mdb.TEXT, meta, nfs.IMAGE, image, ctx.INDEX, m.Prefix(IDE), ctx.ARGS, scene, mdb.TYPE, m.Option(ENV)))
|
||||
m.EchoImages(web.SHARE_CACHE + m.Append(nfs.IMAGE))
|
||||
default:
|
||||
m.Echo(msg.Result())
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user