forked from x/icebergs
add some
This commit is contained in:
parent
43af99a59b
commit
b68b76e9ec
@ -30,12 +30,19 @@ func init() {
|
||||
)
|
||||
Index.MergeCommands(ice.Commands{
|
||||
EMAIL: {Help: "邮件", Actions: ice.MergeActions(ice.Actions{
|
||||
MAILBOX: {Help: "邮箱", Hand: func(m *ice.Message, arg ...string) { m.EchoIFrame(mdb.Config(m, MAILBOX)).ProcessInner() }},
|
||||
mdb.CREATE: {Name: "create name*=admin service*='mail.shylinux.com:25' username*='shy@shylinux.com' password*"},
|
||||
MAILBOX: {Help: "邮箱", Hand: func(m *ice.Message, arg ...string) {
|
||||
if p := mdb.Config(m, MAILBOX); !m.Warn(p == "", ice.ErrNotValid, MAILBOX) {
|
||||
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 := m.Cmd("", m.OptionDefault(mdb.NAME, ADMIN))
|
||||
msg := mdb.HashSelect(m.Spawn(), m.OptionDefault(mdb.NAME, ADMIN))
|
||||
if m.Warn(msg.Append(SERVICE) == "", ice.ErrNotValid, SERVICE) {
|
||||
return
|
||||
}
|
||||
m.Toast(ice.PROCESS, "", "-1")
|
||||
defer m.Toast(ice.SUCCESS)
|
||||
content := []byte(kit.JoinKV(DF, NL, kit.Simple(FROM, msg.Append(USERNAME), m.OptionSimple(TO, CC, SUBJECT), DATE, time.Now().Format(time.RFC1123Z), "Content-Type", "text/html; charset=UTF-8")...) + NL + NL + m.Option(CONTENT))
|
||||
auth := smtp.PlainAuth("", msg.Append(USERNAME), msg.Append(PASSWORD), kit.Split(msg.Append(SERVICE), ice.DF)[0])
|
||||
m.Logs(EMAIL, SEND, string(content)).Warn(smtp.SendMail(msg.Append(SERVICE), auth, msg.Append(USERNAME), kit.Split(m.Option(TO)), content))
|
||||
|
@ -34,9 +34,6 @@ func _totp_get(key string, per int64, num int) string {
|
||||
return kit.Format(kit.Format("%%0%dd", num), res%int64(math.Pow10(num)))
|
||||
}
|
||||
|
||||
const (
|
||||
TOKEN = "token"
|
||||
)
|
||||
const TOTP = "totp"
|
||||
|
||||
func init() {
|
||||
|
@ -39,7 +39,10 @@ func _parse_color(str string) color.Color {
|
||||
return color.RGBA{uint8((u & 0xFF000000) >> 24), uint8((u & 0x00FF0000) >> 16), uint8((u & 0x0000FF00) >> 8), uint8((u & 0x000000FF) >> 0)}
|
||||
}
|
||||
}
|
||||
return _color_map[str]
|
||||
if color, ok := _color_map[str]; ok {
|
||||
return color
|
||||
}
|
||||
return _color_map[WHITE]
|
||||
}
|
||||
func _parse_cli_color(str string) string {
|
||||
res := 0
|
||||
|
@ -157,15 +157,15 @@ func Opens(m *ice.Message, arg ...string) {
|
||||
switch runtime.GOOS {
|
||||
case DARWIN:
|
||||
if kit.Ext(arg[0]) == "app" {
|
||||
m.Cmd(SYSTEM, OPEN, "-a", arg[0])
|
||||
m.Cmdy(SYSTEM, OPEN, "-a", arg[0])
|
||||
} else {
|
||||
m.Cmd(SYSTEM, OPEN, arg[0])
|
||||
m.Cmdy(SYSTEM, OPEN, arg[0])
|
||||
}
|
||||
case WINDOWS:
|
||||
if kit.Ext(arg[0]) == "exe" {
|
||||
m.Cmd(SYSTEM, arg[0])
|
||||
m.Cmdy(SYSTEM, arg[0])
|
||||
} else {
|
||||
m.Cmd(SYSTEM, "explorer", arg[0])
|
||||
m.Cmdy(SYSTEM, "explorer", arg[0])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -60,13 +60,13 @@ func init() {
|
||||
}
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Option(FG, kit.Select(m.Option("--plugin-fg-color"), arg, 1))
|
||||
m.Option(BG, kit.Select(m.Option("--plugin-bg-color"), arg, 2))
|
||||
switch m.Option(ice.MSG_THEME) {
|
||||
case LIGHT, WHITE:
|
||||
m.Option(FG, kit.Select(BLACK, arg, 1))
|
||||
m.Option(BG, kit.Select(WHITE, arg, 2))
|
||||
m.OptionDefault(FG, BLACK, BG, WHITE)
|
||||
default:
|
||||
m.Option(FG, kit.Select(kit.Select(BLACK, m.Option("--plugin-fg-color")), arg, 1))
|
||||
m.Option(BG, kit.Select(kit.Select(WHITE, m.Option("--plugin-bg-color")), arg, 2))
|
||||
m.OptionDefault(FG, WHITE, BG, BLACK)
|
||||
}
|
||||
if m.IsCliUA() {
|
||||
_qrcode_cli(m, kit.Select(kit.Select(ice.Info.Make.Domain, ice.Info.Domain), arg, 0))
|
||||
|
@ -266,7 +266,7 @@ func init() {
|
||||
m.Cmdy(ctx.CONFIG, RUNTIME, arg).Status(mdb.TIME, ice.Info.Make.Time,
|
||||
mdb.HASH, kit.Cut(ice.Info.Hash, 6), nfs.SIZE, ice.Info.Size,
|
||||
mdb.NAME, ice.Info.NodeName, nfs.VERSION, ice.Info.Make.Versions(),
|
||||
)
|
||||
).Option(ice.MSG_ACTION, "")
|
||||
ctx.DisplayStoryJSON(m)
|
||||
}},
|
||||
})
|
||||
|
@ -240,34 +240,30 @@ func AutoConfig(arg ...Any) *ice.Action {
|
||||
if cmd := m.Target().Commands[m.CommandKey()]; cmd == nil {
|
||||
return
|
||||
} else {
|
||||
s := Config(m, SHORT)
|
||||
kit.If(s == "" || s == UNIQ || strings.Contains(s, ","), func() { s = HASH })
|
||||
if cmd.Name == "" {
|
||||
kit.If(Config(m, SHORT), func(s string) {
|
||||
kit.If(s == UNIQ || strings.Contains(s, ","), func() { s = HASH })
|
||||
cmd.Name = kit.Format("%s %s auto", m.CommandKey(), s)
|
||||
}, func() {
|
||||
cmd.Name = kit.Format("%s %s auto", m.CommandKey(), HASH)
|
||||
})
|
||||
cmd.Name = kit.Format("%s %s auto", m.CommandKey(), s)
|
||||
cmd.List = ice.SplitCmd(cmd.Name, cmd.Actions)
|
||||
}
|
||||
add := func(list []string) (inputs []Any) {
|
||||
kit.For(list, func(k string) {
|
||||
kit.If(!kit.IsIn(k, TIME, HASH, COUNT, ID), func() {
|
||||
inputs = append(inputs, k+kit.Select("", "*", strings.Contains(s, k)))
|
||||
})
|
||||
})
|
||||
return
|
||||
}
|
||||
if cmd.Actions[INSERT] != nil {
|
||||
if inputs := []Any{}; cmd.Meta[INSERT] == nil {
|
||||
kit.For(kit.Filters(kit.Simple(Config(m, SHORT), kit.Split(ListField(m))), "", TIME, ID), func(k string) { inputs = append(inputs, k) })
|
||||
m.Design(INSERT, "添加", inputs...)
|
||||
if cmd.Meta[INSERT] == nil {
|
||||
m.Design(INSERT, "", add(kit.Simple(Config(m, SHORT), kit.Split(ListField(m))))...)
|
||||
}
|
||||
if inputs := []Any{}; cmd.Meta[CREATE] == nil {
|
||||
kit.For(kit.Filters(kit.Split(Config(m, SHORT)), TIME, HASH, COUNT), func(k string) { inputs = append(inputs, k) })
|
||||
m.Design(CREATE, "创建", inputs...)
|
||||
if cmd.Meta[CREATE] == nil {
|
||||
m.Design(CREATE, "", add(kit.Split(Config(m, SHORT)))...)
|
||||
}
|
||||
} else if cmd.Actions[CREATE] != nil {
|
||||
if inputs := []Any{}; cmd.Meta[CREATE] == nil {
|
||||
kit.For(kit.Filters(kit.Split(HashField(m)), TIME, HASH), func(k string) {
|
||||
if kit.IsIn(k, kit.Split(Config(m, SHORT))...) {
|
||||
inputs = append(inputs, k+"*")
|
||||
} else {
|
||||
inputs = append(inputs, k)
|
||||
}
|
||||
})
|
||||
m.Design(CREATE, "创建", inputs...)
|
||||
if cmd.Meta[CREATE] == nil {
|
||||
m.Design(CREATE, "", add(kit.Split(HashField(m)))...)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ import (
|
||||
"shylinux.com/x/icebergs/base/ctx"
|
||||
"shylinux.com/x/icebergs/base/mdb"
|
||||
"shylinux.com/x/icebergs/base/nfs"
|
||||
"shylinux.com/x/icebergs/base/web"
|
||||
kit "shylinux.com/x/toolkits"
|
||||
)
|
||||
|
||||
@ -21,7 +22,7 @@ const LOCATION = "location"
|
||||
func init() {
|
||||
get := func(m *ice.Message, api string, arg ...ice.Any) string {
|
||||
return kit.Format(mdb.Cache(m, kit.Join(kit.Simple(api, arg)), func() ice.Any {
|
||||
res := kit.UnMarshal(m.Cmdx(http.MethodGet, "https://apis.map.qq.com/ws/"+api, mdb.KEY, mdb.Config(m, aaa.TOKEN), arg))
|
||||
res := kit.UnMarshal(m.Cmdx(http.MethodGet, "https://apis.map.qq.com/ws/"+api, mdb.KEY, mdb.Config(m, web.TOKEN), arg))
|
||||
m.Warn(kit.Format(kit.Value(res, "status")) != "0", kit.Format(res))
|
||||
m.Debug("what %v %v", api, kit.Format(res))
|
||||
return kit.Format(res)
|
||||
@ -52,10 +53,10 @@ func init() {
|
||||
}},
|
||||
}, FavorAction(), mdb.HashAction(mdb.FIELD, "time,hash,type,name,text,latitude,longitude,extra", nfs.SCRIPT, "https://map.qq.com/api/gljs?v=1.exp")), Hand: func(m *ice.Message, arg ...string) {
|
||||
mdb.HashSelect(m, kit.Slice(arg, 0, 1)...)
|
||||
ctx.DisplayLocal(m, "", ctx.ConfigSimple(m, aaa.TOKEN))
|
||||
ctx.DisplayLocal(m, "", ctx.ConfigSimple(m, web.TOKEN))
|
||||
// m.Option(LOCATION, m.Cmdx(web.SERVE, tcp.HOST))
|
||||
m.Option(LOCATION, get(m, "location/v1/ip", aaa.IP, m.Option(ice.MSG_USERIP)))
|
||||
m.Option(nfs.SCRIPT, kit.MergeURL(mdb.Config(m, nfs.SCRIPT), "key", mdb.Config(m, aaa.TOKEN)))
|
||||
m.Option(nfs.SCRIPT, kit.MergeURL(mdb.Config(m, nfs.SCRIPT), "key", mdb.Config(m, web.TOKEN)))
|
||||
}},
|
||||
})
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user