diff --git a/const.js b/const.js index 9b422c71..23b34a31 100644 --- a/const.js +++ b/const.js @@ -76,6 +76,7 @@ var mdb = {FOREACH: "*", RANDOMS: "%", } var web = {CHAT: "chat", PORTAL: "portal", STUDIO: "studio", SERVICE: "service", VENDOR: "vendor", + PORTAL: "portal", DESKTOP: "desktop", SERVE: "serve", SPACE: "space", ROUTE: "route", DREAM: "dream", SPIDE: "spide", TOKEN: "token", SHARE: "share", COUNT: "count", STATS: "stats", ADMIN: "admin", @@ -104,7 +105,6 @@ var web = {CHAT: "chat", PORTAL: "portal", STUDIO: "studio", SERVICE: "service", WIKI_WORD: "web.wiki.word", WIKI_DRAW: "web.wiki.draw", WIKI_PORTAL: "web.wiki.portal", - CHAT_PORTAL: "web.chat.portal", CHAT_HEADER: "web.chat.header", CHAT_IFRAME: "web.chat.iframe", CHAT_OAUTH_CLIENT: "web.chat.oauth.client", @@ -175,7 +175,6 @@ var nfs = { SHARE_LOCAL: "/share/local/", SHARE_CACHE: "/share/cache/", WIKI_PORTAL: "/wiki/portal/", - CHAT_PORTAL: "/chat/portal/", DF: ice.DF, PS: ice.PS, PT: ice.PT, CHAT_RIVER: "/chat/river/", diff --git a/frame.js b/frame.js index 89a55c70..e54c6a86 100644 --- a/frame.js +++ b/frame.js @@ -156,7 +156,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) { var icon = { "": {name: mdb.DELETE, cb: function(event) { can.onaction.close(event, can) }}, run: {name: web.PLAY, cb: function(event) { can.Update(event) }}, - refresh: {name: web.REFRESH, cb: function(event) { can.Update(event) }}, + // refresh: {name: web.REFRESH, cb: function(event) { can.Update(event) }}, list: {name: web.REFRESH, cb: function(event) { can.Update(event) }}, back: {name: "goback", cb: function(event) { can.onimport.back(event, can) }}, prev: {name: mdb.PREV, cb: function(event) { var sub = can.sub; sub.onaction && sub.onaction.prev? sub.onaction.prev(event, sub): can.onaction.prev(event, can) }}, diff --git a/index.css b/index.css index 15ccda28..b745f15e 100644 --- a/index.css +++ b/index.css @@ -82,7 +82,7 @@ body.width6 { /* 1920-2240 显示器 */ } /* element */ * { tab-size:4; box-sizing:border-box; padding:0; border:0; margin:0; } -legend { font-family:var(--legend-font-family); padding:0 var(--legend-padding); } +legend { font-family:var(--legend-font-family); padding:0 var(--legend-padding); margin-right:var(--button-margin); } select { padding:0 var(--button-padding); } input:not([type=file]) { padding:0 var(--button-padding); } input:not([type=button]) { padding:0 var(--input-padding); border-radius:0; outline:none; } @@ -291,6 +291,7 @@ div.item.button.select:hover>span.icon { visibility:visible; } div.item.button.icons>i { font-size:20px; padding:var(--input-padding); } div.item.button.create>span.icon { font-size:30px; margin-top:-5px; } div.item.button.insert>span.icon { font-size:30px; margin-top:-5px; } +div.item.button.refresh>span.icon { font-size:28px; margin-top:-3px; } div.tabs>span { font-style:italic; } div.tabs>span.icon { font-size:var(--icon-font-size); font-style:normal; padding-left:var(--input-padding); visibility:hidden; } div.tabs.select>span.icon { visibility:visible; } diff --git a/lib/page.js b/lib/page.js index 60a34366..17570140 100644 --- a/lib/page.js +++ b/lib/page.js @@ -307,7 +307,8 @@ Volcanos("page", { width: function() { return window.innerWidth }, ismodkey: function(event) { return [code.META, code.ALT, code.CONTROL, code.SHIFT].indexOf(event.key) > -1 }, unicode: { // https://symbl.cc/cn/ - refresh: "↻", goback: "↺", play: "▶", create: "+", insert: "+", prunes: "♻︎", prune: "♻︎", + refresh: "↻", + goback: "↺", play: "▶", create: "+", insert: "+", prunes: "♻︎", prune: "♻︎", select: "▿", remove: "✕", delete: "✕", close: "✕", menu: "☰", opens: "▾", closes: "▸", @@ -406,8 +407,8 @@ Volcanos("page", { return action }, buttonStyle: function(can, name) { - return can.base.isIn(name, mdb.CREATE, mdb.INSERT, mdb.IMPORT, nfs.CLONE, cli.BUILD, cli.START, ctx.RUN, web.OPEN, web.UPLOAD, web.CONFIRM, aaa.LOGIN, code.AUTOGEN, code.COMPILE, "more", "sso", "add", "pull", "push", "commit", "startall", "preview", "auto-preview", ice.APP)? html.NOTICE: - can.base.isIn(name, mdb.REMOVE, mdb.DELETE, mdb.PRUNES, mdb.PRUNE, nfs.TRASH, cli.RESTART, cli.STOP, cli.CLOSE, cli.REBOOT, web.CANCEL, code.UPGRADE, "drop", "stopall", "prockill")? html.DANGER: "" + return can.base.isIn(name, mdb.CREATE, mdb.INSERT, mdb.IMPORT, nfs.CLONE, cli.START, ctx.RUN, web.OPEN, web.UPLOAD, web.CONFIRM, aaa.LOGIN, code.AUTOGEN, "more", "sso", "add", "pull", "push", "commit", "preview", "auto-preview", ice.APP)? html.NOTICE: + can.base.isIn(name, mdb.REMOVE, mdb.DELETE, mdb.PRUNES, mdb.PRUNE, nfs.TRASH, cli.RESTART, cli.STOP, cli.CLOSE, cli.REBOOT, web.CANCEL, code.UPGRADE, "drop", "prockill")? html.DANGER: "" }, exportValue: function(can, msg, target) { target = target||can._output msg.OptionDefault(ice.MSG_THEME, can.getHeaderTheme()) diff --git a/panel/action.js b/panel/action.js index e0a37106..a416f691 100644 --- a/panel/action.js +++ b/panel/action.js @@ -101,8 +101,8 @@ Volcanos(chat.ONACTION, {_init: function(can, target) { mail: function(can) { can.user.opens("/chat/pod/20230511-golang-story/cmd/web.chat.mail.client") }, dream: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: web.DREAM})) }, cloud: function(can) { can.user.opens("https://cloud.shylinux.com/") }, - portal: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: web.WIKI_PORTAL})) }, - desktop: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: web.CHAT_MACOS_DESKTOP})) }, + portal: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: web.PORTAL})) }, + desktop: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: web.DESKTOP})) }, layout: function(can, button, skip) { can.page.ClassList.del(can, can._target, can._layout||can.onlayout._storage(can)), can._header_tabs && can.onmotion.hidden(can, can._header_tabs) button = (can.onlayout._storage(can, can._layout = button == ice.AUTO? "": button))||can.misc.SearchOrConf(can, html.LAYOUT), can.page.ClassList.add(can, can._target, button) can.onengine.signal(can, chat.ONLAYOUT, can.request({}, {layout: button})), can._root.River && can._river_show === false && can.onmotion.hidden(can, can._root.River._target), skip || can.onlayout._init(can) diff --git a/panel/footer.js b/panel/footer.js index d7f65a57..fa322a4b 100644 --- a/panel/footer.js +++ b/panel/footer.js @@ -1,5 +1,9 @@ (function() { var NTIP = "ntip", NLOG = "nlog", NCMD = "ncmd", NKEY = "nkey" Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { + if (!can.misc.isDebug(can)) { + can.onmotion.hidden(can) + return + } can.Conf(nfs.VERSION, can.base.trimPrefix(window._version, "?_v=").split("&")[0]) can.ConfHeight(can.page.height()), can.ConfWidth(can.page.width()) can.Conf(NKEY, can.core.Item(can.misc.localStorage(can)).length) diff --git a/plugin/local/code/vimer.js b/plugin/local/code/vimer.js index f8d89475..57161479 100644 --- a/plugin/local/code/vimer.js +++ b/plugin/local/code/vimer.js @@ -103,7 +103,7 @@ Volcanos(chat.ONACTION, {list: ["创建", "编译", "源码", "计划", "流程" "计划": function(event, can) { can.onimport.tabview(can, "", web.TEAM_PLAN, ctx.INDEX) }, "流程": function(event, can) { can.onimport.tabview(can, "", web.CHAT_FLOWS, ctx.INDEX) }, "文档": function(event, can) { can.onimport.tabview(can, "", web.WIKI_WORD, ctx.INDEX) }, - "后台": function(event, can) { var pod = can.misc.Search(can, ice.POD); can.onimport.tabview(can, "", location.origin+nfs.CHAT_PORTAL+(pod? "?pod="+pod: ""), web.SPACE) }, + "后台": function(event, can) { var pod = can.misc.Search(can, ice.POD); can.onimport.tabview(can, "", location.origin+"/c/admin"+(pod? "?pod="+pod: ""), web.SPACE) }, "桌面": function(event, can) { can.onimport.tabview(can, "", web.CHAT_MACOS_DESKTOP, ctx.INDEX) }, "官网": function(event, can) { can.onimport.tabview(can, "", can.misc.MergePodCmd(can, {cmd: web.WIKI_PORTAL}), web.SPACE) }, diff --git a/plugin/state.js b/plugin/state.js index 17ebfe15..0efb95a8 100644 --- a/plugin/state.js +++ b/plugin/state.js @@ -8,24 +8,14 @@ Volcanos(chat.ONIMPORT, { _rewrite: function(can, msg) { var arg = msg._arg; for (var i = 0; i < arg.length; i += 2) { can.Option(arg[i], arg[i+1]), can.Action(arg[i], arg[i+1]) } can.Update() }, _display: function(can, msg) { can.onappend._output(can, msg, msg.Option(ice.MSG_DISPLAY)) }, _clear: function(can, msg) { can.onmotion.clear(can) }, - _inner: function(can, sub, msg) { - can.onmotion.scrollIntoView(can, can.onappend.table(sub, msg)) - can.onmotion.scrollIntoView(can, can.onappend.board(sub, msg)) - can.onmotion.story.auto(sub) - }, - _cookie: function(can, msg) { - can.misc.Cookie(can, msg._arg[0], msg._arg[1]) - can.Update() - }, - _session: function(can, msg) { - can.misc.sessionStorage(can, msg._arg[0], msg._arg[1]) - can.Update() - }, + _inner: function(can, sub, msg) { can.onmotion.scrollIntoView(can, can.onappend.table(sub, msg)), can.onmotion.scrollIntoView(can, can.onappend.board(sub, msg)), can.onmotion.story.auto(sub) }, + _cookie: function(can, msg) { can.misc.Cookie(can, msg._arg[0], msg._arg[1]), can.Update() }, + _session: function(can, msg) { can.misc.sessionStorage(can, msg._arg[0], msg._arg[1]), can.Update() }, _field: function(can, msg, cb) { var height = can.base.Max(html.STORY_HEIGHT, can.ConfHeight()), width = can.ConfWidth() msg.Table(function(item) { can.onappend._plugin(can, item, {_space: can.ConfSpace(), index: item.index, args: can.base.Obj(item.args||item.arg, []), height: height, width: width}, function(sub) { if (can.base.isIn(sub.ConfIndex(), web.WIKI_PORTAL, web.CHAT_IFRAME, web.CHAT_MACOS_DESKTOP, web.CODE_VIMER, - )) { height = can.base.Max(can.base.Min(can.onexport.outputHeight(can), 640), can.ConfHeight()) } + )) { height = can.base.Max(can.base.Min(can.onexport.outputHeight(can), 480), can.ConfHeight()) } can.onmotion.delay(can, function() { can.onmotion.scrollIntoView(can, sub._target) }, 300) sub.run = function(event, cmds, cb) { var index = msg.Option(ice.MSG_INDEX) can.run(event, (msg[ice.MSG_PREFIX]? msg[ice.MSG_PREFIX]: index? [ctx.RUN, index]: []).concat(cmds), cb, true) @@ -112,8 +102,8 @@ Volcanos(chat.ONIMPORT, { Volcanos(chat.ONACTION, {list: ["刷新数据", "刷新界面", "切换浮动", "切换全屏", "共享工具", "生成链接", function(can) { if (!can.isCmdMode()) { return "打开链接" } }, function(can) { if (can.isCmdMode()) { return "打开首页" } }, function(can) { if (can.ConfSpace() || can.isCmdMode() && can.misc.Search(can, ice.POD)) { return "打开空间" } }, - function(can) { if (can.misc.Search(can, log.MSG_DEBUG)) { return "查看源码" } }, - function(can) { if (can.misc.Search(can, log.MSG_DEBUG)) { return "查看镜像" } }, + function(can) { if (can.misc.Search(can, ice.MSG_DEBUG)) { return "查看源码" } }, + function(can) { if (can.misc.Search(can, ice.MSG_DEBUG)) { return "查看镜像" } }, ["视图", "参数", function(can) { if (can._action.innerHTML) { return "操作" } }, function(can) { if (can._status.innerHTML) { return "状态" } }, @@ -225,7 +215,7 @@ Volcanos(chat.ONACTION, {list: ["刷新数据", "刷新界面", "切换浮动", clear: function(event, can) { can.onmotion.clear(can, can._output) }, actions: function(event, can) { can.onmotion.toggle(can, can._action) }, help: function(event, can) { - can.onappend._float(can, {index: web.WIKI_WORD}, [can.Conf("_help")]) + can.onappend._float(can, {index: web.WIKI_WORD}, [can.Conf("_help")]) }, full: function(event, can) { can.onaction["切换全屏"](event, can, "切换全屏", can.sub) }, prev: function(event, can) { can.runAction(event, mdb.PREV, [can.Status(mdb.TOTAL)||0, can.Option(mdb.LIMIT)||can.Action(mdb.LIMIT)||can._msg.Option("cache.limit")||"", can.Option(mdb.OFFEND)||can.Action(mdb.OFFEND)||""], function(msg) { can.onimport._process(can, msg) }) }, diff --git a/publish/client/mp/utils/lib/user-wx.js b/publish/client/mp/utils/lib/user-wx.js index 707ab972..c280f78f 100644 --- a/publish/client/mp/utils/lib/user-wx.js +++ b/publish/client/mp/utils/lib/user-wx.js @@ -63,7 +63,7 @@ Volcanos("user", { if (ls[2].indexOf("/pages/") == 0) { data.pages = ls[2] } } can.misc.Info("app parse", data) - if (data.cmd == "web.chat.portal") { + if (data.cmd == "admin") { can.user.jumps(can.base.MergeURL(data.pages||chat.PAGES_RIVER, data)) } if (data.cmd||data.index||data.share) { can.user.jumps(can.base.MergeURL(data.pages||chat.PAGES_ACTION, data))