From 001cbfd713dcb64bc446dc8400b47b45db03ff4b Mon Sep 17 00:00:00 2001 From: shy Date: Mon, 16 Oct 2023 18:27:49 +0800 Subject: [PATCH] add some --- base/web/dream.go | 2 +- base/web/option.go | 1 + base/web/space.go | 5 ++--- core/chat/location.go | 16 +++++++++------- core/code/autogen.go | 3 +++ logs.go | 6 ++++-- 6 files changed, 20 insertions(+), 13 deletions(-) diff --git a/base/web/dream.go b/base/web/dream.go index 52e531e1..31d31f0e 100644 --- a/base/web/dream.go +++ b/base/web/dream.go @@ -258,7 +258,7 @@ func init() { cli.STOP: {Hand: func(m *ice.Message, arg ...string) { gdb.Event(m, DREAM_STOP, arg) m.Cmd(SPACE, mdb.MODIFY, m.OptionSimple(mdb.NAME), mdb.STATUS, cli.STOP) - m.Go(func() { m.Cmd(SPACE, m.Option(mdb.NAME), ice.EXIT) }) + m.Cmd(SPACE, m.Option(mdb.NAME), ice.EXIT) m.Sleep300ms() }}, nfs.TRASH: {Hand: func(m *ice.Message, arg ...string) { diff --git a/base/web/option.go b/base/web/option.go index 578d7eff..08f6c568 100644 --- a/base/web/option.go +++ b/base/web/option.go @@ -72,6 +72,7 @@ func PushPodCmd(m *ice.Message, cmd string, arg ...string) { kit.For(list, func(index int, space string) { toast(space, index, len(list)) m.Cmd(SPACE, space, kit.Dict(ice.MSG_USERPOD, space), kit.Select(m.PrefixKey(), cmd), arg).Table(func(index int, val ice.Maps, head []string) { + kit.If(!kit.IsIn(SPACE, head...), func() { head = append(head, SPACE) }) val[SPACE] = kit.Keys(space, val[SPACE]) m.Push("", val, head) }) diff --git a/base/web/space.go b/base/web/space.go index 3815d330..73bc80ce 100644 --- a/base/web/space.go +++ b/base/web/space.go @@ -89,7 +89,6 @@ func _space_handle(m *ice.Message, safe bool, name string, c *websocket.Conn) { break } msg := m.Spawn(b) - // msg.Option(ice.LOG_TRACEID, kit.Split(msg.Option(ice.LOG_TRACEID), "-")[0]+"-"+ice.Info.NodeName) if safe { // 下行权限 msg.OptionDefault(ice.MSG_USERROLE, aaa.UserRole(msg, msg.Option(ice.MSG_USERNAME))) } else { // 上行权限 @@ -243,9 +242,9 @@ func init() { _space_dial(m, m.Option(ice.DEV), kit.Select(ice.Info.NodeName, m.Option(mdb.NAME)), arg...) }}, mdb.REMOVE: {Hand: func(m *ice.Message, arg ...string) { - defer mdb.HashModifyDeferRemove(m, m.OptionSimple(mdb.NAME), mdb.STATUS, cli.STOP)() + mdb.HashModify(m, m.OptionSimple(mdb.NAME), mdb.STATUS, cli.STOP) m.Cmd("", m.Option(mdb.NAME), ice.EXIT) - m.Sleep3s() + m.Sleep300ms() }}, DOMAIN: {Hand: func(m *ice.Message, arg ...string) { m.Echo(_space_domain(m)) }}, LOGIN: {Help: "授权", Hand: func(m *ice.Message, arg ...string) { diff --git a/core/chat/location.go b/core/chat/location.go index 5c5f53ee..d09eaa5e 100644 --- a/core/chat/location.go +++ b/core/chat/location.go @@ -4,7 +4,6 @@ import ( "net/http" ice "shylinux.com/x/icebergs" - "shylinux.com/x/icebergs/base/aaa" "shylinux.com/x/icebergs/base/ctx" "shylinux.com/x/icebergs/base/mdb" "shylinux.com/x/icebergs/base/nfs" @@ -22,14 +21,17 @@ 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, 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) + res := kit.UnMarshal(m.Cmdx(web.SPIDE, LOCATION, web.SPIDE_RAW, http.MethodGet, api, mdb.KEY, mdb.Config(m, web.TOKEN), arg)) + m.Warn(kit.Format(kit.Value(res, mdb.STATUS)) != "0", kit.Format(res)) + m.Debug("what %v %v", api, kit.Formats(res)) + return res })) } Index.MergeCommands(ice.Commands{ LOCATION: {Help: "地图", Icon: "Maps.png", Actions: ice.MergeActions(ice.Actions{ + ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) { + m.Cmd(web.SPIDE, mdb.CREATE, LOCATION, "https://apis.map.qq.com/ws/") + }}, "explore": {Help: "周边", Hand: func(m *ice.Message, arg ...string) { m.Echo(get(m, "place/v1/explore", m.OptionSimple("keyword,boundary,page_index"))) }}, @@ -46,7 +48,7 @@ func init() { kit.If(arg[0] == mdb.TYPE, func() { m.Push(arg[0], LOCATION) }) }}, FAVOR_TABLES: {Hand: func(m *ice.Message, arg ...string) { - kit.If(m.Option(mdb.TYPE) == LOCATION, func() { m.PushButton(LOCATION) }) + kit.If(m.Option(mdb.TYPE) == LOCATION, func() { m.PushButton(kit.Dict(LOCATION, "地图")) }) }}, FAVOR_ACTION: {Hand: func(m *ice.Message, arg ...string) { kit.If(m.Option(mdb.TYPE) == LOCATION, func() { ctx.ProcessField(m, m.PrefixKey(), []string{m.Option(mdb.TEXT)}, arg...) }) @@ -54,7 +56,7 @@ func init() { }, FavorAction(), mdb.ExportHashAction(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)...) // 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(LOCATION, get(m, "location/v1/ip", aaa.IP, m.Option(ice.MSG_USERIP))) ctx.DisplayLocal(m.Options(nfs.SCRIPT, kit.MergeURL(mdb.Config(m, nfs.SCRIPT), mdb.KEY, mdb.Config(m, web.TOKEN))), "") }}, }) diff --git a/core/code/autogen.go b/core/code/autogen.go index a1efd86d..5a8d46dd 100644 --- a/core/code/autogen.go +++ b/core/code/autogen.go @@ -124,6 +124,9 @@ func init() { m.Cmdy(nfs.DIR, ice.ETC_MISS_SH).Cmdy(nfs.CAT, ice.ETC_MISS_SH) }}, nfs.MODULE: {Name: "module name*=hi help type*=Hash,Zone,Data,Lang,Code main*=main.go@key zone key", Help: "模块", Hand: func(m *ice.Message, arg ...string) { + if m.Warn(!nfs.Exists(m, kit.Path(".git")), ice.ErrNotValid, "未初始化代码库") { + return + } m.OptionDefault(mdb.ZONE, m.Option(mdb.NAME), mdb.HELP, m.Option(mdb.NAME)) m.OptionDefault(mdb.KEY, Prefix(m.Option(mdb.ZONE), m.Option(mdb.NAME))) m.Option(nfs.FILE, path.Join(m.Option(mdb.ZONE), kit.Keys(m.Option(mdb.NAME), GO))) diff --git a/logs.go b/logs.go index cb810561..7d18051a 100644 --- a/logs.go +++ b/logs.go @@ -160,8 +160,10 @@ func (m *Message) IsErr(arg ...string) bool { } func (m *Message) IsErrNotFound() bool { return m.IsErr(ErrNotFound) } func (m *Message) Debug(str string, arg ...Any) { - kit.Format(str == "", func() { str = m.FormatMeta() }) - m.log(LOG_DEBUG, str, arg...) + if m.Option(MSG_DEBUG) == TRUE { + kit.Format(str == "", func() { str = m.FormatMeta() }) + m.log(LOG_DEBUG, str, arg...) + } } func (m *Message) FormatTaskMeta() task.Meta {