From ce5e499ce174a9495b1c382a0ae7658791d05d49 Mon Sep 17 00:00:00 2001 From: shy Date: Wed, 13 Mar 2024 19:40:30 +0800 Subject: [PATCH] add some --- base/web/matrix.go | 12 +++++++++--- base/web/spide.go | 9 +++++---- base/web/store.go | 2 +- base/web/token.go | 7 ++++++- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/base/web/matrix.go b/base/web/matrix.go index 156fc0ef..b2579daa 100644 --- a/base/web/matrix.go +++ b/base/web/matrix.go @@ -97,9 +97,15 @@ func init() { STATUS, "源码", html.INPUT, kit.Dict(MYSELF, "本机", ORIGIN, "主机"), ), ), Actions: ice.MergeActions(ice.Actions{ - mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) { m.Cmdy(DREAM, mdb.INPUTS, arg) }}, - mdb.CREATE: {Name: "create name*=hi icons repos binary template", Hand: func(m *ice.Message, arg ...string) { - m.Cmd(DREAM, mdb.CREATE, arg) + mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) { m.Cmdy(SPIDE, mdb.INPUTS, arg) }}, + mdb.CREATE: {Name: "create origin* name icons", Hand: func(m *ice.Message, arg ...string) { + if u := kit.ParseURL(m.Option(ORIGIN)); m.Warn(u.Query().Get(TOKEN) == "", ice.ErrNotValid, TOKEN) { + return + } else { + m.OptionDefault(mdb.NAME, kit.Split(u.Hostname(),".")[0]) + } + m.Cmd(SPIDE, mdb.CREATE, mdb.NAME, "", arg, mdb.TYPE, nfs.REPOS) + m.Cmd(SPIDE, DEV_CREATE_TOKEN, ice.Maps{CLIENT_NAME: m.Option(mdb.NAME)}) }}, mdb.REMOVE: {Hand: func(m *ice.Message, arg ...string) { _matrix_dream(m, nfs.TRASH); _matrix_dream(m, "") }}, cli.START: {Hand: func(m *ice.Message, arg ...string) { _matrix_dream(m, "") }}, diff --git a/base/web/spide.go b/base/web/spide.go index 24e7f3bc..e458d777 100644 --- a/base/web/spide.go +++ b/base/web/spide.go @@ -24,12 +24,12 @@ import ( kit "shylinux.com/x/toolkits" ) -func _spide_create(m *ice.Message, name, link, types, icons string) { +func _spide_create(m *ice.Message, name, link, types, icons, token string) { if u, e := url.Parse(link); !m.WarnNotValid(e != nil || link == "", link) { dir, file := path.Split(u.EscapedPath()) m.Logs(mdb.INSERT, SPIDE, name, LINK, link) mdb.HashSelectUpdate(m, mdb.HashCreate(m, CLIENT_NAME, name), func(value ice.Map) { - value[mdb.ICONS] = icons + value[mdb.ICONS], value[TOKEN] = icons, token value[SPIDE_CLIENT] = kit.Dict(mdb.NAME, name, mdb.TYPE, types, SPIDE_METHOD, http.MethodGet, URL, link, ORIGIN, u.Scheme+"://"+u.Host, tcp.PROTOCOL, u.Scheme, tcp.HOSTNAME, u.Hostname(), tcp.HOST, u.Host, nfs.PATH, dir, nfs.FILE, file, cli.TIMEOUT, "300s", @@ -336,8 +336,9 @@ func init() { } } }}, - mdb.CREATE: {Name: "create name* origin* type icons", Hand: func(m *ice.Message, arg ...string) { - _spide_create(m, m.Option(mdb.NAME), m.Option(ORIGIN), m.Option(mdb.TYPE), m.OptionDefault(mdb.ICONS, nfs.USR_ICONS_VOLCANOS)) + mdb.CREATE: {Name: "create name origin* type icons token", Hand: func(m *ice.Message, arg ...string) { + u := kit.ParseURL(m.Option(ORIGIN)) + _spide_create(m, m.OptionDefault(mdb.NAME, u.Hostname()), m.Option(ORIGIN), m.Option(mdb.TYPE), m.OptionDefault(mdb.ICONS, nfs.USR_ICONS_VOLCANOS), m.OptionDefault(TOKEN, u.Query().Get(TOKEN))) }}, COOKIE: {Name: "cookie key* value", Help: "状态量", Hand: func(m *ice.Message, arg ...string) { mdb.HashModify(m, m.OptionSimple(CLIENT_NAME), kit.Keys(COOKIE, m.Option(mdb.KEY)), m.Option(mdb.VALUE)) diff --git a/base/web/store.go b/base/web/store.go index 6ce5e7eb..a044249a 100644 --- a/base/web/store.go +++ b/base/web/store.go @@ -20,7 +20,7 @@ func init() { Index.MergeCommands(ice.Commands{ STORE: {Name: "store refresh", Help: "商店", Role: aaa.VOID, Actions: ice.MergeActions(ice.Actions{ mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) { m.Cmdy(SPIDE, mdb.INPUTS, arg) }}, - mdb.CREATE: {Name: "create name* icons origin*", Hand: func(m *ice.Message, arg ...string) { + mdb.CREATE: {Name: "create origin* name icons", Hand: func(m *ice.Message, arg ...string) { m.Cmd(SPIDE, mdb.CREATE, m.OptionSimple("name,origin,icons"), mdb.TYPE, nfs.REPOS) }}, mdb.REMOVE: {Hand: func(m *ice.Message, arg ...string) { diff --git a/base/web/token.go b/base/web/token.go index 185980aa..47fd24c7 100644 --- a/base/web/token.go +++ b/base/web/token.go @@ -17,7 +17,12 @@ const TOKEN = "token" func init() { Index.MergeCommands(ice.Commands{ - TOKEN: {Help: "令牌桶", Actions: mdb.HashAction(mdb.SHORT, mdb.UNIQ, mdb.EXPIRE, mdb.MONTH, html.CHECKBOX, ice.TRUE)}, + TOKEN: {Help: "令牌桶", Actions: mdb.HashAction(mdb.SHORT, mdb.UNIQ, mdb.EXPIRE, mdb.MONTH, html.CHECKBOX, ice.TRUE), Hand: func(m *ice.Message, arg ...string) { + mdb.HashSelect(m, arg...) + if len(arg) > 0 { + m.EchoScript(kit.MergeURL2(m.Option(ice.MSG_USERWEB), nfs.PS, TOKEN, arg[0])) + } + }}, }) }