diff --git a/lib/misc.js b/lib/misc.js index bb2b8383..30ea7be2 100644 --- a/lib/misc.js +++ b/lib/misc.js @@ -163,24 +163,27 @@ Volcanos("misc", {help: "通信协议", Message: function(event, can) { var msg } }, + CookieSessid: shy("会话变量", function(can, value, path) { + var name = ice.MSG_SESSID+"_"+location.host.replaceAll(".", "_").replaceAll(":", "_") + return can.misc.Cookie(can, name, value, path) + }), Cookie: shy("会话变量", function(can, key, value, path) { - function set(k, v) {document.cookie = k+"="+v+";path="+(path||ice.PS)} + function set(k, v) { document.cookie = k+"="+v+";path="+(path||ice.PS) } if (can.base.isObject(key)) { - for (var k in key) {set(k, key[k])} - key = null + for (var k in key) { set(k, key[k]) } + key = undefined } - if (key == undefined) {var cs = {} + if (key == undefined) { var cs = {} document.cookie.split("; ").forEach(function(item) { - var cookie = item.split("=") - cs[cookie[0]] = cookie[1] + var ls = item.split("="); cs[ls[0]] = ls[1] }) return cs } value != undefined && set(key, value) - var result = (new RegExp(key+"=([^;]*);?")).exec(document.cookie) - return result && result.length > 0? result[1]: "" + var val = (new RegExp(key+"=([^;]*);?")).exec(document.cookie) + return val && val.length > 0? val[1]: "" }), Search: shy("请求参数", function(can, key, value) { var args = {} if (value == undefined && can.base.isString(key)) { @@ -257,7 +260,13 @@ Volcanos("misc", {help: "通信协议", Message: function(event, can) { var msg return obj.stack || "" }, _time: function() { var now = new Date() - return now.getHours()+":"+now.getMinutes()+":"+now.getSeconds() + var hour = now.getHours() + if (hour < 10) { hour = "0"+hour } + var minute = now.getMinutes() + if (minute < 10) { minute = "0"+minute } + var second = now.getSeconds() + if (second < 10) { second = "0"+second } + return hour+":"+minute+":"+second }, }) diff --git a/lib/user.js b/lib/user.js index 75454502..80b36552 100644 --- a/lib/user.js +++ b/lib/user.js @@ -139,7 +139,7 @@ Volcanos("user", {help: "用户操作", agent: { return can.user.toast(can, arg[2], arg[1], -1), msg.Reply() } if (cmd == ice.MSG_SESSID) { - return can.misc.Cookie(can, ice.MSG_SESSID, arg[0]), msg.Reply(), can.user.reload(true) + return can.misc.CookieSessid(can, arg[0]), msg.Reply(), can.user.reload(true) } can.search(event, msg[ice.MSG_DETAIL]||[], function(msg) { msg.Reply() }) }) @@ -152,7 +152,7 @@ Volcanos("user", {help: "用户操作", agent: { can.page.Modify(can, ui._target, {className: "input login", style: {left: (window.innerWidth-ui._target.offsetWidth)/2, top: window.innerHeight/6}}) }, logout: function(can, force) { if (force||can.user.confirm("logout?")) { - can.run({}, [ctx.ACTION, aaa.LOGOUT], function(msg) { can.misc.Cookie(can, ice.MSG_SESSID, "") + can.run({}, [ctx.ACTION, aaa.LOGOUT], function(msg) { can.misc.Search(can, chat.SHARE)? can.misc.Search(can, chat.SHARE, ""): can.user.reload(true) }) } }, diff --git a/panel/cmd.css b/panel/cmd.css index 1e4acf90..7b849c30 100644 --- a/panel/cmd.css +++ b/panel/cmd.css @@ -7,9 +7,6 @@ fieldset.panel.cmd>div.output>fieldset.plugin { fieldset.panel.cmd>div.output>fieldset.plugin>legend { display:none; } -fieldset.panel.cmd>div.output>fieldset.plugin>div.legend { - display:none; -} fieldset.panel.cmd>div.output>fieldset.plugin>div.legend { float:left; padding:0 10px; margin-right:3px; height:25px; font-size:18px; @@ -22,6 +19,3 @@ fieldset.plugin>legend { body.white fieldset.panel.cmd>div.output>fieldset.plugin>div.legend { background-color:honeydew; } -fieldset.panel.cmd>div.output>fieldset.plugin>div.status { - display:none; -} diff --git a/panel/cmd.js b/panel/cmd.js index 1f413223..daa776a6 100644 --- a/panel/cmd.js +++ b/panel/cmd.js @@ -1,24 +1,19 @@ Volcanos("onaction", {help: "交互操作", list: [], _init: function(can, msg, list, cb, target) { - can.onmotion.float.auto(can, can._output, chat.CARTE) - can.onmotion.float.auto(can, window, chat.CARTE) + can.page.ClassList.add(can, can._target, "Action") can.base.isFunc(cb) && cb() }, onlogin: function(can) { can._names = location.pathname - var msg = can.request({}) can.Conf(chat.TOOL)? can.core.Next(can.Conf(chat.TOOL), function(item, next) { - can.core.Timer(500, function() { - can.onaction._plugin(can, item, next) - }) + can.core.Timer(500, function() { can.onaction._plugin(can, item, next) }) - }): can.run(msg._event, [ctx.ACTION, ctx.COMMAND], function(msg) { + }): can.run(can.request()._event, [ctx.ACTION, ctx.COMMAND], function(msg) { can.core.Next(msg.Table(), function(item, next) { can.onaction._plugin(can, item, next) }) }) - can.page.ClassList.add(can, can._target, "Action") }, _plugin: function(can, item, next) { - item.height = window.innerHeight, item.width = window.innerWidth, item.opts = can.misc.Search(can) + can.base.Copy(item, {height: window.innerHeight, width: window.innerWidth, opts: can.misc.Search(can)}) can.onappend.plugin(can, item, function(sub, meta) { can.user.title(meta.name), next() }) }, })