1
0
forked from x/icebergs
This commit is contained in:
IT 老营长 @云轩领航-创始人 2024-01-04 10:16:46 +08:00
parent 28d8c3a8e2
commit 480fe1d05d
7 changed files with 38 additions and 19 deletions

View File

@ -10,6 +10,7 @@ import (
)
const (
ADMIN = "admin"
SEND = "send"
DATE = "date"
FROM = "from"
@ -36,8 +37,8 @@ func init() {
m.EchoIFrame(p).ProcessInner()
}
}},
SEND: {Name: "send to*='shy@shylinux.com' cc subject*=hi content*:textarea=hello", Help: "发送", Hand: func(m *ice.Message, arg ...string) {
msg := mdb.HashSelects(m.Spawn(), ADMIN)
SEND: {Name: "send from=admin to*='shy@shylinux.com' cc subject*=hi content*:textarea=hello", Help: "发送", Hand: func(m *ice.Message, arg ...string) {
msg := mdb.HashSelects(m.Spawn(), m.OptionDefault(FROM, ADMIN))
if m.Warn(msg.Append(SERVICE) == "", ice.ErrNotValid, SERVICE) {
return
}

View File

@ -18,7 +18,7 @@ func init() {
OFFER: {Help: "邀请", Role: VOID, Actions: ice.MergeActions(ice.Actions{
mdb.CREATE: {Name: "create email*='shy@shylinux.com' subject content", Help: "邀请", Hand: func(m *ice.Message, arg ...string) {
h := mdb.HashCreate(m.Spawn(), m.OptionSimple(EMAIL, SUBJECT, CONTENT), INVITE, m.Option(ice.MSG_USERNAME), mdb.STATUS, INVITE)
m.Cmd(EMAIL, SEND, m.Option(EMAIL), "", m.OptionDefault(SUBJECT, "welcome to contexts, please continue"),
m.Cmd(EMAIL, SEND, mdb.Config(m, EMAIL), m.Option(EMAIL), "", m.OptionDefault(SUBJECT, "welcome to contexts, please continue"),
m.OptionDefault(CONTENT, ice.Render(m, ice.RENDER_ANCHOR, m.Cmdx("host", "publish", m.MergePodCmd("", "", mdb.HASH, h)))),
)
}},
@ -33,12 +33,12 @@ func init() {
mdb.HashModify(m, m.OptionSimple(mdb.HASH), mdb.STATUS, ACCEPT)
}
}},
}, mdb.ImportantHashAction(mdb.SHORT, mdb.UNIQ, mdb.FIELD, "time,hash,status,invite,email,title,content")), Hand: func(m *ice.Message, arg ...string) {
if !m.Warn(len(arg) == 0 && m.Option(ice.MSG_USERROLE) == VOID, ice.ErrNotRight) {
}, mdb.ImportantHashAction(EMAIL, ADMIN, mdb.SHORT, mdb.UNIQ, mdb.FIELD, "time,hash,status,invite,email,title,content")), Hand: func(m *ice.Message, arg ...string) {
if m.Cmd(EMAIL, mdb.Config(m, EMAIL)).Length() == 0 {
m.Echo("please add admin email")
} else if !m.Warn(len(arg) == 0 && m.Option(ice.MSG_USERROLE) == VOID, ice.ErrNotRight) {
kit.If(mdb.HashSelect(m, arg...).FieldsIsDetail(), func() {
m.SetAppend()
m.EchoInfoButton("welcome to contexts, please continue", ACCEPT)
// m.PushAction(ACCEPT)
m.SetAppend().EchoInfoButton("welcome to contexts, please continue", ACCEPT)
})
}
}},

View File

@ -14,6 +14,7 @@ import (
type apply struct {
ice.Hash
email string `data:"admin"`
field string `data:"time,hash,mobile,email,usernick,username,userrole,status"`
sso string `name:"sso" help:"登录"`
input string `name:"input" help:"注册" role:"void"`
@ -61,7 +62,7 @@ func (s apply) Login(m *ice.Message, arg ...string) {
m.Options(ice.MSG_USERNAME, m.Option(aaa.EMAIL))
space := kit.Keys(kit.Slice(kit.Split(m.Option(ice.MSG_DAEMON), nfs.PT), 0, -1))
share := m.Cmd(web.SHARE, mdb.CREATE, mdb.TYPE, web.FIELD, mdb.NAME, web.CHAT_GRANT, mdb.TEXT, space).Append(mdb.LINK)
m.Cmdy(aaa.EMAIL, aaa.SEND, m.Option(aaa.EMAIL), "", "login contexts, please grant", html.FormatA(share))
m.Cmdy(aaa.EMAIL, aaa.SEND, mdb.Config(m.Message, aaa.EMAIL), m.Option(aaa.EMAIL), "", "login contexts, please grant", html.FormatA(share))
m.ProcessHold()
}
}
@ -69,6 +70,10 @@ func (s apply) Email(m *ice.Message, arg ...string) {
ctx.DisplayStoryForm(m.Message, "email*", s.Login).Echo("please auth login in mailbox, after email sent")
}
func (s apply) List(m *ice.Message, arg ...string) *ice.Message {
if m.Cmd(aaa.EMAIL, mdb.Config(m.Message, aaa.EMAIL)).Length() == 0 {
m.Echo("please add admin email")
return m
}
kit.If(m.Option(_cookie_key(m)), func(p string) { arg = []string{p} })
s.Hash.List(m, arg...).Table(func(value ice.Maps) {
switch value[mdb.STATUS] {

View File

@ -39,11 +39,14 @@ func _runtime_init(m *ice.Message) {
if name, e := os.Hostname(); e == nil && name != "" {
m.Conf(RUNTIME, kit.Keys(BOOT, HOSTNAME), name)
}
m.Conf(RUNTIME, kit.Keys(BOOT, PATHNAME), path.Base(kit.Path("")))
m.Conf(RUNTIME, kit.Keys(BOOT, USERNAME), kit.UserName())
m.Conf(RUNTIME, kit.Keys(BOOT, PATHNAME), path.Base(kit.Path("")))
ice.Info.Hostname = m.Conf(RUNTIME, kit.Keys(BOOT, HOSTNAME))
ice.Info.Pathname = m.Conf(RUNTIME, kit.Keys(BOOT, PATHNAME))
ice.Info.Username = m.Conf(RUNTIME, kit.Keys(BOOT, USERNAME))
ice.Info.Pathname = m.Conf(RUNTIME, kit.Keys(BOOT, PATHNAME))
kit.HashSeed = append(kit.HashSeed, ice.Info.Hostname)
kit.HashSeed = append(kit.HashSeed, ice.Info.Username)
kit.HashSeed = append(kit.HashSeed, ice.Info.Pathname)
ice.Info.System = m.Conf(RUNTIME, kit.Keys(HOST, OSID))
aaa.UserRoot(ice.Pulse, "", ice.Info.Make.Username, aaa.TECH, ice.DEV)
aaa.UserRoot(ice.Pulse, "", ice.Info.Username, aaa.ROOT, ice.OPS)

View File

@ -105,6 +105,9 @@ func init() {
case LOGIN:
RenderCookie(m, aaa.SessCreate(m, msg.Append(aaa.USERNAME)))
m.RenderRedirect(msg.Append(mdb.TEXT))
case STORM:
RenderCookie(m, aaa.SessCreate(m, msg.Append(aaa.USERNAME)))
m.RenderRedirect(kit.MergeURL(kit.Select(nfs.PS, msg.Append(mdb.TEXT)), msg.AppendSimple(RIVER, STORM)))
case FIELD:
RenderPodCmd(m, msg.Append(SPACE), msg.Append(mdb.NAME), kit.UnMarshal(msg.Append(mdb.TEXT)))
case DOWNLOAD:

View File

@ -250,16 +250,12 @@ func init() {
m.Cmd(SPACE, func(value ice.Maps) {
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.ICONS:
m.Options(nfs.DIR_REG, kit.ExtReg(nfs.PNG, nfs.JPG, nfs.JPEG), nfs.DIR_DEEP, ice.TRUE)
m.Cmdy(nfs.DIR, nfs.SRC, nfs.PATH)
m.Cmdy(nfs.DIR, ice.USR_LOCAL_IMAGE, nfs.PATH)
m.Cmdy(nfs.DIR, ice.USR_ICONS, nfs.PATH)
m.CutTo(nfs.PATH, arg[0])
case aaa.PASSWORD:
m.SetAppend()
case ctx.INDEX, ice.CMD:
if space := m.Option(SPACE); space != "" {
m.Options(SPACE, []string{}).Cmdy(SPACE, space, ctx.COMMAND)
@ -273,6 +269,18 @@ func init() {
} else {
m.Cmdy(ctx.COMMAND, mdb.INPUTS, m.Option(ctx.INDEX))
}
case tcp.WIFI:
m.Cmdy(tcp.WIFI).CutTo(tcp.SSID, arg[0])
case aaa.TO:
if m.Option(ctx.ACTION) != aaa.EMAIL {
break
}
fallthrough
case aaa.EMAIL:
m.Push(arg[0], "shy@shylinux.com")
m.Push(arg[0], "shylinux@163.com")
case aaa.PASSWORD:
m.SetAppend()
}
})
ctx.PodCmd = func(m *ice.Message, arg ...ice.Any) bool {

View File

@ -84,14 +84,13 @@ func init() {
kit.Select(ice.TRUE, ice.FALSE, kit.IsIn(kit.Select(html.LIGHT, arg, 0), html.LIGHT, html.WHITE)))
}
}},
aaa.EMAIL: {Name: "email to subject content", Hand: func(m *ice.Message, arg ...string) {
aaa.EMAIL: {Name: "email to='shy@shylinux.com' subject content", Hand: func(m *ice.Message, arg ...string) {
if m.Option(nfs.TO) != aaa.UserEmail(m, "") && !aaa.Right(m, aaa.EMAIL, m.Option(nfs.TO)) {
return
}
m.Options("volcano", web.UserHost(m), nfs.VERSION, web.RenderVersion(m))
m.Options(ice.MSG_USERWEB, tcp.PublishLocalhost(m, m.Option(ice.MSG_USERWEB)))
m.Options(ice.MSG_USERWEB, kit.MergeURL(m.Option(ice.MSG_USERWEB), web.SHARE, m.Cmdx(web.SHARE, mdb.CREATE, mdb.TYPE, web.LOGIN)))
m.Cmdy(aaa.EMAIL, aaa.SEND, arg, aaa.CONTENT, nfs.Template(m, "email.html"))
m.Cmdy(web.SHARE, mdb.CREATE, mdb.TYPE, web.LOGIN, mdb.TEXT, tcp.PublishLocalhost(m, m.Option(ice.MSG_USERWEB)))
m.Cmdy(aaa.EMAIL, aaa.SEND, aaa.FROM, aaa.ADMIN, arg, aaa.CONTENT, nfs.Template(m, "email.html"))
}},
aaa.LOGOUT: {Hand: aaa.SessLogout},
mdb.CREATE: {Name: "create type*=plugin,qrcode,oauth name* icons link order space index args", Hand: func(m *ice.Message, arg ...string) { mdb.HashCreate(m, m.OptionSimple()) }},