forked from x/icebergs
add some
This commit is contained in:
parent
826cd54b79
commit
3f8462301f
@ -32,8 +32,9 @@ func init() {
|
|||||||
}
|
}
|
||||||
msg := mdb.HashSelect(m.Spawn(), m.Option(mdb.HASH))
|
msg := mdb.HashSelect(m.Spawn(), m.Option(mdb.HASH))
|
||||||
if ls := kit.Split(msg.Append(EMAIL), mdb.AT); !m.Warn(msg.Length() == 0 || len(ls) < 2, ice.ErrNotValid, m.Option(mdb.HASH)) {
|
if ls := kit.Split(msg.Append(EMAIL), mdb.AT); !m.Warn(msg.Length() == 0 || len(ls) < 2, ice.ErrNotValid, m.Option(mdb.HASH)) {
|
||||||
m.Cmd(USER, mdb.CREATE, USERNICK, ls[0], USERNAME, msg.Append(EMAIL), USERZONE, ls[1])
|
ice.Info.AdminCmd(m.Spawn(), USER, mdb.CREATE, USERNICK, ls[0], USERNAME, msg.Append(EMAIL), USERZONE, ls[1])
|
||||||
m.ProcessLocation(m.MergeLink(ice.PS, ice.MSG_SESSID, SessValid(m.Options(ice.MSG_USERNAME, msg.Append(EMAIL))), mdb.HASH, ""))
|
// m.Cmd(USER, mdb.CREATE, USERNICK, ls[0], USERNAME, msg.Append(EMAIL), USERZONE, ls[1])
|
||||||
|
m.ProcessLocation(m.MergePod("", ice.MSG_SESSID, SessValid(m.Options(ice.MSG_USERNAME, msg.Append(EMAIL)))))
|
||||||
mdb.HashModify(m, m.OptionSimple(mdb.HASH), mdb.STATUS, ACCEPT)
|
mdb.HashModify(m, m.OptionSimple(mdb.HASH), mdb.STATUS, ACCEPT)
|
||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
|
@ -53,8 +53,8 @@ func SessCheck(m *ice.Message, sessid string) bool {
|
|||||||
return sessid != "" && m.Cmdy(SESS, CHECK, sessid, logs.FileLineMeta(-1)).Option(ice.MSG_USERNAME) != ""
|
return sessid != "" && m.Cmdy(SESS, CHECK, sessid, logs.FileLineMeta(-1)).Option(ice.MSG_USERNAME) != ""
|
||||||
}
|
}
|
||||||
func SessValid(m *ice.Message) string {
|
func SessValid(m *ice.Message) string {
|
||||||
if m.Option(ice.MSG_SESSID) == "" || m.Cmd(SESS, m.Option(ice.MSG_SESSID)).Length() == 0 {
|
if m.Option(ice.MSG_SESSID) == "" || ice.Info.AdminCmd(m.Spawn(), SESS, m.Option(ice.MSG_SESSID)).Length() == 0 {
|
||||||
return m.Option(ice.MSG_SESSID, SessCreate(m, m.Option(ice.MSG_USERNAME)))
|
return m.Option(ice.MSG_SESSID, ice.Info.AdminCmd(m.Spawn(), SESS, mdb.CREATE, m.Option(ice.MSG_USERNAME)).Result())
|
||||||
}
|
}
|
||||||
return m.Option(ice.MSG_SESSID)
|
return m.Option(ice.MSG_SESSID)
|
||||||
}
|
}
|
||||||
|
@ -205,14 +205,15 @@ func DevDataAction(fields ...string) ice.Actions {
|
|||||||
)
|
)
|
||||||
return ice.Actions{
|
return ice.Actions{
|
||||||
DEV_REQUEST: {Name: "request origin*", Help: "请求", Hand: func(m *ice.Message, arg ...string) {
|
DEV_REQUEST: {Name: "request origin*", Help: "请求", Hand: func(m *ice.Message, arg ...string) {
|
||||||
m.ProcessOpen(m.Options(ice.MSG_USERWEB, m.Option(ORIGIN)).MergePodCmd("", m.PrefixKey(), ACTION, DEV_CHOOSE, BACK, m.Option(ice.MSG_USERHOST), DAEMON, m.Option(ice.MSG_DAEMON)))
|
back := m.Options(ice.MSG_USERWEB, m.Option(ice.MSG_USERHOST)).MergePod("")
|
||||||
|
m.ProcessOpen(m.Options(ice.MSG_USERWEB, m.Option(ORIGIN), ice.MSG_USERPOD, "").MergePodCmd("", m.PrefixKey(), ACTION, DEV_CHOOSE, BACK, back, DAEMON, m.Option(ice.MSG_DAEMON)))
|
||||||
}},
|
}},
|
||||||
DEV_CHOOSE: {Hand: func(m *ice.Message, arg ...string) {
|
DEV_CHOOSE: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
HashSelect(m.Options(ice.MSG_FIELDS, kit.Join(fields))).PushAction(DEV_RESPONSE).Options(ice.MSG_ACTION, "")
|
HashSelect(m.Options(ice.MSG_FIELDS, kit.Join(fields))).PushAction(DEV_RESPONSE).Options(ice.MSG_ACTION, "")
|
||||||
}},
|
}},
|
||||||
DEV_RESPONSE: {Help: "选择", Hand: func(m *ice.Message, arg ...string) {
|
DEV_RESPONSE: {Help: "选择", Hand: func(m *ice.Message, arg ...string) {
|
||||||
if !m.Warn(m.Option(ice.MSG_METHOD) != http.MethodPost, ice.ErrNotAllow) {
|
if !m.Warn(m.Option(ice.MSG_METHOD) != http.MethodPost, ice.ErrNotAllow) {
|
||||||
m.ProcessReplace(m.Options(ice.MSG_USERWEB, m.Option(BACK)).MergePodCmd("", m.PrefixKey(), ACTION, DEV_CONFIRM, m.OptionSimple(DAEMON), m.OptionSimple(fields...)))
|
m.ProcessReplace(m.ParseLink(m.Option(BACK)).MergePodCmd("", m.PrefixKey(), ACTION, DEV_CONFIRM, m.OptionSimple(DAEMON), m.OptionSimple(fields...)))
|
||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
DEV_CONFIRM: {Hand: func(m *ice.Message, arg ...string) {
|
DEV_CONFIRM: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
@ -262,6 +262,13 @@ const (
|
|||||||
const SPACE = "space"
|
const SPACE = "space"
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
ice.Info.AdminCmd = func(m *ice.Message, cmd string, arg ...string) *ice.Message {
|
||||||
|
if ice.Info.NodeType == WORKER {
|
||||||
|
return m.Cmdy(SPIDE, ice.OPS, SPIDE_RAW, http.MethodGet, path.Join(C(cmd), path.Join(arg...)))
|
||||||
|
} else {
|
||||||
|
return m.Cmdy(cmd, arg)
|
||||||
|
}
|
||||||
|
}
|
||||||
ice.Info.Inputs = append(ice.Info.Inputs, func(m *ice.Message, arg ...string) {
|
ice.Info.Inputs = append(ice.Info.Inputs, func(m *ice.Message, arg ...string) {
|
||||||
switch kit.TrimPrefix(arg[0], "extra.") {
|
switch kit.TrimPrefix(arg[0], "extra.") {
|
||||||
case DREAM:
|
case DREAM:
|
||||||
|
@ -30,8 +30,9 @@ func DevTokenAction(name, origin string) ice.Actions {
|
|||||||
DEV_REQUEST_TEXT: {Hand: func(m *ice.Message, arg ...string) { m.Echo(UserHost(m)) }},
|
DEV_REQUEST_TEXT: {Hand: func(m *ice.Message, arg ...string) { m.Echo(UserHost(m)) }},
|
||||||
DEV_CREATE_TOKEN: {Hand: func(m *ice.Message, arg ...string) {}},
|
DEV_CREATE_TOKEN: {Hand: func(m *ice.Message, arg ...string) {}},
|
||||||
mdb.DEV_REQUEST: {Name: "dev.request", Help: "连接", Icon: "bi bi-person-down", Hand: func(m *ice.Message, arg ...string) {
|
mdb.DEV_REQUEST: {Name: "dev.request", Help: "连接", Icon: "bi bi-person-down", Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
back := m.Options(ice.MSG_USERWEB, m.Option(ice.MSG_USERHOST)).MergePod("")
|
||||||
m.ProcessOpen(m.Options(ice.MSG_USERWEB, m.Option(origin), ice.MSG_USERPOD, "").MergePodCmd("", m.PrefixKey(),
|
m.ProcessOpen(m.Options(ice.MSG_USERWEB, m.Option(origin), ice.MSG_USERPOD, "").MergePodCmd("", m.PrefixKey(),
|
||||||
ctx.ACTION, mdb.DEV_CHOOSE, cli.BACK, m.Option(ice.MSG_USERHOST), cli.DAEMON, m.Option(ice.MSG_DAEMON),
|
ctx.ACTION, mdb.DEV_CHOOSE, cli.BACK, back, cli.DAEMON, m.Option(ice.MSG_DAEMON),
|
||||||
m.OptionSimple(name), mdb.TEXT, m.Cmdx("", DEV_REQUEST_TEXT),
|
m.OptionSimple(name), mdb.TEXT, m.Cmdx("", DEV_REQUEST_TEXT),
|
||||||
))
|
))
|
||||||
}},
|
}},
|
||||||
@ -41,13 +42,12 @@ func DevTokenAction(name, origin string) ice.Actions {
|
|||||||
}},
|
}},
|
||||||
mdb.DEV_RESPONSE: {Help: "确认", Hand: func(m *ice.Message, arg ...string) {
|
mdb.DEV_RESPONSE: {Help: "确认", Hand: func(m *ice.Message, arg ...string) {
|
||||||
if !m.Warn(m.Option(ice.MSG_METHOD) != http.MethodPost, ice.ErrNotAllow) {
|
if !m.Warn(m.Option(ice.MSG_METHOD) != http.MethodPost, ice.ErrNotAllow) {
|
||||||
m.ProcessReplace(m.Options(ice.MSG_USERWEB, m.Option(cli.BACK)).MergePodCmd("", m.PrefixKey(), ctx.ACTION, mdb.DEV_CONFIRM, m.OptionSimple(cli.DAEMON),
|
m.ProcessReplace(m.ParseLink(m.Option(cli.BACK)).MergePodCmd("", m.PrefixKey(), ctx.ACTION, mdb.DEV_CONFIRM, m.OptionSimple(cli.DAEMON),
|
||||||
m.OptionSimple(name), TOKEN, m.Cmdx(TOKEN, mdb.CREATE, mdb.TYPE, m.CommandKey(), mdb.NAME, m.Option(ice.MSG_USERNAME), m.OptionSimple(mdb.TEXT))))
|
m.OptionSimple(name), TOKEN, m.Cmdx(TOKEN, mdb.CREATE, mdb.TYPE, m.CommandKey(), mdb.NAME, m.Option(ice.MSG_USERNAME), m.OptionSimple(mdb.TEXT))))
|
||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
mdb.DEV_CONFIRM: {Hand: func(m *ice.Message, arg ...string) {
|
mdb.DEV_CONFIRM: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
m.EchoInfoButton(kit.JoinWord(m.PrefixKey(),
|
m.EchoInfoButton(kit.JoinWord(m.PrefixKey(), m.Cmdx(nfs.CAT, nfs.SRC_TEMPLATE+"web.token/savefrom.html"), m.Option(name)), mdb.DEV_CREATE)
|
||||||
m.Cmdx(nfs.CAT, nfs.SRC_TEMPLATE+"web.token/savefrom.html"), m.Option(name)), mdb.DEV_CREATE)
|
|
||||||
}},
|
}},
|
||||||
mdb.DEV_CREATE: {Help: "创建", Hand: func(m *ice.Message, arg ...string) {
|
mdb.DEV_CREATE: {Help: "创建", Hand: func(m *ice.Message, arg ...string) {
|
||||||
if !m.Warn(m.Option(ice.MSG_METHOD) != http.MethodPost, ice.ErrNotAllow) {
|
if !m.Warn(m.Option(ice.MSG_METHOD) != http.MethodPost, ice.ErrNotAllow) {
|
||||||
|
39
conf.go
39
conf.go
@ -220,25 +220,26 @@ const ( // MSG
|
|||||||
MSG_USERZONE = "user.zone"
|
MSG_USERZONE = "user.zone"
|
||||||
MSG_LANGUAGE = "user.lang"
|
MSG_LANGUAGE = "user.lang"
|
||||||
|
|
||||||
MSG_BG = "sess.bg"
|
MSG_BG = "sess.bg"
|
||||||
MSG_FG = "sess.fg"
|
MSG_FG = "sess.fg"
|
||||||
MSG_COST = "sess.cost"
|
MSG_COST = "sess.cost"
|
||||||
MSG_MODE = "sess.mode"
|
MSG_MODE = "sess.mode"
|
||||||
MSG_THEME = "sess.theme"
|
MSG_THEME = "sess.theme"
|
||||||
MSG_TITLE = "sess.title"
|
MSG_TITLE = "sess.title"
|
||||||
MSG_RIVER = "sess.river"
|
MSG_RIVER = "sess.river"
|
||||||
MSG_STORM = "sess.storm"
|
MSG_STORM = "sess.storm"
|
||||||
MSG_COUNT = "sess.count"
|
MSG_COUNT = "sess.count"
|
||||||
MSG_DAEMON = "sess.daemon"
|
MSG_DAEMON = "sess.daemon"
|
||||||
MSG_REFERER = "sess.referer"
|
MSG_REFERER = "sess.referer"
|
||||||
MSG_FILES = "file.system"
|
MSG_FILES = "file.system"
|
||||||
MSG_CHECKER = "aaa.checker"
|
MSG_CHECKER = "aaa.checker"
|
||||||
YAC_MESSAGE = "yac.message"
|
YAC_MESSAGE = "yac.message"
|
||||||
YAC_STACK = "yac.stack"
|
YAC_STACK = "yac.stack"
|
||||||
SSH_ALIAS = "ssh.alias"
|
SSH_ALIAS = "ssh.alias"
|
||||||
SSH_TARGET = "ssh.target"
|
SSH_TARGET = "ssh.target"
|
||||||
LOG_DISABLE = "log.disable"
|
LOG_DISABLE = "log.disable"
|
||||||
LOG_TRACEID = "log.id"
|
LOG_TRACEID = "log.id"
|
||||||
|
MSG_NODETYPE = "node.type"
|
||||||
|
|
||||||
TOAST_DURATION = "toast.duration"
|
TOAST_DURATION = "toast.duration"
|
||||||
TABLE_CHECKBOX = "table.checkbox"
|
TABLE_CHECKBOX = "table.checkbox"
|
||||||
|
@ -111,6 +111,7 @@ func init() {
|
|||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
}, web.ApiAction(), mdb.ImportantHashAction(mdb.SHORT, mdb.NAME, mdb.FIELD, "time,name,icons,type,link,order,space,index,args")), Hand: func(m *ice.Message, arg ...string) {
|
}, web.ApiAction(), mdb.ImportantHashAction(mdb.SHORT, mdb.NAME, mdb.FIELD, "time,name,icons,type,link,order,space,index,args")), Hand: func(m *ice.Message, arg ...string) {
|
||||||
|
kit.If(m.Option(ice.MSG_USERPOD), func(p string) { m.Option(ice.MSG_NODETYPE, m.Cmd(web.SPACE, p, cli.RUNTIME, ice.MSG_NODETYPE)) })
|
||||||
m.Option("language.list", m.Cmd(nfs.DIR, nfs.TemplatePath(m, aaa.LANGUAGE)+nfs.PS, nfs.FILE).Appendv(nfs.FILE))
|
m.Option("language.list", m.Cmd(nfs.DIR, nfs.TemplatePath(m, aaa.LANGUAGE)+nfs.PS, nfs.FILE).Appendv(nfs.FILE))
|
||||||
m.Option("theme.list", m.Cmd(nfs.DIR, nfs.TemplatePath(m, aaa.THEME)+nfs.PS, nfs.FILE).Appendv(nfs.FILE))
|
m.Option("theme.list", m.Cmd(nfs.DIR, nfs.TemplatePath(m, aaa.THEME)+nfs.PS, nfs.FILE).Appendv(nfs.FILE))
|
||||||
m.Option(nfs.REPOS, m.Cmdv(web.SPIDE, nfs.REPOS, web.CLIENT_URL))
|
m.Option(nfs.REPOS, m.Cmdv(web.SPIDE, nfs.REPOS, web.CLIENT_URL))
|
||||||
|
1
info.go
1
info.go
@ -83,6 +83,7 @@ var Info = struct {
|
|||||||
PushStream func(m *Message) *Message
|
PushStream func(m *Message) *Message
|
||||||
PushNotice func(m *Message, arg ...Any)
|
PushNotice func(m *Message, arg ...Any)
|
||||||
Template func(m *Message, p string, data ...Any) string
|
Template func(m *Message, p string, data ...Any) string
|
||||||
|
AdminCmd func(m *Message, cmd string, arg ...string) *Message
|
||||||
Save func(m *Message, key ...string) *Message
|
Save func(m *Message, key ...string) *Message
|
||||||
Load func(m *Message, key ...string) *Message
|
Load func(m *Message, key ...string) *Message
|
||||||
Open func(m *Message, p string) (io.ReadCloser, error)
|
Open func(m *Message, p string) (io.ReadCloser, error)
|
||||||
|
@ -45,6 +45,15 @@ func (m *Message) OptionCB(key string, cb ...Any) Any {
|
|||||||
return m.Optionv(kit.Keycb(kit.Select(m.CommandKey(), key)))
|
return m.Optionv(kit.Keycb(kit.Select(m.CommandKey(), key)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *Message) ParseLink(p string) *Message {
|
||||||
|
u := kit.ParseURL(p)
|
||||||
|
switch arg := strings.Split(strings.TrimPrefix(u.Path, PS), PS); arg[0] {
|
||||||
|
case "s":
|
||||||
|
m.Option(MSG_USERPOD, kit.Select("", arg, 1))
|
||||||
|
}
|
||||||
|
m.Option(MSG_USERWEB, p)
|
||||||
|
return m
|
||||||
|
}
|
||||||
func (m *Message) MergePod(pod string, arg ...Any) string {
|
func (m *Message) MergePod(pod string, arg ...Any) string {
|
||||||
ls := []string{}
|
ls := []string{}
|
||||||
kit.If(kit.Keys(m.Option(MSG_USERPOD), pod), func(p string) { ls = append(ls, "s", p) })
|
kit.If(kit.Keys(m.Option(MSG_USERPOD), pod), func(p string) { ls = append(ls, "s", p) })
|
||||||
|
Loading…
x
Reference in New Issue
Block a user