forked from x/icebergs
opt feel
This commit is contained in:
parent
36b23b5c9b
commit
ed5904fe68
@ -94,7 +94,7 @@ func _hash_import(m *ice.Message, prefix, key, file string) {
|
||||
m.Echo(kit.Keys(file, JSON))
|
||||
}
|
||||
func _hash_select(m *ice.Message, prefix, key, field, value string) {
|
||||
fields := strings.Split(kit.Select("time,name", m.Option("fields")), ",")
|
||||
fields := strings.Split(kit.Select("time,hash,type,name,text", m.Option("fields")), ",")
|
||||
m.Richs(prefix, key, value, func(key string, val map[string]interface{}) {
|
||||
if value == kit.MDB_FOREACH {
|
||||
m.Push(key, val, fields)
|
||||
@ -195,7 +195,7 @@ func _list_import(m *ice.Message, prefix, key, file string) {
|
||||
m.Echo(kit.Keys(file, CSV))
|
||||
}
|
||||
func _list_select(m *ice.Message, prefix, key, field, value string) {
|
||||
fields := strings.Split(kit.Select("time,name", m.Option("fields")), ",")
|
||||
fields := strings.Split(kit.Select("time,type,name,text", m.Option("fields")), ",")
|
||||
m.Grows(prefix, key, field, value, func(index int, value map[string]interface{}) {
|
||||
if field == kit.MDB_ID {
|
||||
m.Push("detail", value)
|
||||
@ -328,7 +328,7 @@ var Index = &ice.Context{Name: "mdb", Help: "数据模块",
|
||||
SELECT: {Name: "select conf key type field value", Help: "数据查询", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
switch arg[2] {
|
||||
case HASH:
|
||||
_hash_select(m, arg[0], arg[1], arg[3], arg[4])
|
||||
_hash_select(m, arg[0], arg[1], kit.Select("", arg, 3), kit.Select(kit.MDB_FOREACH, arg, 4))
|
||||
case LIST:
|
||||
_list_select(m, arg[0], arg[1], kit.Select("", arg, 3), kit.Select("", arg, 4))
|
||||
}
|
||||
|
@ -4,13 +4,9 @@ import (
|
||||
ice "github.com/shylinux/icebergs"
|
||||
"github.com/shylinux/icebergs/base/mdb"
|
||||
kit "github.com/shylinux/toolkits"
|
||||
|
||||
"strings"
|
||||
)
|
||||
|
||||
const (
|
||||
PASTE = "paste"
|
||||
)
|
||||
const PASTE = "paste"
|
||||
|
||||
func init() {
|
||||
Index.Register(&ice.Context{Name: PASTE, Help: "粘贴板",
|
||||
@ -18,76 +14,35 @@ func init() {
|
||||
PASTE: {Name: "paste", Help: "粘贴板", Value: kit.Data(kit.MDB_SHORT, kit.MDB_TEXT)},
|
||||
},
|
||||
Commands: map[string]*ice.Command{
|
||||
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
m.Load(PASTE)
|
||||
m.Cmd(mdb.SEARCH, mdb.CREATE, PASTE, m.Prefix(PASTE))
|
||||
m.Cmd(mdb.RENDER, mdb.CREATE, PASTE, m.Prefix(PASTE))
|
||||
}},
|
||||
ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
m.Save(PASTE)
|
||||
}},
|
||||
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(PASTE) }},
|
||||
|
||||
PASTE: {Name: "paste text auto 添加:button", Help: "粘贴板", Meta: kit.Dict(
|
||||
"display", "/plugin/story/paste",
|
||||
"display", "/plugin/story/paste.js",
|
||||
), Action: map[string]*ice.Action{
|
||||
mdb.INSERT: {Name: "insert type name text", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Conf(PASTE, kit.Keys(kit.MDB_META, m.Option(ice.MSG_RIVER), m.Option(ice.MSG_STORM), kit.MDB_META, kit.MDB_SHORT), kit.MDB_TEXT)
|
||||
|
||||
h := m.Rich(PASTE, kit.Keys(kit.MDB_META, m.Option(ice.MSG_RIVER), m.Option(ice.MSG_STORM)), kit.Dict(
|
||||
kit.MDB_TYPE, arg[0], kit.MDB_NAME, arg[1], kit.MDB_TEXT, strings.TrimSpace(arg[2]),
|
||||
))
|
||||
m.Log_INSERT(PASTE, arg[2])
|
||||
m.Echo(h)
|
||||
mdb.INSERT: {Name: "insert [key value]...", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(mdb.INSERT, m.Prefix(PASTE), m.Option(ice.MSG_DOMAIN), mdb.HASH, arg)
|
||||
}},
|
||||
mdb.MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Richs(PASTE, kit.Keys(kit.MDB_META, m.Option(ice.MSG_RIVER), m.Option(ice.MSG_STORM)), m.Option(kit.MDB_TEXT), func(key string, value map[string]interface{}) {
|
||||
if arg[0] == kit.MDB_TEXT {
|
||||
return
|
||||
}
|
||||
m.Log_MODIFY(PASTE, m.Option(kit.MDB_TEXT))
|
||||
value[arg[0]] = arg[1]
|
||||
})
|
||||
mdb.MODIFY: {Name: "modify key value", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(mdb.MODIFY, m.Prefix(PASTE), m.Option(ice.MSG_DOMAIN), mdb.HASH, kit.MDB_TEXT, m.Option("text"), arg[0], arg[1])
|
||||
}},
|
||||
mdb.REMOVE: {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Richs(PASTE, kit.Keys(kit.MDB_META, m.Option(ice.MSG_RIVER), m.Option(ice.MSG_STORM)), m.Option(kit.MDB_TEXT), func(key string, value map[string]interface{}) {
|
||||
m.Log_REMOVE(PASTE, m.Option(kit.MDB_TEXT))
|
||||
m.Conf(PASTE, kit.Keys(kit.MDB_META, m.Option(ice.MSG_RIVER), m.Option(ice.MSG_STORM), kit.MDB_HASH, key), "")
|
||||
})
|
||||
mdb.DELETE: {Name: "delete", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(mdb.DELETE, m.Prefix(PASTE), m.Option(ice.MSG_DOMAIN), mdb.HASH, kit.MDB_TEXT, m.Option("text"))
|
||||
}},
|
||||
mdb.SEARCH: {Name: "search type name text", Help: "搜索", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Richs(PASTE, kit.Keys(kit.MDB_META, m.Option(ice.MSG_RIVER), m.Option(ice.MSG_STORM)), kit.MDB_FOREACH, func(key string, value map[string]interface{}) {
|
||||
if strings.Contains(kit.Format(value[kit.MDB_NAME]), arg[1]) ||
|
||||
strings.Contains(kit.Format(value[kit.MDB_TEXT]), arg[1]) {
|
||||
|
||||
m.Push("pod", m.Option("pod"))
|
||||
m.Push("ctx", m.Cap(ice.CTX_FOLLOW))
|
||||
m.Push("cmd", PASTE)
|
||||
m.Push(kit.MDB_TIME, value["time"])
|
||||
m.Push(kit.MDB_SIZE, value["size"])
|
||||
m.Push(kit.MDB_TYPE, PASTE)
|
||||
m.Push(kit.MDB_NAME, value["name"])
|
||||
m.Push(kit.MDB_TEXT, value["text"])
|
||||
}
|
||||
})
|
||||
mdb.EXPORT: {Name: "export file", Help: "导出", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(mdb.EXPORT, m.Prefix(PASTE), m.Option(ice.MSG_DOMAIN), mdb.HASH)
|
||||
}},
|
||||
mdb.RENDER: {Name: "render type name text", Help: "渲染", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Echo(arg[2])
|
||||
mdb.IMPORT: {Name: "import file", Help: "导入", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(mdb.IMPORT, m.Prefix(PASTE), m.Option(ice.MSG_DOMAIN), mdb.HASH)
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
m.Richs(PASTE, kit.Keys(kit.MDB_META, m.Option(ice.MSG_RIVER), m.Option(ice.MSG_STORM)), kit.Select(kit.MDB_FOREACH, arg, 0), func(key string, value map[string]interface{}) {
|
||||
if len(arg) == 0 {
|
||||
m.Push(key, value, []string{kit.MDB_TIME, kit.MDB_TYPE, kit.MDB_NAME, kit.MDB_TEXT})
|
||||
if strings.Contains(m.Option(ice.MSG_USERUA), "MicroMessenger") {
|
||||
return
|
||||
if len(arg) > 0 {
|
||||
m.Cmdy(mdb.INSERT, m.Prefix(PASTE), m.Option(ice.MSG_DOMAIN), mdb.HASH, kit.MDB_TEXT, arg[0])
|
||||
}
|
||||
return
|
||||
}
|
||||
m.Push("detail", value)
|
||||
})
|
||||
if len(arg) == 0 {
|
||||
|
||||
m.Cmdy(mdb.SELECT, m.Prefix(PASTE), m.Option(ice.MSG_DOMAIN), mdb.HASH)
|
||||
m.PushAction("复制", "删除")
|
||||
m.Sort("time", "time_r")
|
||||
}
|
||||
}},
|
||||
},
|
||||
}, nil)
|
||||
|
@ -120,18 +120,6 @@ func init() {
|
||||
"endif", "keyword",
|
||||
),
|
||||
),
|
||||
"shy", kit.Dict(
|
||||
"prefix", kit.Dict("#", "comment"),
|
||||
"keyword", kit.Dict(
|
||||
"title", "keyword",
|
||||
"chapter", "keyword",
|
||||
"section", "keyword",
|
||||
"refer", "keyword",
|
||||
"field", "keyword",
|
||||
"label", "keyword",
|
||||
"chain", "keyword",
|
||||
),
|
||||
),
|
||||
"py", kit.Dict(
|
||||
"prefix", kit.Dict("#", "comment"),
|
||||
"keyword", kit.Dict("print", "keyword"),
|
||||
|
61
core/code/shy.go
Normal file
61
core/code/shy.go
Normal file
@ -0,0 +1,61 @@
|
||||
package code
|
||||
|
||||
import (
|
||||
ice "github.com/shylinux/icebergs"
|
||||
"github.com/shylinux/icebergs/base/cli"
|
||||
"github.com/shylinux/icebergs/base/mdb"
|
||||
"github.com/shylinux/icebergs/base/nfs"
|
||||
kit "github.com/shylinux/toolkits"
|
||||
|
||||
"path"
|
||||
)
|
||||
|
||||
const SHY = "shy"
|
||||
|
||||
func init() {
|
||||
Index.Register(&ice.Context{Name: SHY, Help: "shy",
|
||||
Commands: map[string]*ice.Command{
|
||||
ice.CTX_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
m.Cmd(mdb.SEARCH, mdb.CREATE, SHY, SHY, c.Cap(ice.CTX_FOLLOW))
|
||||
m.Cmd(mdb.PLUGIN, mdb.CREATE, SHY, SHY, c.Cap(ice.CTX_FOLLOW))
|
||||
m.Cmd(mdb.RENDER, mdb.CREATE, SHY, SHY, c.Cap(ice.CTX_FOLLOW))
|
||||
m.Cmd(mdb.ENGINE, mdb.CREATE, SHY, SHY, c.Cap(ice.CTX_FOLLOW))
|
||||
}},
|
||||
SHY: {Name: SHY, Help: "shy", Action: map[string]*ice.Action{
|
||||
mdb.SEARCH: {Name: "search type name text", Hand: func(m *ice.Message, arg ...string) {
|
||||
if arg[0] == kit.MDB_FOREACH {
|
||||
return
|
||||
}
|
||||
m.Option(cli.CMD_DIR, m.Option("_path"))
|
||||
_c_find(m, kit.Select("main", arg, 1))
|
||||
_c_grep(m, kit.Select("main", arg, 1))
|
||||
}},
|
||||
mdb.PLUGIN: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Echo(m.Conf(SHY, "meta.plug"))
|
||||
}},
|
||||
mdb.RENDER: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(nfs.CAT, path.Join(arg[2], arg[1]))
|
||||
}},
|
||||
mdb.ENGINE: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy("web.wiki.word", path.Join(arg[2], arg[1]))
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {}},
|
||||
},
|
||||
Configs: map[string]*ice.Config{
|
||||
SHY: {Name: SHY, Help: "shy", Value: kit.Data(
|
||||
"plug", kit.Dict(
|
||||
"prefix", kit.Dict("#", "comment"),
|
||||
"keyword", kit.Dict(
|
||||
"title", "keyword",
|
||||
"chapter", "keyword",
|
||||
"section", "keyword",
|
||||
"refer", "keyword",
|
||||
"field", "keyword",
|
||||
"label", "keyword",
|
||||
"chain", "keyword",
|
||||
),
|
||||
),
|
||||
)},
|
||||
},
|
||||
}, nil)
|
||||
}
|
@ -359,10 +359,9 @@ var Index = &ice.Context{Name: "team", Help: "团队中心",
|
||||
})
|
||||
}
|
||||
}},
|
||||
PLAN: {Name: "plan scale:select=day|week|month|year|long begin_time=@date auto 添加:button 导出:button 导入:button", Help: "计划", Meta: kit.Dict(
|
||||
PLAN: {Name: "plan scale:select=day|week|month|year|long begin_time=@date auto 添加:button 导出:button 导入:button 筛选:button", Help: "计划", Meta: kit.Dict(
|
||||
"display", "/plugin/local/team/plan.js", "style", "plan",
|
||||
"添加", _task_inputs,
|
||||
"display", "/plugin/local/team/plan.js", "detail", []string{StatusPrepare, StatusProcess, StatusCancel, StatusFinish},
|
||||
"style", "plan",
|
||||
), Action: map[string]*ice.Action{
|
||||
mdb.INSERT: {Name: "insert [key value]...", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
|
||||
_task_create(m, arg[1])
|
||||
|
@ -1,33 +0,0 @@
|
||||
package team
|
||||
|
||||
import (
|
||||
ice "github.com/shylinux/icebergs"
|
||||
"github.com/shylinux/icebergs/base/web"
|
||||
)
|
||||
|
||||
func _work_input(m *ice.Message, key, value string) {
|
||||
switch key {
|
||||
case "name":
|
||||
m.Push(key, "volcanos")
|
||||
m.Push(key, "icebergs")
|
||||
m.Push(key, "intshell")
|
||||
m.Push(key, "contexts")
|
||||
m.Push(key, "toolkits")
|
||||
m.Push(key, "learning")
|
||||
case "text":
|
||||
m.Push(key, "volcanos")
|
||||
m.Push(key, "icebergs")
|
||||
}
|
||||
}
|
||||
func init() {
|
||||
Index.Register(&ice.Context{Name: "工作", Help: "工作",
|
||||
Commands: map[string]*ice.Command{
|
||||
"项目开发": {Name: "项目开发", Help: "项目开发", Hand: func(m *ice.Message, c *ice.Context, key string, arg ...string) {
|
||||
m.Echo("hello world")
|
||||
}},
|
||||
"项目测试": {Name: "项目测试", Help: "项目测试", Hand: func(m *ice.Message, c *ice.Context, key string, arg ...string) {
|
||||
m.Echo("hello world")
|
||||
}},
|
||||
},
|
||||
}, &web.Frame{})
|
||||
}
|
@ -18,7 +18,7 @@ func init() {
|
||||
)},
|
||||
},
|
||||
Commands: map[string]*ice.Command{
|
||||
DRAW: {Name: "draw path=src/ file=demo.svg 刷新:button=auto 编辑:button 保存:button 项目:button 变参:button", Help: "思维导图", Meta: kit.Dict(
|
||||
DRAW: {Name: "draw path=src/ file=main.svg 刷新:button=auto 编辑:button 保存:button 项目:button 变参:button", Help: "思维导图", Meta: kit.Dict(
|
||||
"display", "/plugin/local/wiki/draw.js", "style", "drawer",
|
||||
), Action: map[string]*ice.Action{
|
||||
nfs.SAVE: {Name: "save path file text", Help: "保存", Hand: func(m *ice.Message, arg ...string) {
|
||||
|
@ -10,24 +10,18 @@ import (
|
||||
"path"
|
||||
)
|
||||
|
||||
func _feel_show(m *ice.Message, name string, arg ...string) {
|
||||
m.Echo(path.Join(m.Conf(FEEL, "meta.path"), name))
|
||||
}
|
||||
|
||||
const FEEL = "feel"
|
||||
const FeelPlugin = "/plugin/local/wiki/feel.js"
|
||||
|
||||
func init() {
|
||||
Index.Merge(&ice.Context{Name: "feel", Help: "影音媒体",
|
||||
Configs: map[string]*ice.Config{
|
||||
FEEL: {Name: "feel", Help: "影音媒体", Value: kit.Data(
|
||||
kit.MDB_SHORT, "name", "path", "", "regs", ".*.(qrc|png|PNG|jpg|jpeg|JPG|MOV|m4v|mp4)",
|
||||
"height", "200", "page.limit", "3",
|
||||
"path", "", "regs", ".*.(qrc|png|PNG|jpg|jpeg|JPG|MOV|m4v|mp4)",
|
||||
)},
|
||||
},
|
||||
Commands: map[string]*ice.Command{
|
||||
FEEL: {Name: "feel path=auto auto", Help: "影音媒体", Meta: kit.Dict(
|
||||
web.PLUGIN, FeelPlugin, "detail", []string{"标签", "删除"},
|
||||
FEEL: {Name: "feel path=auto 刷新:button=auto 上传:button 上一页:button 下一页:button 参数:button", Help: "影音媒体", Meta: kit.Dict(
|
||||
"display", "/plugin/local/wiki/feel.js", "detail", []string{"标签", "删除"},
|
||||
), Action: map[string]*ice.Action{
|
||||
mdb.CREATE: {Name: "create", Help: "创建", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Conf(FEEL, kit.Keys(path.Base(arg[2]), "-2"), arg[3])
|
||||
@ -50,11 +44,9 @@ func init() {
|
||||
}
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
m.Option("prefix", m.Conf(FEEL, "meta.path"))
|
||||
m.Option("height", m.Conf(FEEL, "meta.height"))
|
||||
m.Option("limit", m.Conf(FEEL, "meta.page.limit"))
|
||||
if !_wiki_list(m, FEEL, kit.Select("./", arg, 0)) {
|
||||
_feel_show(m, arg[0])
|
||||
m.Echo(path.Join(m.Conf(FEEL, "meta.path"), arg[0]))
|
||||
return
|
||||
}
|
||||
m.Table(func(index int, value map[string]string, head []string) {
|
||||
m.Push("show", m.Cmdx(mdb.RENDER, web.RENDER.IMG, path.Join("/share/local", value["path"])))
|
||||
|
@ -321,7 +321,7 @@ func init() {
|
||||
VIDEO: {Name: VIDEO, Help: "视频", Value: kit.Data("template", video)},
|
||||
|
||||
WORD: {Name: WORD, Help: "语言文字", Value: kit.Data(
|
||||
"path", "usr", "regs", ".*\\.shy", "alias", map[string]interface{}{
|
||||
"path", "", "regs", ".*\\.shy", "alias", map[string]interface{}{
|
||||
PREMENU: []interface{}{TITLE, PREMENU},
|
||||
CHAPTER: []interface{}{TITLE, CHAPTER},
|
||||
SECTION: []interface{}{TITLE, SECTION},
|
||||
@ -447,7 +447,7 @@ func init() {
|
||||
_other_show(m, arg[0], kit.Select(arg[0], arg[1]), arg[2:]...)
|
||||
}},
|
||||
|
||||
WORD: {Name: "word path=demo/hi.shy auto", Help: "语言文字", Meta: kit.Dict(
|
||||
WORD: {Name: "word path=src/main.shy auto", Help: "语言文字", Meta: kit.Dict(
|
||||
"display", "/plugin/local/wiki/word.js",
|
||||
), Action: map[string]*ice.Action{
|
||||
web.STORY: {Name: "story", Help: "运行", Hand: func(m *ice.Message, arg ...string) {
|
||||
|
@ -8,10 +8,18 @@ refer "" `
|
||||
image qrcode `https://weixin.qq.com`
|
||||
|
||||
chapter "应用"
|
||||
field "runtime" cli.runtime
|
||||
field "asset" web.mall.asset args `[ ]`
|
||||
field "task" web.team.task args `[ ]`
|
||||
field "miss" web.chat.meet.miss args `[ ]`
|
||||
field "阅读器" web.code.inner args `[ src/ main.shy ]`
|
||||
field "编辑器" web.code.vimer args `[ src/ main.go ]`
|
||||
|
||||
field "资料库" web.chat.meet.miss args `[ ]`
|
||||
field "粘贴板" web.chat.paste.paste args `[ ]`
|
||||
field "相册集" web.wiki.feel args `[ usr/export/web.chat.meet.miss/feel/ ]`
|
||||
field "思维导图" web.wiki.draw.draw args `[ src/ main.svg ]`
|
||||
|
||||
field "任务" web.team.task args `[ ]`
|
||||
field "任务" web.team.plan args `[ ]`
|
||||
|
||||
field "资产" web.mall.asset args `[ ]`
|
||||
|
||||
chapter "项目"
|
||||
section "icebergs"
|
||||
|
Loading…
x
Reference in New Issue
Block a user