mirror of
https://shylinux.com/x/icebergs
synced 2025-04-26 01:24:05 +08:00
opt river.type
This commit is contained in:
parent
dded350e0d
commit
f40802f5c3
@ -10,6 +10,7 @@ const (
|
||||
)
|
||||
const (
|
||||
USERNICK = "usernick"
|
||||
USERZONE = "userzone"
|
||||
USERNAME = "username"
|
||||
PASSWORD = "password"
|
||||
USERROLE = "userrole"
|
||||
|
@ -12,7 +12,7 @@ import (
|
||||
|
||||
func _user_list(m *ice.Message) {
|
||||
m.Richs(USER, nil, kit.MDB_FOREACH, func(key string, value map[string]interface{}) {
|
||||
m.Push(key, value, []string{kit.MDB_TIME, USERNICK, USERNAME})
|
||||
m.Push(key, value, []string{kit.MDB_TIME, USERZONE, USERNICK, USERNAME})
|
||||
})
|
||||
m.Sort(USERNAME)
|
||||
}
|
||||
@ -47,6 +47,8 @@ func _user_create(m *ice.Message, name, word string) {
|
||||
m.Rich(USER, nil, kit.Dict(
|
||||
USERNAME, name, PASSWORD, word,
|
||||
USERNICK, name, USERNODE, cli.NodeName,
|
||||
USERZONE, m.Option(ice.MSG_USERZONE),
|
||||
USERNODE, cli.NodeName,
|
||||
))
|
||||
m.Log_CREATE(USERNAME, name)
|
||||
m.Event(gdb.USER_CREATE, name)
|
||||
@ -78,6 +80,12 @@ func UserNick(m *ice.Message, username interface{}) (nick string) {
|
||||
})
|
||||
return
|
||||
}
|
||||
func UserZone(m *ice.Message, username interface{}) (zone string) {
|
||||
m.Richs(USER, nil, kit.Format(username), func(key string, value map[string]interface{}) {
|
||||
zone = kit.Format(value[USERZONE])
|
||||
})
|
||||
return
|
||||
}
|
||||
func UserRole(m *ice.Message, username interface{}) (role string) {
|
||||
if role = VOID; username == cli.UserName {
|
||||
return ROOT
|
||||
|
@ -15,7 +15,7 @@ import (
|
||||
)
|
||||
|
||||
func _file_name(m *ice.Message, arg ...string) string {
|
||||
return kit.Select(path.Join("usr/export", kit.Select(arg[0], arg[0]+":"+arg[1], arg[1] != ""), arg[2]), arg, 3)
|
||||
return kit.Select(path.Join("usr/export", kit.Select(arg[0], arg[0]+"/"+arg[1], arg[1] != ""), arg[2]), arg, 3)
|
||||
}
|
||||
|
||||
func _hash_insert(m *ice.Message, prefix, key string, arg ...string) string {
|
||||
@ -60,6 +60,10 @@ func _hash_import(m *ice.Message, prefix, key, file string) {
|
||||
de := json.NewDecoder(f)
|
||||
de.Decode(&list)
|
||||
|
||||
if m.Conf(prefix, kit.Keys(key, kit.MDB_META, kit.MDB_SHORT)) == "" {
|
||||
m.Conf(prefix, kit.Keys(key, kit.MDB_META, kit.MDB_SHORT), m.Conf(prefix, kit.Keys(kit.MDB_META, kit.MDB_SHORT)))
|
||||
}
|
||||
|
||||
count := 0
|
||||
for _, data := range list {
|
||||
// 导入数据
|
||||
@ -71,7 +75,9 @@ func _hash_import(m *ice.Message, prefix, key, file string) {
|
||||
}
|
||||
func _hash_select(m *ice.Message, prefix, key, field, value string) {
|
||||
fields := strings.Split(kit.Select("time,name", m.Option("fields")), ",")
|
||||
m.Debug("what %v %v", prefix, key, value)
|
||||
m.Richs(prefix, key, value, func(key string, val map[string]interface{}) {
|
||||
m.Debug("what %v %v", prefix, key)
|
||||
if value == kit.MDB_FOREACH {
|
||||
m.Push(key, val, fields)
|
||||
return
|
||||
@ -299,14 +305,20 @@ var Index = &ice.Context{Name: "mdb", Help: "数据模块",
|
||||
_list_delete(m, arg[0], arg[1], arg[3], arg[4])
|
||||
}
|
||||
}},
|
||||
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])
|
||||
case LIST:
|
||||
_list_select(m, arg[0], arg[1], kit.Select("", arg, 3), kit.Select("", arg, 4))
|
||||
}
|
||||
}},
|
||||
EXPORT: {Name: "export conf key type [name]", Help: "导出数据", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
switch file := _file_name(m, arg...); arg[2] {
|
||||
case HASH:
|
||||
_hash_export(m, arg[0], arg[1], file)
|
||||
case LIST:
|
||||
_list_export(m, arg[0], arg[1], file)
|
||||
case DICT:
|
||||
_dict_export(m, arg[0], arg[1], file)
|
||||
}
|
||||
}},
|
||||
IMPORT: {Name: "import conf key type file", Help: "导入数据", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
@ -315,17 +327,6 @@ var Index = &ice.Context{Name: "mdb", Help: "数据模块",
|
||||
_hash_import(m, arg[0], arg[1], file)
|
||||
case LIST:
|
||||
_list_import(m, arg[0], arg[1], file)
|
||||
case DICT:
|
||||
_dict_import(m, arg[0], arg[1], file)
|
||||
}
|
||||
}},
|
||||
|
||||
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 LIST:
|
||||
_list_select(m, arg[0], arg[1], kit.Select("", arg, 3), kit.Select("", arg, 4))
|
||||
case HASH:
|
||||
_hash_select(m, arg[0], arg[1], arg[3], arg[4])
|
||||
}
|
||||
}},
|
||||
},
|
||||
|
@ -277,6 +277,7 @@ func (f *Frame) Start(m *ice.Message, arg ...string) bool {
|
||||
m.Option("_option", ice.MSG_USERNAME)
|
||||
m.Option(ice.MSG_USERNAME, cli.UserName)
|
||||
m.Option(ice.MSG_USERROLE, aaa.ROOT)
|
||||
m.Option(ice.MSG_USERZONE, "boot")
|
||||
aaa.UserRoot(m)
|
||||
default:
|
||||
if s, e := os.Open(arg[0]); !m.Warn(e != nil, "%s", e) {
|
||||
|
1
conf.go
1
conf.go
@ -34,6 +34,7 @@ const ( // MSG
|
||||
MSG_USERPOD = "user.pod"
|
||||
MSG_USERNICK = "user.nick"
|
||||
MSG_USERNAME = "user.name"
|
||||
MSG_USERZONE = "user.zone"
|
||||
MSG_USERROLE = "user.role"
|
||||
MSG_USERDATA = "user.data"
|
||||
MSG_USERADDR = "user.addr"
|
||||
|
@ -98,35 +98,13 @@ var Index = &ice.Context{Name: "chat", Help: "聊天中心",
|
||||
}
|
||||
|
||||
default:
|
||||
// 群组检查
|
||||
m.Richs(RIVER, nil, arg[0], func(key string, value map[string]interface{}) {
|
||||
m.Debug("%v", kit.Value(value, "meta.type"))
|
||||
if kit.Value(value, "meta.type") != "public" {
|
||||
m.Option(ice.MSG_DOMAIN, "R"+arg[0])
|
||||
}
|
||||
|
||||
m.Richs(RIVER, kit.Keys(kit.MDB_HASH, arg[0], USER), m.Option(ice.MSG_USERNAME), func(key string, value map[string]interface{}) {
|
||||
if m.Option(ice.MSG_RIVER, arg[0]); len(arg) > 1 {
|
||||
// 应用检查
|
||||
m.Richs(RIVER, kit.Keys(kit.MDB_HASH, arg[0], TOOL), arg[1], func(key string, value map[string]interface{}) {
|
||||
m.Debug("%v", kit.Value(value, "meta.type"))
|
||||
if kit.Value(value, "meta.type") != "public" {
|
||||
m.Option(ice.MSG_DOMAIN, kit.Keys(m.Option(ice.MSG_DOMAIN), "S"+arg[1]))
|
||||
}
|
||||
|
||||
m.Option(ice.MSG_STORM, arg[1])
|
||||
})
|
||||
}
|
||||
m.Log_AUTH(RIVER, m.Option(ice.MSG_RIVER), STORM, m.Option(ice.MSG_STORM), "domain", m.Option(ice.MSG_DOMAIN))
|
||||
})
|
||||
})
|
||||
switch m.Option(ice.MSG_USERURL) {
|
||||
case "/action":
|
||||
case "/river":
|
||||
if len(arg) > 0 {
|
||||
m.Option(ice.MSG_RIVER, arg[0])
|
||||
arg = arg[1:]
|
||||
}
|
||||
if len(arg) > 0 {
|
||||
if len(arg) > 1 && arg[1] == "storm" {
|
||||
m.Option(ice.MSG_STORM, arg[0])
|
||||
arg = arg[1:]
|
||||
}
|
||||
@ -139,15 +117,37 @@ var Index = &ice.Context{Name: "chat", Help: "聊天中心",
|
||||
m.Option(ice.MSG_STORM, arg[0])
|
||||
arg = arg[1:]
|
||||
}
|
||||
case "/river":
|
||||
case "/action":
|
||||
if len(arg) > 0 {
|
||||
m.Option(ice.MSG_RIVER, arg[0])
|
||||
arg = arg[1:]
|
||||
}
|
||||
if len(arg) > 1 && arg[1] == "storm" {
|
||||
if len(arg) > 0 {
|
||||
m.Option(ice.MSG_STORM, arg[0])
|
||||
arg = arg[1:]
|
||||
}
|
||||
}
|
||||
|
||||
// 群组检查
|
||||
m.Richs(RIVER, nil, m.Option(ice.MSG_RIVER), func(key string, value map[string]interface{}) {
|
||||
if kit.Value(value, "meta.type") == "private" {
|
||||
m.Option(ice.MSG_DOMAIN, "U"+m.Option(ice.MSG_USERNAME))
|
||||
} else if kit.Value(value, "meta.type") != "public" {
|
||||
m.Option(ice.MSG_DOMAIN, "R"+m.Option(ice.MSG_RIVER))
|
||||
}
|
||||
|
||||
if m.Richs(RIVER, kit.Keys(kit.MDB_HASH, m.Option(ice.MSG_RIVER), USER), m.Option(ice.MSG_USERNAME), func(key string, value map[string]interface{}) {
|
||||
// 应用检查
|
||||
m.Richs(RIVER, kit.Keys(kit.MDB_HASH, m.Option(ice.MSG_RIVER), TOOL), m.Option(ice.MSG_STORM), func(key string, value map[string]interface{}) {
|
||||
|
||||
})
|
||||
}) == nil {
|
||||
m.Render(web.STATUS, 403, "not join")
|
||||
m.Option(ice.MSG_USERURL, "")
|
||||
return
|
||||
}
|
||||
})
|
||||
m.Log_AUTH(RIVER, m.Option(ice.MSG_RIVER), STORM, m.Option(ice.MSG_STORM), "domain", m.Option(ice.MSG_DOMAIN))
|
||||
m.Optionv(ice.MSG_CMDS, arg)
|
||||
}
|
||||
}
|
||||
@ -178,6 +178,15 @@ var Index = &ice.Context{Name: "chat", Help: "聊天中心",
|
||||
"node": {Name: "node", Help: "设备", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
}},
|
||||
"user": {Name: "user", Help: "用户", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
m.Richs(RIVER, nil, m.Option(ice.MSG_RIVER), func(key string, value map[string]interface{}) {
|
||||
m.Richs(RIVER, kit.Keys(kit.MDB_HASH, m.Option(ice.MSG_RIVER), USER), kit.MDB_FOREACH, func(key string, value map[string]interface{}) {
|
||||
value = value[kit.MDB_META].(map[string]interface{})
|
||||
m.Push(key, value, []string{kit.MDB_TIME})
|
||||
m.Push(aaa.USERZONE, aaa.UserZone(m, value[aaa.USERNAME]))
|
||||
m.Push(aaa.USERNICK, aaa.UserNick(m, value[aaa.USERNAME]))
|
||||
m.Push(key, value, []string{aaa.USERNAME})
|
||||
})
|
||||
})
|
||||
}},
|
||||
|
||||
"/ocean": {Name: "/ocean", Help: "大海洋", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
|
@ -63,26 +63,26 @@ func init() {
|
||||
}},
|
||||
|
||||
MISS: {Name: "miss name=auto auto 添加:button 导出:button 导入:button", Help: "信息", Meta: kit.Dict(
|
||||
"display", "", "insert", _miss_insert,
|
||||
"display", "", "添加", _miss_insert,
|
||||
), Action: map[string]*ice.Action{
|
||||
mdb.INSERT: {Name: "insert [key value]...", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(mdb.INSERT, m.Prefix(MISS), "", mdb.HASH, arg)
|
||||
m.Cmdy(mdb.INSERT, m.Prefix(MISS), m.Option(ice.MSG_DOMAIN), mdb.HASH, arg)
|
||||
}},
|
||||
mdb.MODIFY: {Name: "modify key value", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(mdb.MODIFY, m.Prefix(MISS), "", mdb.HASH, kit.MDB_NAME, m.Option("name"), arg[0], arg[1])
|
||||
m.Cmdy(mdb.MODIFY, m.Prefix(MISS), m.Option(ice.MSG_DOMAIN), mdb.HASH, kit.MDB_NAME, m.Option("name"), arg[0], arg[1])
|
||||
}},
|
||||
mdb.DELETE: {Name: "delete", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(mdb.DELETE, m.Prefix(MISS), "", mdb.HASH, kit.MDB_NAME, m.Option("name"))
|
||||
m.Cmdy(mdb.DELETE, m.Prefix(MISS), m.Option(ice.MSG_DOMAIN), mdb.HASH, kit.MDB_NAME, m.Option("name"))
|
||||
}},
|
||||
mdb.EXPORT: {Name: "export file", Help: "导出", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(mdb.EXPORT, m.Prefix(MISS), "", mdb.HASH)
|
||||
m.Cmdy(mdb.EXPORT, m.Prefix(MISS), m.Option(ice.MSG_DOMAIN), mdb.HASH)
|
||||
}},
|
||||
mdb.IMPORT: {Name: "import file", Help: "导入", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(mdb.IMPORT, m.Prefix(MISS), "", mdb.HASH)
|
||||
m.Cmdy(mdb.IMPORT, m.Prefix(MISS), m.Option(ice.MSG_DOMAIN), mdb.HASH)
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
m.Option("fields", _miss_select)
|
||||
if msg := m.Cmd(mdb.SELECT, m.Prefix(MISS), "", mdb.HASH, kit.MDB_NAME, kit.Select(kit.MDB_FOREACH, arg, 0)); len(arg) == 0 {
|
||||
if msg := m.Cmd(mdb.SELECT, m.Prefix(MISS), m.Option(ice.MSG_DOMAIN), mdb.HASH, kit.MDB_NAME, kit.Select(kit.MDB_FOREACH, arg, 0)); len(arg) == 0 {
|
||||
msg.Table(func(index int, value map[string]string, head []string) {
|
||||
for _, k := range head {
|
||||
if k == "照片" {
|
||||
@ -111,30 +111,30 @@ func init() {
|
||||
}},
|
||||
|
||||
DATE: {Name: "date id=auto auto 添加:button 导出:button 导入:button", Help: "约会", Meta: kit.Dict(
|
||||
"display", "", "insert", _date_insert,
|
||||
"display", "", "添加", _date_insert,
|
||||
), Action: map[string]*ice.Action{
|
||||
mdb.INSERT: {Name: "insert [key value]...", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(mdb.INSERT, m.Prefix(DATE), "", mdb.LIST, arg)
|
||||
m.Cmdy(mdb.INSERT, m.Prefix(DATE), m.Option(ice.MSG_DOMAIN), mdb.LIST, arg)
|
||||
}},
|
||||
mdb.MODIFY: {Name: "modify key value", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(mdb.MODIFY, m.Prefix(DATE), "", mdb.LIST, kit.MDB_ID, m.Option("id"), arg[0], arg[1])
|
||||
m.Cmdy(mdb.MODIFY, m.Prefix(DATE), m.Option(ice.MSG_DOMAIN), mdb.LIST, kit.MDB_ID, m.Option("id"), arg[0], arg[1])
|
||||
}},
|
||||
mdb.DELETE: {Name: "delete", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
||||
// m.Cmdy(mdb.DELETE, m.Prefix(DATE), "", mdb.LIST, kit.MDB_NAME, m.Option("name"))
|
||||
// m.Cmdy(mdb.DELETE, m.Prefix(DATE), m.Option(ice.MSG_DOMAIN), mdb.LIST, kit.MDB_NAME, m.Option("name"))
|
||||
}},
|
||||
mdb.EXPORT: {Name: "export file", Help: "导出", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(mdb.EXPORT, m.Prefix(DATE), "", mdb.LIST)
|
||||
m.Cmdy(mdb.EXPORT, m.Prefix(DATE), m.Option(ice.MSG_DOMAIN), mdb.LIST)
|
||||
}},
|
||||
mdb.IMPORT: {Name: "import file", Help: "导入", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(mdb.IMPORT, m.Prefix(DATE), "", mdb.LIST)
|
||||
m.Cmdy(mdb.IMPORT, m.Prefix(DATE), m.Option(ice.MSG_DOMAIN), mdb.LIST)
|
||||
}},
|
||||
}, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
if len(arg) == 0 {
|
||||
m.Option("fields", _date_select)
|
||||
m.Cmdy(mdb.SELECT, m.Prefix(DATE), "", mdb.LIST)
|
||||
m.Cmdy(mdb.SELECT, m.Prefix(DATE), m.Option(ice.MSG_DOMAIN), mdb.LIST)
|
||||
return
|
||||
}
|
||||
m.Cmdy(mdb.SELECT, m.Prefix(DATE), "", mdb.LIST, kit.MDB_ID, arg[0])
|
||||
m.Cmdy(mdb.SELECT, m.Prefix(DATE), m.Option(ice.MSG_DOMAIN), mdb.LIST, kit.MDB_ID, arg[0])
|
||||
}},
|
||||
},
|
||||
}, nil)
|
||||
|
@ -95,10 +95,8 @@ func init() {
|
||||
RIVER: {Name: "river", Help: "群组", Value: kit.Data(
|
||||
"template", kit.Dict(
|
||||
"base", kit.Dict(
|
||||
"main", []interface{}{
|
||||
"web.code.inner",
|
||||
"web.code.dream",
|
||||
"web.code.space",
|
||||
"admin", []interface{}{
|
||||
"web.chat.user",
|
||||
},
|
||||
),
|
||||
),
|
||||
|
@ -97,6 +97,14 @@ func init() {
|
||||
web.SHARE: {Name: "share name", Help: "共享", Hand: func(m *ice.Message, arg ...string) {
|
||||
_storm_share(m, m.Option(ice.MSG_RIVER), m.Option(ice.MSG_STORM), arg[0])
|
||||
}},
|
||||
"save": {Name: "save", Help: "保存", Hand: func(m *ice.Message, arg ...string) {
|
||||
prefix := kit.Keys(kit.MDB_HASH, m.Option(ice.MSG_RIVER), TOOL, kit.MDB_HASH, m.Option(ice.MSG_STORM))
|
||||
for i, v := range arg {
|
||||
args := kit.Parse(nil, "", kit.Split(v)...)
|
||||
m.Conf(RIVER, kit.Keys(prefix, kit.MDB_LIST, i, kit.MDB_META, "args"), args)
|
||||
m.Debug("fuck %v %v", kit.Keys(prefix, kit.MDB_LIST, i), args)
|
||||
}
|
||||
}},
|
||||
TOOL: {Name: "tool [pod ctx cmd help]...", Help: "添加工具", Hand: func(m *ice.Message, arg ...string) {
|
||||
_storm_tool(m, m.Option(ice.MSG_RIVER), m.Option(ice.MSG_STORM), arg...)
|
||||
}},
|
||||
|
@ -248,7 +248,7 @@ var Index = &ice.Context{Name: "mall", Help: "贸易中心",
|
||||
}},
|
||||
ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Save(ASSET) }},
|
||||
|
||||
ASSET: {Name: "asset account=auto id=auto auto 支出:button 转账:button 收入:button", Help: "资产", Meta: kit.Dict(
|
||||
ASSET: {Name: "asset account=auto id=auto auto 支出:button 转账:button 收入:button 导出:button 导入:button", Help: "资产", Meta: kit.Dict(
|
||||
"支出", _input_spend, "转账", _input_trans, "收入", _input_bonus,
|
||||
), Action: map[string]*ice.Action{
|
||||
"spend": {Name: "insert [key value]...", Help: "支出", Hand: func(m *ice.Message, arg ...string) {
|
||||
|
@ -308,7 +308,7 @@ var Index = &ice.Context{Name: "team", Help: "团队中心",
|
||||
}},
|
||||
ice.CTX_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Save(TASK) }},
|
||||
|
||||
TASK: {Name: "task zone=auto id=auto auto 添加:button", Help: "任务", Meta: kit.Dict(
|
||||
TASK: {Name: "task zone=auto id=auto auto 添加:button 导出:button 导入:button", Help: "任务", Meta: kit.Dict(
|
||||
"添加", _task_inputs,
|
||||
), Action: map[string]*ice.Action{
|
||||
mdb.INSERT: {Name: "insert [key value]...", Help: "添加", Hand: func(m *ice.Message, arg ...string) {
|
||||
@ -362,6 +362,7 @@ var Index = &ice.Context{Name: "team", Help: "团队中心",
|
||||
PLAN: {Name: "plan scale:select=day|week|month|year|long begin_time=@date auto 添加:button", Help: "计划", Meta: kit.Dict(
|
||||
"添加", _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])
|
||||
|
@ -8,7 +8,6 @@ import (
|
||||
"github.com/shylinux/icebergs/base/nfs"
|
||||
"github.com/shylinux/icebergs/base/web"
|
||||
"github.com/shylinux/icebergs/core/code"
|
||||
"github.com/shylinux/icebergs/core/wiki"
|
||||
kit "github.com/shylinux/toolkits"
|
||||
|
||||
"os"
|
||||
@ -120,9 +119,7 @@ var Index = &ice.Context{Name: "git", Help: "代码库",
|
||||
})
|
||||
m.Sort("name")
|
||||
}},
|
||||
"total": {Name: "total name=auto auto", Help: "提交统计", Meta: kit.Dict(
|
||||
mdb.PLUGIN, wiki.DataPlugin,
|
||||
), Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
"total": {Name: "total name=auto auto", Help: "提交统计", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
if len(arg) > 0 {
|
||||
// 提交详情
|
||||
m.Richs("repos", nil, arg[0], func(key string, value map[string]interface{}) {
|
||||
|
@ -5,3 +5,6 @@ refer "官网" `
|
||||
文档 https://git-scm.com/docs
|
||||
源码 https://github.com/git/git
|
||||
`
|
||||
|
||||
field status web.code.git.status
|
||||
field total web.code.git.total
|
||||
|
@ -289,6 +289,7 @@ var Index = &ice.Context{Name: "lark", Help: "机器人",
|
||||
}},
|
||||
TALK: {Name: "talk text", Help: "聊天", Hand: func(m *ice.Message, c *ice.Context, key string, arg ...string) {
|
||||
// 用户权限
|
||||
m.Option(ice.MSG_USERZONE, LARK)
|
||||
m.Option(ice.MSG_USERNAME, m.Option(OPEN_ID))
|
||||
m.Option(ice.MSG_USERNICK, aaa.UserNick(m, m.Option(ice.MSG_USERNAME)))
|
||||
m.Option(ice.MSG_USERROLE, aaa.UserRole(m, m.Option(ice.MSG_USERNAME)))
|
||||
|
@ -12,6 +12,8 @@ import (
|
||||
"path"
|
||||
)
|
||||
|
||||
const MP = "mp"
|
||||
|
||||
var Index = &ice.Context{Name: "mp", Help: "小程序",
|
||||
Caches: map[string]*ice.Cache{},
|
||||
Configs: map[string]*ice.Config{
|
||||
@ -40,6 +42,7 @@ var Index = &ice.Context{Name: "mp", Help: "小程序",
|
||||
"appid", m.Conf("login", "meta.appid"), "secret", m.Conf("login", "meta.appmm"))
|
||||
|
||||
// 用户登录
|
||||
m.Option(ice.MSG_USERZONE, MP)
|
||||
m.Echo(aaa.SessCreate(msg, msg.Append("openid"), aaa.UserRole(msg, msg.Append("openid"))))
|
||||
|
||||
case "info":
|
||||
|
@ -73,6 +73,8 @@ func action(m *ice.Message) {
|
||||
m.Info("what %v", m.Result())
|
||||
}
|
||||
|
||||
const WX = "wx"
|
||||
|
||||
var Index = &ice.Context{Name: "wx", Help: "公众号",
|
||||
Caches: map[string]*ice.Cache{},
|
||||
Configs: map[string]*ice.Config{
|
||||
@ -120,6 +122,7 @@ var Index = &ice.Context{Name: "wx", Help: "公众号",
|
||||
parse(m)
|
||||
|
||||
// 用户登录
|
||||
m.Option(ice.MSG_USERZONE, WX)
|
||||
m.Option(ice.MSG_SESSID, aaa.SessCreate(m, m.Append("FromUserName"), aaa.UserRole(m, m.Append("FromUserName"))))
|
||||
|
||||
switch m.Option("MsgType") {
|
||||
|
@ -11,6 +11,7 @@ chapter "应用"
|
||||
field "runtime" cli.runtime
|
||||
field "asset" web.mall.asset args `[ ]`
|
||||
field "task" web.team.task args `[ ]`
|
||||
field "miss" web.chat.meet.miss args `[ ]`
|
||||
|
||||
chapter "项目"
|
||||
section "icebergs"
|
||||
|
Loading…
x
Reference in New Issue
Block a user