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))
|
||||
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])
|
||||
m.ProcessLocation(m.MergeLink(ice.PS, ice.MSG_SESSID, SessValid(m.Options(ice.MSG_USERNAME, msg.Append(EMAIL))), mdb.HASH, ""))
|
||||
ice.Info.AdminCmd(m.Spawn(), USER, mdb.CREATE, USERNICK, ls[0], USERNAME, msg.Append(EMAIL), USERZONE, ls[1])
|
||||
// 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)
|
||||
}
|
||||
}},
|
||||
|
@ -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) != ""
|
||||
}
|
||||
func SessValid(m *ice.Message) string {
|
||||
if m.Option(ice.MSG_SESSID) == "" || m.Cmd(SESS, m.Option(ice.MSG_SESSID)).Length() == 0 {
|
||||
return m.Option(ice.MSG_SESSID, SessCreate(m, m.Option(ice.MSG_USERNAME)))
|
||||
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, ice.Info.AdminCmd(m.Spawn(), SESS, mdb.CREATE, m.Option(ice.MSG_USERNAME)).Result())
|
||||
}
|
||||
return m.Option(ice.MSG_SESSID)
|
||||
}
|
||||
|
@ -205,14 +205,15 @@ func DevDataAction(fields ...string) ice.Actions {
|
||||
)
|
||||
return ice.Actions{
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
|
@ -262,6 +262,13 @@ const (
|
||||
const SPACE = "space"
|
||||
|
||||
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) {
|
||||
switch kit.TrimPrefix(arg[0], "extra.") {
|
||||
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_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) {
|
||||
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(),
|
||||
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),
|
||||
))
|
||||
}},
|
||||
@ -41,13 +42,12 @@ func DevTokenAction(name, origin string) ice.Actions {
|
||||
}},
|
||||
mdb.DEV_RESPONSE: {Help: "确认", Hand: func(m *ice.Message, arg ...string) {
|
||||
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))))
|
||||
}
|
||||
}},
|
||||
mdb.DEV_CONFIRM: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.EchoInfoButton(kit.JoinWord(m.PrefixKey(),
|
||||
m.Cmdx(nfs.CAT, nfs.SRC_TEMPLATE+"web.token/savefrom.html"), m.Option(name)), mdb.DEV_CREATE)
|
||||
m.EchoInfoButton(kit.JoinWord(m.PrefixKey(), 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) {
|
||||
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_LANGUAGE = "user.lang"
|
||||
|
||||
MSG_BG = "sess.bg"
|
||||
MSG_FG = "sess.fg"
|
||||
MSG_COST = "sess.cost"
|
||||
MSG_MODE = "sess.mode"
|
||||
MSG_THEME = "sess.theme"
|
||||
MSG_TITLE = "sess.title"
|
||||
MSG_RIVER = "sess.river"
|
||||
MSG_STORM = "sess.storm"
|
||||
MSG_COUNT = "sess.count"
|
||||
MSG_DAEMON = "sess.daemon"
|
||||
MSG_REFERER = "sess.referer"
|
||||
MSG_FILES = "file.system"
|
||||
MSG_CHECKER = "aaa.checker"
|
||||
YAC_MESSAGE = "yac.message"
|
||||
YAC_STACK = "yac.stack"
|
||||
SSH_ALIAS = "ssh.alias"
|
||||
SSH_TARGET = "ssh.target"
|
||||
LOG_DISABLE = "log.disable"
|
||||
LOG_TRACEID = "log.id"
|
||||
MSG_BG = "sess.bg"
|
||||
MSG_FG = "sess.fg"
|
||||
MSG_COST = "sess.cost"
|
||||
MSG_MODE = "sess.mode"
|
||||
MSG_THEME = "sess.theme"
|
||||
MSG_TITLE = "sess.title"
|
||||
MSG_RIVER = "sess.river"
|
||||
MSG_STORM = "sess.storm"
|
||||
MSG_COUNT = "sess.count"
|
||||
MSG_DAEMON = "sess.daemon"
|
||||
MSG_REFERER = "sess.referer"
|
||||
MSG_FILES = "file.system"
|
||||
MSG_CHECKER = "aaa.checker"
|
||||
YAC_MESSAGE = "yac.message"
|
||||
YAC_STACK = "yac.stack"
|
||||
SSH_ALIAS = "ssh.alias"
|
||||
SSH_TARGET = "ssh.target"
|
||||
LOG_DISABLE = "log.disable"
|
||||
LOG_TRACEID = "log.id"
|
||||
MSG_NODETYPE = "node.type"
|
||||
|
||||
TOAST_DURATION = "toast.duration"
|
||||
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) {
|
||||
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("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))
|
||||
|
1
info.go
1
info.go
@ -83,6 +83,7 @@ var Info = struct {
|
||||
PushStream func(m *Message) *Message
|
||||
PushNotice func(m *Message, arg ...Any)
|
||||
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
|
||||
Load func(m *Message, key ...string) *Message
|
||||
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)))
|
||||
}
|
||||
|
||||
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 {
|
||||
ls := []string{}
|
||||
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