mirror of
https://shylinux.com/x/icebergs
synced 2025-04-26 01:24:05 +08:00
opt mall
This commit is contained in:
parent
7c0cc84652
commit
5dca043c24
@ -22,7 +22,7 @@ func init() {
|
||||
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Load() }},
|
||||
ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Save() }},
|
||||
|
||||
MISS: {Name: "miss name auto create", Help: "资料", Meta: kit.Dict("trans", kit.Dict("name", "姓名")), Action: map[string]*ice.Action{
|
||||
MISS: {Name: "miss name auto create", Help: "资料", Meta: kit.Dict("_trans", kit.Dict("name", "姓名")), Action: map[string]*ice.Action{
|
||||
mdb.CREATE: {Name: "create name 照片 性别 年龄 身高 体重 籍贯 户口 学历 学校 职业 公司 年薪 资产 家境", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(mdb.INSERT, m.Prefix(MISS), "", mdb.HASH, arg)
|
||||
}},
|
||||
|
@ -35,9 +35,7 @@ func init() {
|
||||
m.Cmdy(ctx.COMMAND, arg)
|
||||
}},
|
||||
cli.RUN: {Name: "run", Help: "执行", Hand: func(m *ice.Message, arg ...string) {
|
||||
if !m.Warn(!m.Right(arg), ice.ErrNotRight) {
|
||||
m.Cmdy(arg[1:])
|
||||
}
|
||||
m.Cmdy(arg)
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
if kit.Contains(arg[1], ";") {
|
||||
|
@ -2,15 +2,13 @@ package mall
|
||||
|
||||
import (
|
||||
ice "github.com/shylinux/icebergs"
|
||||
"github.com/shylinux/icebergs/base/cli"
|
||||
"github.com/shylinux/icebergs/base/ctx"
|
||||
"github.com/shylinux/icebergs/base/mdb"
|
||||
"github.com/shylinux/icebergs/base/web"
|
||||
kit "github.com/shylinux/toolkits"
|
||||
)
|
||||
|
||||
func _sub_key(m *ice.Message, account string) string {
|
||||
return kit.Keys(kit.MDB_HASH, kit.Hashs(account))
|
||||
}
|
||||
func _sub_value(m *ice.Message, key string, arg ...string) string {
|
||||
for i := 0; i < len(arg)-1; i += 2 {
|
||||
if arg[i] == key {
|
||||
@ -28,29 +26,14 @@ func _sub_amount(m *ice.Message, arg []string) {
|
||||
}
|
||||
}
|
||||
}
|
||||
func _asset_list(m *ice.Message, account string, id string) {
|
||||
if account == "" {
|
||||
m.Option(mdb.FIELDS, "time,account,amount,count")
|
||||
defer m.PushAction(CHECK)
|
||||
defer m.SortIntR(AMOUNT)
|
||||
|
||||
} else if id == "" {
|
||||
m.Option(mdb.FIELDS, "time,id,type,amount,name,text")
|
||||
|
||||
} else {
|
||||
m.Option(mdb.FIELDS, mdb.DETAIL)
|
||||
defer m.PushAction(mdb.PLUGIN)
|
||||
}
|
||||
m.Cmdy(mdb.SELECT, ASSET, "", mdb.ZONE, account, id)
|
||||
}
|
||||
|
||||
func _asset_check(m *ice.Message, account string) {
|
||||
amount := 0
|
||||
m.Option(mdb.FIELDS, "time,id,type,amount,name,text")
|
||||
m.OptionFields(m.Conf(ASSET, kit.META_FIELD))
|
||||
m.Option(kit.Keycb(mdb.SELECT), func(fields []string, value map[string]interface{}) {
|
||||
amount += kit.Int(kit.Value(value, AMOUNT))
|
||||
})
|
||||
m.Cmd(mdb.SELECT, ASSET, _sub_key(m, account), mdb.LIST)
|
||||
m.Cmd(mdb.SELECT, ASSET, kit.KeyHash(account), mdb.LIST)
|
||||
|
||||
m.Cmdy(mdb.MODIFY, ASSET, "", mdb.HASH, ACCOUNT, account, AMOUNT, amount)
|
||||
}
|
||||
@ -59,24 +42,13 @@ func _asset_create(m *ice.Message, account string) {
|
||||
}
|
||||
func _asset_insert(m *ice.Message, account string, arg ...string) {
|
||||
_asset_create(m, account)
|
||||
m.Cmdy(mdb.INSERT, ASSET, _sub_key(m, account), mdb.LIST, arg)
|
||||
m.Cmdy(mdb.INSERT, ASSET, kit.KeyHash(account), mdb.LIST, arg)
|
||||
|
||||
m.Option(mdb.FIELDS, "time,account,amount,count")
|
||||
amount := kit.Int(m.Cmd(mdb.SELECT, ASSET, "", mdb.HASH, ACCOUNT, account).Append(AMOUNT))
|
||||
amount += kit.Int(_sub_value(m, AMOUNT, arg...))
|
||||
m.Cmdy(mdb.MODIFY, ASSET, "", mdb.HASH, ACCOUNT, account, AMOUNT, amount)
|
||||
}
|
||||
func _asset_modify(m *ice.Message, account, id string, arg ...string) {
|
||||
m.Cmdy(mdb.MODIFY, ASSET, _sub_key(m, account), mdb.LIST, kit.MDB_ID, id, arg)
|
||||
}
|
||||
func _asset_export(m *ice.Message, file string) {
|
||||
m.Option(mdb.FIELDS, "account,id,time,type,amount,name,text,extra")
|
||||
m.Cmdy(mdb.EXPORT, ASSET, "", mdb.ZONE, file)
|
||||
}
|
||||
func _asset_import(m *ice.Message, file string) {
|
||||
m.Option(mdb.FIELDS, "account")
|
||||
m.Cmdy(mdb.IMPORT, ASSET, "", mdb.ZONE, file)
|
||||
}
|
||||
func _asset_inputs(m *ice.Message, field, value string) {
|
||||
switch field {
|
||||
case "pod", "extra.pod":
|
||||
@ -87,19 +59,23 @@ func _asset_inputs(m *ice.Message, field, value string) {
|
||||
m.Cmdy(ctx.CONTEXT, kit.Select(m.Option("ctx"), m.Option("extra.ctx")), ctx.COMMAND)
|
||||
case "arg", "extra.arg":
|
||||
|
||||
case "from", "to", ACCOUNT:
|
||||
case FROM, TO, ACCOUNT:
|
||||
m.Cmdy(mdb.INPUTS, ASSET, "", mdb.HASH, ACCOUNT, value)
|
||||
default:
|
||||
m.Cmdy(mdb.INPUTS, ASSET, _sub_key(m, m.Option(ACCOUNT)), mdb.LIST, field, value)
|
||||
m.Cmdy(mdb.INPUTS, ASSET, kit.KeyHash(m.Option(ACCOUNT)), mdb.LIST, field, value)
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
ACCOUNT = "account"
|
||||
AMOUNT = "amount"
|
||||
COUNT = "count"
|
||||
|
||||
FROM = "from"
|
||||
TO = "to"
|
||||
|
||||
SPEND = "spend"
|
||||
TRANC = "tranc"
|
||||
TRANS = "trans"
|
||||
BONUS = "bonus"
|
||||
CHECK = "check"
|
||||
)
|
||||
@ -108,15 +84,19 @@ const ASSET = "asset"
|
||||
func init() {
|
||||
Index.Merge(&ice.Context{
|
||||
Configs: map[string]*ice.Config{
|
||||
ASSET: {Name: ASSET, Help: "资产", Value: kit.Data(kit.MDB_SHORT, ACCOUNT)},
|
||||
ASSET: {Name: ASSET, Help: "资产", Value: kit.Data(
|
||||
kit.MDB_SHORT, ACCOUNT, kit.MDB_FIELD, "time,id,type,amount,name,text",
|
||||
)},
|
||||
},
|
||||
Commands: map[string]*ice.Command{
|
||||
ASSET: {Name: "asset account id auto spend tranc bonus", Help: "资产", Action: map[string]*ice.Action{
|
||||
ASSET: {Name: "asset account id auto spend trans bonus check", Help: "资产", Meta: kit.Dict(
|
||||
"_trans", kit.Dict(ACCOUNT, "账户", AMOUNT, "金额", FROM, "转出", TO, "转入", "time", "时间", "name", "商家", "text", "备注"),
|
||||
), Action: map[string]*ice.Action{
|
||||
SPEND: {Name: "spend account name amount time@date text", Help: "支出", Hand: func(m *ice.Message, arg ...string) {
|
||||
_sub_amount(m, arg)
|
||||
_asset_insert(m, arg[1], kit.Simple(kit.MDB_TYPE, "支出", arg[2:])...)
|
||||
}},
|
||||
TRANC: {Name: "tranc from to amount time@date text", Help: "转账", Hand: func(m *ice.Message, arg ...string) {
|
||||
TRANS: {Name: "trans from to amount time@date text", Help: "转账", Hand: func(m *ice.Message, arg ...string) {
|
||||
_asset_insert(m, arg[3], kit.Simple(kit.MDB_TYPE, "转入", kit.MDB_NAME, arg[1], arg[4:])...)
|
||||
_sub_amount(m, arg)
|
||||
_asset_insert(m, arg[1], kit.Simple(kit.MDB_TYPE, "转出", kit.MDB_NAME, arg[3], arg[4:])...)
|
||||
@ -124,38 +104,63 @@ func init() {
|
||||
BONUS: {Name: "bonus account name amount time@date text", Help: "收入", Hand: func(m *ice.Message, arg ...string) {
|
||||
_asset_insert(m, arg[1], kit.Simple(kit.MDB_TYPE, "收入", arg[2:])...)
|
||||
}},
|
||||
CHECK: {Name: "check account", Help: "核算", Hand: func(m *ice.Message, arg ...string) {
|
||||
CHECK: {Name: "check", Help: "核算", Hand: func(m *ice.Message, arg ...string) {
|
||||
if m.Option(ACCOUNT) == "" {
|
||||
m.Cmd(ASSET).Table(func(index int, value map[string]string, head []string) {
|
||||
_asset_check(m, value[ACCOUNT])
|
||||
})
|
||||
m.ProcessRefresh30ms()
|
||||
} else {
|
||||
_asset_check(m, m.Option(ACCOUNT))
|
||||
}
|
||||
m.Toast("核算成功")
|
||||
}},
|
||||
|
||||
mdb.MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
|
||||
_asset_modify(m, m.Option(ACCOUNT), m.Option(kit.MDB_ID), arg[0], arg[1])
|
||||
m.Cmdy(mdb.MODIFY, ASSET, "", mdb.ZONE, m.Option(ACCOUNT), m.Option(kit.MDB_ID), arg)
|
||||
}},
|
||||
mdb.EXPORT: {Name: "export file", Help: "导出", Hand: func(m *ice.Message, arg ...string) {
|
||||
_asset_export(m, m.Option(kit.MDB_FILE))
|
||||
mdb.EXPORT: {Name: "export", Help: "导出", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.OptionFields(ACCOUNT, m.Conf(ASSET, kit.META_FIELD), kit.MDB_EXTRA)
|
||||
m.Cmdy(mdb.EXPORT, ASSET, "", mdb.ZONE)
|
||||
}},
|
||||
mdb.IMPORT: {Name: "import file", Help: "导入", Hand: func(m *ice.Message, arg ...string) {
|
||||
_asset_import(m, m.Option(kit.MDB_FILE))
|
||||
mdb.IMPORT: {Name: "import", Help: "导入", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.OptionFields(ACCOUNT)
|
||||
m.Cmdy(mdb.IMPORT, ASSET, "", mdb.ZONE)
|
||||
}},
|
||||
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
|
||||
_asset_inputs(m, kit.Select("", arg, 0), kit.Select("", arg, 1))
|
||||
}},
|
||||
|
||||
mdb.PLUGIN: {Name: "plugin extra.pod extra.ctx extra.cmd extra.arg", Help: "插件", Hand: func(m *ice.Message, arg ...string) {
|
||||
_asset_modify(m, m.Option(ACCOUNT), m.Option(kit.MDB_ID), kit.Simple(kit.Dict(arg))...)
|
||||
m.Cmdy(mdb.MODIFY, ASSET, "", mdb.ZONE, m.Option(ACCOUNT), m.Option(kit.MDB_ID), arg)
|
||||
}},
|
||||
ctx.COMMAND: {Name: "command", Help: "命令", Hand: func(m *ice.Message, arg ...string) {
|
||||
if arg[0] == "run" {
|
||||
m.Cmdy(arg[1], arg[2:])
|
||||
return
|
||||
}
|
||||
if len(arg) > 0 {
|
||||
m.Cmdy(ctx.COMMAND, arg[0])
|
||||
return
|
||||
}
|
||||
m.Cmdy(ctx.COMMAND, arg)
|
||||
}},
|
||||
cli.RUN: {Name: "run", Help: "执行", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(arg)
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
_asset_list(m, kit.Select("", arg, 0), kit.Select("", arg, 1))
|
||||
amount, count := 0, 0
|
||||
m.Fields(len(arg), "time,account,amount,count", m.Conf(ASSET, kit.META_FIELD))
|
||||
if m.Cmdy(mdb.SELECT, ASSET, "", mdb.ZONE, arg); len(arg) == 0 {
|
||||
m.PushAction(CHECK)
|
||||
m.SortIntR(AMOUNT)
|
||||
|
||||
m.Table(func(index int, value map[string]string, head []string) {
|
||||
amount += kit.Int(value[AMOUNT])
|
||||
count += kit.Int(value[COUNT])
|
||||
})
|
||||
|
||||
} else {
|
||||
m.PushAction(mdb.PLUGIN)
|
||||
|
||||
m.Table(func(index int, value map[string]string, head []string) {
|
||||
amount += kit.Int(value[AMOUNT])
|
||||
count++
|
||||
})
|
||||
}
|
||||
m.StatusTime(AMOUNT, amount, COUNT, count)
|
||||
}},
|
||||
},
|
||||
})
|
||||
|
@ -1,36 +0,0 @@
|
||||
package mall
|
||||
|
||||
import (
|
||||
ice "github.com/shylinux/icebergs"
|
||||
"github.com/shylinux/icebergs/base/mdb"
|
||||
kit "github.com/shylinux/toolkits"
|
||||
)
|
||||
|
||||
func _beike_show(m *ice.Message, name, text string, arg ...string) {
|
||||
}
|
||||
func _beike_search(m *ice.Message, kind, name, text string) {
|
||||
if kit.Contains(kind, kit.MDB_FOREACH) || kit.Contains(kind, BEIKE) {
|
||||
m.PushSearchWeb(BEIKE, name)
|
||||
}
|
||||
}
|
||||
|
||||
const BEIKE = "beike"
|
||||
|
||||
func init() {
|
||||
Index.Merge(&ice.Context{
|
||||
Configs: map[string]*ice.Config{
|
||||
BEIKE: {Name: "beike", Help: "贝壳", Value: kit.Data(kit.MDB_SHORT, kit.MDB_TEXT)},
|
||||
},
|
||||
Commands: map[string]*ice.Command{
|
||||
BEIKE: {Name: "beike [name] word", Help: "百度", Action: map[string]*ice.Action{
|
||||
mdb.SEARCH: {Name: "search type name text", Help: "搜索", Hand: func(m *ice.Message, arg ...string) {
|
||||
_beike_search(m, arg[0], arg[1], arg[2])
|
||||
}},
|
||||
mdb.CREATE: {Name: "create type name text", Help: "创建", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd(mdb.INSERT, m.Prefix(BEIKE), "", mdb.HASH, arg)
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
_beike_show(m, arg[0], kit.Select(arg[0], arg[1]), arg[2:]...)
|
||||
}},
|
||||
}})
|
||||
}
|
@ -7,13 +7,13 @@ import (
|
||||
|
||||
const MALL = "mall"
|
||||
|
||||
var Index = &ice.Context{Name: MALL, Help: "贸易中心",
|
||||
Commands: map[string]*ice.Command{
|
||||
var Index = &ice.Context{Name: MALL, Help: "贸易中心", Commands: map[string]*ice.Command{
|
||||
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
m.Load()
|
||||
}},
|
||||
ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Save() }},
|
||||
},
|
||||
}
|
||||
ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
m.Save()
|
||||
}},
|
||||
}}
|
||||
|
||||
func init() { web.Index.Register(Index, nil, ASSET, SALARY) }
|
||||
|
@ -28,8 +28,15 @@ func init() {
|
||||
m.Cmdy(mdb.INPUTS, SALARY, "", mdb.HASH, arg)
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
m.Option(mdb.FIELDS, kit.Select("time,month,company,amount,income,tax", mdb.DETAIL, len(arg) > 0))
|
||||
m.Fields(len(arg), "time,month,company,amount,income,tax")
|
||||
m.Cmdy(mdb.SELECT, SALARY, "", mdb.HASH, "month", arg)
|
||||
amount, income, tax := 0, 0, 0
|
||||
m.Table(func(index int, value map[string]string, head []string) {
|
||||
amount += kit.Int(value["amount"])
|
||||
income += kit.Int(value["income"])
|
||||
tax += kit.Int(value["tax"])
|
||||
})
|
||||
m.StatusTime("amount", amount, "income", income, "tax", tax)
|
||||
}},
|
||||
},
|
||||
})
|
||||
|
@ -1,36 +0,0 @@
|
||||
package mall
|
||||
|
||||
import (
|
||||
ice "github.com/shylinux/icebergs"
|
||||
"github.com/shylinux/icebergs/base/mdb"
|
||||
kit "github.com/shylinux/toolkits"
|
||||
)
|
||||
|
||||
func _taobao_show(m *ice.Message, name, text string, arg ...string) {
|
||||
}
|
||||
func _taobao_search(m *ice.Message, kind, name, text string) {
|
||||
if kit.Contains(kind, kit.MDB_FOREACH) || kit.Contains(kind, TAOBAO) {
|
||||
m.PushSearchWeb(TAOBAO, name)
|
||||
}
|
||||
}
|
||||
|
||||
const TAOBAO = "taobao"
|
||||
|
||||
func init() {
|
||||
Index.Merge(&ice.Context{
|
||||
Configs: map[string]*ice.Config{
|
||||
TAOBAO: {Name: "taobao", Help: "淘宝", Value: kit.Data(kit.MDB_SHORT, kit.MDB_TEXT)},
|
||||
},
|
||||
Commands: map[string]*ice.Command{
|
||||
TAOBAO: {Name: "taobao [name] word", Help: "百度", Action: map[string]*ice.Action{
|
||||
mdb.SEARCH: {Name: "search type name text", Help: "搜索", Hand: func(m *ice.Message, arg ...string) {
|
||||
_taobao_search(m, arg[0], arg[1], arg[2])
|
||||
}},
|
||||
mdb.CREATE: {Name: "create type name text", Help: "创建", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd(mdb.INSERT, m.Prefix(TAOBAO), "", mdb.HASH, arg)
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
_taobao_show(m, arg[0], kit.Select(arg[0], arg[1]), arg[2:]...)
|
||||
}},
|
||||
}})
|
||||
}
|
@ -76,9 +76,7 @@ func init() {
|
||||
Commands: map[string]*ice.Command{
|
||||
FIELD: {Name: "field [name] cmd", Help: "插件", Action: map[string]*ice.Action{
|
||||
cli.RUN: {Name: "run", Help: "执行", Hand: func(m *ice.Message, arg ...string) {
|
||||
if !m.Warn(!m.Right(arg[1:]), ice.ErrNotRight, arg[1:]) {
|
||||
m.Cmdy(arg[1:])
|
||||
}
|
||||
m.Cmdy(arg)
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
arg = _name(m, arg)
|
||||
|
@ -65,7 +65,7 @@ func init() {
|
||||
ice.Display("/plugin/local/wiki/word.js", WORD),
|
||||
), Action: map[string]*ice.Action{
|
||||
web.STORY: {Name: "story", Help: "运行", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(arg[0], ctx.ACTION, cli.RUN, arg[1:])
|
||||
m.Cmdy(arg[0], ctx.ACTION, cli.RUN, arg[2:])
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
m.Option(nfs.DIR_REG, m.Conf(WORD, kit.Keym(kit.MDB_REGEXP)))
|
||||
|
6
misc.go
6
misc.go
@ -155,7 +155,7 @@ func Render(m *Message, cmd string, args ...interface{}) string {
|
||||
list := []string{}
|
||||
for _, k := range kit.Split(strings.Join(arg, ",")) {
|
||||
list = append(list, fmt.Sprintf(`<input type="button" name="%s" value="%s">`,
|
||||
k, kit.Select(k, kit.Value(m._cmd.Meta, kit.Keys("trans", k)))))
|
||||
k, kit.Select(k, kit.Value(m._cmd.Meta, kit.Keys("_trans", k)))))
|
||||
}
|
||||
return strings.Join(list, "")
|
||||
|
||||
@ -348,6 +348,10 @@ func (m *Message) Status(arg ...interface{}) {
|
||||
}
|
||||
m.Option(MSG_STATUS, kit.Format(list))
|
||||
}
|
||||
func (m *Message) StatusTime(arg ...interface{}) {
|
||||
m.Status(kit.MDB_TIME, m.Time(), arg, "cost", m.FormatCost())
|
||||
}
|
||||
|
||||
func (m *Message) StatusTimeCount(arg ...interface{}) {
|
||||
m.Status(kit.MDB_TIME, m.Time(), kit.MDB_COUNT, m.FormatSize(), arg, "cost", m.FormatCost())
|
||||
}
|
||||
|
46
type.go
46
type.go
@ -79,6 +79,10 @@ func (c *Context) Cap(key string, arg ...interface{}) string {
|
||||
return c.Caches[key].Value
|
||||
}
|
||||
func (c *Context) _cmd(m *Message, cmd *Command, key string, k string, h *Action, arg ...string) *Message {
|
||||
if k == "run" && m.Warn(!m.Right(arg), ErrNotRight, arg) {
|
||||
return m
|
||||
}
|
||||
|
||||
m.Log(LOG_CMDS, "%s.%s %s %d %v %s", c.Name, key, k, len(arg), arg, kit.FileLine(h.Hand, 3))
|
||||
if len(h.List) > 0 && k != "search" {
|
||||
order := false
|
||||
@ -196,7 +200,7 @@ func (c *Context) Merge(s *Context) *Context {
|
||||
if len(help) == 1 || help[1] == "" {
|
||||
help = strings.SplitN(help[0], ":", 2)
|
||||
}
|
||||
kit.Value(v.Meta, kit.Keys("trans", k), help[0])
|
||||
kit.Value(v.Meta, kit.Keys("_trans", k), help[0])
|
||||
if len(help) > 1 {
|
||||
kit.Value(v.Meta, kit.Keys("title", k), help[1])
|
||||
}
|
||||
@ -228,25 +232,41 @@ func (c *Context) Merge(s *Context) *Context {
|
||||
return c
|
||||
}
|
||||
func (c *Context) split(key string, cmd *Command, name string) []interface{} {
|
||||
const (
|
||||
BUTTON = "button"
|
||||
SELECT = "select"
|
||||
TEXT = "text"
|
||||
TEXTAREA = "textarea"
|
||||
)
|
||||
|
||||
button, list := false, []interface{}{}
|
||||
for _, v := range kit.Split(kit.Select("key", name), " ", " ")[1:] {
|
||||
if key == "spend" {
|
||||
fmt.Printf("what %v %v\n", key, v)
|
||||
}
|
||||
switch v {
|
||||
case "text":
|
||||
list = append(list, kit.List(kit.MDB_INPUT, TEXTAREA, kit.MDB_NAME, "text")...)
|
||||
if key == "spend" {
|
||||
fmt.Printf("what %v %v\n", key, list)
|
||||
}
|
||||
continue
|
||||
case "page":
|
||||
list = append(list, kit.List(kit.MDB_INPUT, "text", "name", "limit")...)
|
||||
list = append(list, kit.List(kit.MDB_INPUT, "text", "name", "offend")...)
|
||||
list = append(list, kit.List(kit.MDB_INPUT, "button", "name", "prev")...)
|
||||
list = append(list, kit.List(kit.MDB_INPUT, "button", "name", "next")...)
|
||||
list = append(list, kit.List(kit.MDB_INPUT, TEXT, kit.MDB_NAME, "limit")...)
|
||||
list = append(list, kit.List(kit.MDB_INPUT, TEXT, kit.MDB_NAME, "offend")...)
|
||||
list = append(list, kit.List(kit.MDB_INPUT, BUTTON, kit.MDB_NAME, "prev")...)
|
||||
list = append(list, kit.List(kit.MDB_INPUT, BUTTON, kit.MDB_NAME, "next")...)
|
||||
continue
|
||||
case "auto":
|
||||
list = append(list, kit.List(kit.MDB_INPUT, "button", "name", "查看", "value", "auto")...)
|
||||
list = append(list, kit.List(kit.MDB_INPUT, "button", "name", "返回")...)
|
||||
list = append(list, kit.List(kit.MDB_INPUT, BUTTON, kit.MDB_NAME, "查看", kit.MDB_VALUE, "auto")...)
|
||||
list = append(list, kit.List(kit.MDB_INPUT, BUTTON, kit.MDB_NAME, "返回")...)
|
||||
button = true
|
||||
continue
|
||||
}
|
||||
|
||||
ls, value := kit.Split(v, " ", ":=@"), ""
|
||||
item := kit.Dict(kit.MDB_INPUT, kit.Select("text", "button", button))
|
||||
if kit.Value(item, kit.MDB_NAME, ls[0]); item[kit.MDB_INPUT] == "text" {
|
||||
item := kit.Dict(kit.MDB_INPUT, kit.Select(TEXT, BUTTON, button))
|
||||
if kit.Value(item, kit.MDB_NAME, ls[0]); item[kit.MDB_INPUT] == TEXT {
|
||||
kit.Value(item, kit.MDB_VALUE, kit.Select("@key", "auto", strings.Contains(name, "auto")))
|
||||
}
|
||||
|
||||
@ -254,10 +274,10 @@ func (c *Context) split(key string, cmd *Command, name string) []interface{} {
|
||||
switch ls[i] {
|
||||
case ":":
|
||||
switch kit.Value(item, kit.MDB_INPUT, ls[i+1]); ls[i+1] {
|
||||
case "textarea":
|
||||
case TEXTAREA:
|
||||
kit.Value(item, "style.width", "360")
|
||||
kit.Value(item, "style.height", "60")
|
||||
case "button":
|
||||
case BUTTON:
|
||||
kit.Value(item, kit.MDB_VALUE, "")
|
||||
button = true
|
||||
}
|
||||
@ -266,7 +286,7 @@ func (c *Context) split(key string, cmd *Command, name string) []interface{} {
|
||||
vs := strings.Split(ls[i+1], ",")
|
||||
kit.Value(item, "values", vs)
|
||||
kit.Value(item, kit.MDB_VALUE, vs[0])
|
||||
kit.Value(item, kit.MDB_INPUT, "select")
|
||||
kit.Value(item, kit.MDB_INPUT, SELECT)
|
||||
if kit.Value(item, kit.MDB_NAME) == "scale" {
|
||||
kit.Value(item, kit.MDB_VALUE, "week")
|
||||
}
|
||||
@ -275,7 +295,7 @@ func (c *Context) split(key string, cmd *Command, name string) []interface{} {
|
||||
}
|
||||
case "@":
|
||||
if len(ls) > i+1 {
|
||||
if kit.Value(item, kit.MDB_INPUT) == "button" {
|
||||
if kit.Value(item, kit.MDB_INPUT) == BUTTON {
|
||||
kit.Value(item, kit.MDB_ACTION, ls[i+1])
|
||||
} else {
|
||||
kit.Value(item, kit.MDB_VALUE, "@"+ls[i+1]+"="+value)
|
||||
|
Loading…
x
Reference in New Issue
Block a user