diff --git a/base/web/dream.go b/base/web/dream.go index 06c23d0e..4d38a321 100644 --- a/base/web/dream.go +++ b/base/web/dream.go @@ -447,10 +447,14 @@ func DreamListSpide(m *ice.Message, list []string, types string, cb func(dev, or m.Cmds(DREAM).Table(func(value ice.Maps) { kit.If(value[mdb.TYPE] == types, func() { list = append(list, value[mdb.NAME]) }) }) + has := map[string]bool{} GoToast(m, "", func(toast func(name string, count, total int)) []string { kit.For(list, func(index int, dev string) { toast(dev, index, len(list)) - cb(dev, m.Cmdv(SPIDE, dev, CLIENT_ORIGIN)) + if origin := m.Cmdv(SPIDE, dev, CLIENT_ORIGIN); !has[origin] { + has[origin] = true + cb(dev, origin) + } }) return nil }) diff --git a/core/code/js.go b/core/code/js.go index a0d0e1ca..2f90123a 100644 --- a/core/code/js.go +++ b/core/code/js.go @@ -14,7 +14,7 @@ import ( func _js_show(m *ice.Message, arg ...string) { if arg[1] == MAIN_JS { - ctx.ProcessField(m, web.CHAT_IFRAME, kit.Simple(m.MergePodCmd("", web.ADMIN))) + m.EchoIFrame(m.MergePodCmd("", web.ADMIN)) } else if arg[2] == ice.USR_VOLCANOS { if strings.HasPrefix(arg[1], "publish/client/mp/") { ctx.ProcessField(m, "web.chat.wx.ide", nil)