From c3a6d472b32a98eee5b569c7a1b8e5dcb222f907 Mon Sep 17 00:00:00 2001 From: shaoying Date: Sun, 27 Dec 2020 03:41:31 +0800 Subject: [PATCH] add share --- base/web/share.go | 9 +++++++-- core/chat/action.go | 22 +++++++++++++++++----- misc/chrome/cache.go | 5 +++-- misc/chrome/chrome.go | 2 +- misc/chrome/chrome.shy | 4 ++-- misc/chrome/favor.go | 9 ++++----- misc/chrome/spide.go | 4 ++-- misc/chrome/sync.go | 8 ++++---- 8 files changed, 40 insertions(+), 23 deletions(-) diff --git a/base/web/share.go b/base/web/share.go index 054563cc..782b600f 100644 --- a/base/web/share.go +++ b/base/web/share.go @@ -102,7 +102,7 @@ func init() { }}, "/share/": {Name: "/share/", Help: "共享链", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { m.Option(mdb.FIELDS, kit.Select("time,hash,userrole,username,river,storm,type,name,text")) - switch msg := m.Cmd(mdb.SELECT, SHARE, "", mdb.HASH, kit.MDB_HASH, arg[0]); msg.Append(kit.MDB_TYPE) { + switch msg := m.Cmd(mdb.SELECT, SHARE, "", mdb.HASH, kit.MDB_HASH, kit.Select(m.Option("share"), arg, 0)); msg.Append(kit.MDB_TYPE) { case "login": switch kit.Select("", arg, 1) { case "share": @@ -124,6 +124,9 @@ func init() { } } m.Render(ice.RENDER_QRCODE, kit.MergeURL2(m.Option(ice.MSG_USERWEB), "/", SHARE, arg[0], list)) + default: + m.Render("redirect", "/", "river", msg.Append("river")) + } case "storm": switch kit.Select("", arg, 1) { @@ -134,7 +137,9 @@ func init() { list = append(list, k, msg.Append(k)) } } - m.Render(ice.RENDER_QRCODE, kit.MergeURL2(m.Option(ice.MSG_USERWEB), "/", SHARE, arg[0], list)) + m.Render(ice.RENDER_QRCODE, kit.MergeURL2(m.Option(ice.MSG_USERWEB), "/page/share.html", SHARE, arg[0], list)) + default: + m.Render("redirect", "/page/share.html", "share", m.Option("share")) } } }}, diff --git a/core/chat/action.go b/core/chat/action.go index 05e7039b..2617d582 100644 --- a/core/chat/action.go +++ b/core/chat/action.go @@ -109,13 +109,25 @@ func init() { } }}, }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { - if m.Warn(m.Option(ice.MSG_USERNAME) == "", ice.ErrNotLogin) { - return // 没有登录 - } - if m.Warn(!_action_right(m, m.Option(ice.MSG_RIVER, arg[0]), m.Option(ice.MSG_STORM, arg[1])), ice.ErrNotAuth) { - return // 没有授权 + if arg[0] == "_share" { + switch msg := m.Cmd(web.SHARE, arg[1]); msg.Append("type") { + case "storm": + m.Debug(msg.Format("meta")) + arg[0] = msg.Append("river") + arg[1] = msg.Append("storm") + m.Option("title", msg.Append("name")) + } + } else { + if m.Warn(m.Option(ice.MSG_USERNAME) == "", ice.ErrNotLogin) { + return // 没有登录 + } + if m.Warn(!_action_right(m, arg[0], arg[1]), ice.ErrNotAuth) { + return // 没有授权 + } } + m.Option(ice.MSG_RIVER, arg[0]) + m.Option(ice.MSG_STORM, arg[1]) if len(arg) == 2 { _action_list(m, arg[0], arg[1]) return //命令列表 diff --git a/misc/chrome/cache.go b/misc/chrome/cache.go index 9c8d4ecb..c6439e56 100644 --- a/misc/chrome/cache.go +++ b/misc/chrome/cache.go @@ -30,7 +30,7 @@ func init() { if m.Cmdy(mdb.SELECT, m.Prefix(CACHE), "", mdb.HASH, kit.MDB_LINK, m.Option(kit.MDB_LINK)); len(m.Appendv(kit.MDB_TOTAL)) > 0 { return // 已经下载 } - m.Cmd(mdb.INSERT, m.Prefix(CACHE), "", mdb.HASH, + h := m.Cmd(mdb.INSERT, m.Prefix(CACHE), "", mdb.HASH, kit.MDB_LINK, m.Option(kit.MDB_LINK), kit.MDB_TYPE, m.Option(kit.MDB_TYPE), kit.MDB_NAME, m.Option(kit.MDB_NAME), @@ -38,7 +38,8 @@ func init() { ) m.Option("progress", m.Prefix(CACHE), "", m.Option(kit.MDB_LINK)) - msg := m.Cmd(web.SPIDE, web.SPIDE_DEV, web.SPIDE_CACHE, web.SPIDE_GET, m.Option(kit.MDB_LINK)) + m.Option(web.DOWNLOAD_CB, m.Prefix(CACHE), "", kit.Keys(kit.MDB_HASH, h)) + msg := m.Cmd("web.spide", web.SPIDE_DEV, web.SPIDE_CACHE, web.SPIDE_GET, m.Option(kit.MDB_LINK)) p := path.Join(m.Conf(m.Prefix(CACHE), kit.META_PATH), m.Option(kit.MDB_NAME)) m.Cmdy(nfs.LINK, p, msg.Append(kit.MDB_FILE)) diff --git a/misc/chrome/chrome.go b/misc/chrome/chrome.go index 88bd2ddd..45645dd8 100644 --- a/misc/chrome/chrome.go +++ b/misc/chrome/chrome.go @@ -17,7 +17,7 @@ var Index = &ice.Context{Name: CHROME, Help: "浏览器", 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() }}, - CHROME: {Name: "chrome wid url auto 启动 构建 下载", Help: "浏览器", Action: map[string]*ice.Action{ + CHROME: {Name: "chrome wid tid url auto 启动 构建 下载", Help: "浏览器", Action: map[string]*ice.Action{ "install": {Name: "install", Help: "下载", Hand: func(m *ice.Message, arg ...string) { }}, "build": {Name: "build", Help: "构建", Hand: func(m *ice.Message, arg ...string) { diff --git a/misc/chrome/chrome.shy b/misc/chrome/chrome.shy index bfa76b91..52bc8225 100644 --- a/misc/chrome/chrome.shy +++ b/misc/chrome/chrome.shy @@ -11,8 +11,8 @@ field chrome web.code.chrome.chrome chapter "应用" field "浏览器" web.space -field "收藏夹" web.code.chrome.spide -field "收藏夹" web.code.chrome.cache +field "蜘蛛侠" web.code.chrome.spide +field "缓存池" web.code.chrome.cache field "收藏夹" web.code.chrome.favor field "同步流" web.code.chrome.sync diff --git a/misc/chrome/favor.go b/misc/chrome/favor.go index a8b39a5d..04f735ce 100644 --- a/misc/chrome/favor.go +++ b/misc/chrome/favor.go @@ -16,14 +16,13 @@ func init() { )}, }, Commands: map[string]*ice.Command{ - FAVOR: {Name: "favor topic id auto 创建 导出 导入", Help: "收藏夹", Action: map[string]*ice.Action{ + FAVOR: {Name: "favor topic id auto create export import", Help: "收藏夹", Action: map[string]*ice.Action{ mdb.CREATE: {Name: "create topic", Help: "创建", Hand: func(m *ice.Message, arg ...string) { m.Cmdy(mdb.INSERT, m.Prefix(FAVOR), "", mdb.HASH, arg) }}, mdb.INSERT: {Name: "insert topic=数据结构 name=hi text=hello", Help: "添加", Hand: func(m *ice.Message, arg ...string) { - m.Richs(m.Prefix(FAVOR), "", m.Option(kit.MDB_TOPIC), func(key string, value map[string]interface{}) { - m.Cmdy(mdb.INSERT, m.Prefix(FAVOR), kit.Keys(kit.MDB_HASH, key), mdb.LIST, arg) - }) + m.Cmdy(mdb.INSERT, m.Prefix(FAVOR), "", mdb.HASH, kit.MDB_TOPIC, m.Option(kit.MDB_TOPIC)) + m.Cmdy(mdb.INSERT, m.Prefix(FAVOR), kit.Keys(kit.MDB_HASH, kit.Hashs(m.Option(kit.MDB_TOPIC))), mdb.LIST, arg) }}, mdb.MODIFY: {Name: "modify", Help: "编辑", Hand: func(m *ice.Message, arg ...string) { m.Richs(m.Prefix(FAVOR), "", m.Option(kit.MDB_TOPIC), func(key string, value map[string]interface{}) { @@ -56,7 +55,7 @@ func init() { } m.Option(mdb.FIELDS, "time,count,topic") m.Cmdy(mdb.SELECT, m.Prefix(FAVOR), "", mdb.HASH) - m.PushAction("删除") + m.PushAction(mdb.REMOVE) }}, }, }) diff --git a/misc/chrome/spide.go b/misc/chrome/spide.go index 22efad82..32162890 100644 --- a/misc/chrome/spide.go +++ b/misc/chrome/spide.go @@ -19,7 +19,7 @@ func init() { Commands: map[string]*ice.Command{ SPIDE: {Name: "spide wid tid cmd auto", Help: "网页爬虫", Action: map[string]*ice.Action{ "download": {Name: "download", Help: "下载", Hand: func(m *ice.Message, arg ...string) { - m.Cmd(m.Prefix(CACHE), mdb.CREATE, arg) + m.Cmd(CACHE, mdb.CREATE, arg) }}, }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { switch msg := m.Cmd(web.SPACE, CHROME, CHROME, arg); kit.Select(SPIDE, arg, 2) { @@ -29,7 +29,7 @@ func init() { m.Push(kit.MDB_TIME, value[kit.MDB_TIME]) m.Push(kit.MDB_TYPE, value[kit.MDB_TYPE]) m.Push(kit.MDB_NAME, value[kit.MDB_NAME]) - m.PushRender("action", "button", "下载") + m.PushButton("download") m.PushRender(kit.MDB_TEXT, value[kit.MDB_TYPE], value[kit.MDB_LINK]) m.Push(kit.MDB_LINK, value[kit.MDB_LINK]) }) diff --git a/misc/chrome/sync.go b/misc/chrome/sync.go index 2ad8f192..49312558 100644 --- a/misc/chrome/sync.go +++ b/misc/chrome/sync.go @@ -17,7 +17,7 @@ func init() { )}, }, Commands: map[string]*ice.Command{ - SYNC: {Name: "sync id auto 导出 导入", Help: "同步流", Action: map[string]*ice.Action{ + SYNC: {Name: "sync id auto export import", Help: "同步流", Action: map[string]*ice.Action{ mdb.EXPORT: {Name: "export", Help: "导出", Hand: func(m *ice.Message, arg ...string) { m.Cmdy(mdb.EXPORT, m.Prefix(SYNC), "", mdb.LIST) }}, @@ -39,7 +39,7 @@ func init() { m.Option("cache.field", kit.MDB_ID) m.Option("cache.value", arg[0]) } else { - defer m.PushAction("收藏") + defer m.PushAction(FAVOR) if m.Option("_control", "page"); m.Option("cache.limit") == "" { m.Option("cache.limit", "10") } @@ -53,8 +53,8 @@ func init() { }}, "/crx": {Name: "/crx", Help: "插件", Action: map[string]*ice.Action{ web.HISTORY: {Name: "history", Help: "历史记录", Hand: func(m *ice.Message, arg ...string) { - // m.Cmdy(web.SPIDE, web.SPIDE_SELF, "/code/chrome/sync", - // kit.MDB_NAME, arg[1], kit.MDB_TEXT, arg[2]) + m.Cmdy("web.spide", web.SPIDE_SELF, "/code/chrome/sync", + kit.MDB_NAME, arg[1], kit.MDB_TEXT, arg[2]) }}, }, Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) { }},