1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 08:48:06 +08:00

add aaa.apply

This commit is contained in:
IT 老营长 @云轩领航-创始人 2024-01-01 20:35:11 +08:00
parent 07ba12d6a2
commit 7fd26d6cd5
7 changed files with 55 additions and 19 deletions

View File

@ -124,6 +124,7 @@ var aaa = {
PROVINCE: "province", COUNTRY: "country", CITY: "city",
LONGITUDE: "longitude", LATITUDE: "latitude",
EMAIL: "email", SECRET: "secret",
MOBILE: "mobile",
USERNICK: "usernick", USERNAME: "username", PASSWORD: "password", USERROLE: "userrole", USERZONE: "userzone",
VOID: "void", TECH: "tech", ROOT: "root",
@ -233,8 +234,8 @@ var chat = {
"input/date.js",
"story/json.js",
"story/stats.js",
"story/spide.js",
"story/trend.js",
"story/spides.js",
"story/trends.js",
"local/code/xterm.js",
"local/code/vimer.js",
"local/code/inner.js",

View File

@ -181,9 +181,15 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
item.type == html.BUTTON && item.action == ice.AUTO && can.base.isUndefined(can._delay_init) && (auto = sub._target), next()
can.Conf(ice.AUTO) == item.name && (auto = sub._target)
})
}; var auto; can.core.Next(can.core.Value(can, [chat.ONIMPORT, mdb.LIST])||meta.inputs, add, function() { skip || can.Conf(ice.AUTO) == cli.DELAY || auto && auto.click()
meta._help && add({type: html.BUTTON, name: ice.HELP, onclick: function(event) { can.onappend._float(can, {index: web.WIKI_WORD}, [meta._help]) }}, function() {})
can.misc.Search(can, ice.MSG_DEBUG) == ice.TRUE && add({type: html.BUTTON, name: "vimer", _trans: "源码", onclick: function(event) {
}; var auto; can.core.Next(can.core.Value(can, [chat.ONIMPORT, mdb.LIST])||meta.inputs, add, function() {
var p = can.misc.Search(can, ctx.ACTION)
if (p && can.isCmdMode()) {
skip || can.Conf(ice.AUTO) == cli.DELAY || can.Update({}, [ctx.ACTION, p])
} else {
skip || can.Conf(ice.AUTO) == cli.DELAY || auto && auto.click()
}
can.user.isMobile || meta._help && add({type: html.BUTTON, name: ice.HELP, onclick: function(event) { can.onappend._float(can, {index: web.WIKI_WORD}, [meta._help]) }}, function() {})
can.user.isMobile || can.misc.Search(can, ice.MSG_DEBUG) == ice.TRUE && add({type: html.BUTTON, name: "vimer", _trans: "源码", onclick: function(event) {
var _can = can._fields? can.sup: can, value = "查看源码"; _can.onaction[value](event, _can, value, _can.sub)
}}, function() {})
})
@ -212,7 +218,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
}), item), "", action)
})
var _can = can._fields? can.sup: can
can.isCmdMode() || can.base.beginWith(can.ConfIndex(), "can.") || can.page.tagis(can._fields||can._target, html.FIELDSET_PANEL, html.FIELDSET_PLUG) || action == can._action && can.page.Append(can, action,
can.user.isMobile || can.isCmdMode() || can.base.beginWith(can.ConfIndex(), "can.") || can.page.tagis(can._fields||can._target, html.FIELDSET_PANEL, html.FIELDSET_PLUG) || action == can._action && can.page.Append(can, action,
can.core.Item({full: "切换全屏", open: "打开链接"}, function(key, value) {
return {view: [[html.ITEM, html.BUTTON, key, "icons"]], list: [{icon: icon[key]}], title: can.user.trans(can, key), onclick: function(event) {
_can.onaction[value](event, _can, value, _can.sub)
@ -254,6 +260,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
can.onmotion.clear(can, can._option), can.onappend._option(can, {inputs: can.page.inputs(can, sub.onimport.list, html.TEXT) })
}
sub.db.hash = can.isCmdMode()? can.misc.SearchHash(can): []
sub._output.className = html.OUTPUT, can.onappend.style(can, sub._args.style, can._output)
can.page.style(can, can._output, html.HEIGHT, can._output.offsetHeight)
can.onexport._output(sub, msg), sub.Mode() != ice.MSG_RESULT && can.onmotion.clear(can, output)
can.core.CallFunc([sub, chat.ONIMPORT, chat._INIT], {can: sub, msg: msg, cb: function(msg) {
@ -697,8 +704,10 @@ Volcanos(chat.ONLAYOUT, {_init: function(can, target) { target = target||can._ro
},
})
Volcanos(chat.ONMOTION, {_init: function(can, target) {
target.onclick = function(event) { if (can.page.tagis(event.target, html.SELECT, html.INPUT, html.TEXTAREA)) { return }
target.onclick = function(event) {
if (can.page.tagis(event.target, html.SELECT, html.INPUT, html.TEXTAREA)) { return }
if (can.page.tagis(event.target, html.A) && can.user.isWebview) { return event.shiftKey? window.outopen(event.target.href): can.user.open(event.target.href) }
if (can.page.tagis(event.target, html.IMG) && can.base.beginWith(event.target.title, web.HTTP)) { return can.user.open(event.target.title) }
can.onmotion.clearCarte(can)
}
},

View File

@ -37,7 +37,7 @@ body {
--action-height:32px; --status-height:var(--action-height); --footer-height:var(--action-height); --header-height:48px;
--desktop-height:684px; --float-height:480px; --plug-height:var(--story-height); --story-height:var(--float-height);
--desktop-width:1200px; --float-width:1200px; --plug-width:800px;
--textarea-height:96px; --qrcode-height:360px; --iframe-height:420px;
--textarea-height:96px; --qrcode-height:260px; --iframe-height:420px;
--river-margin:80px; --action-margin:200px; --desktop-icon-size:80px;
--plugin-padding:10px; --plugin-margin:var(--plugin-padding);
--legend-padding:20px; --title-margin:var(--legend-padding);
@ -220,7 +220,7 @@ body>div.input.login { box-shadow:unset; flex-direction:column; }
body>div.input.login>div.action { border-bottom:var(--box-border); flex-direction:row; }
body>div.input.login>div.action>div.tabs { padding:var(--button-padding); }
body>div.input.login>div.output { text-align:center; clear:both; }
body>div.input.login>div.output { height:var(--qrcode-height); width:var(--iframe-height); overflow:hidden; }
body>div.input.login>div.output { min-height:var(--qrcode-height); min-width:var(--iframe-height); overflow:hidden; }
body>div.input.login>div.output>fieldset { box-shadow:none; }
body>div.input.login>div.output>fieldset>div.output { background-color:transparent; }
body>div.input.login>div.display { flex-direction:column; padding-top:var(--button-padding); width:100%; }
@ -380,6 +380,9 @@ div.project:not(.toggle) { border-right:var(--box-border); width:var(--project-w
div.profile:not(.toggle) { border-left:var(--box-border); width:50%; flex:0 0 50%; }
div.display:not(.toggle) { border-top:var(--box-border); }
/* output style */
div.output.card {
overflow-x:hidden;
}
div.output.card>div.item {
background-color:var(--plugin-bg-color); padding:var(--plugin-padding); margin:var(--plugin-padding);
border:var(--box-border); border-radius:var(--plugin-radius); box-shadow:var(--box-shadow);
@ -596,6 +599,12 @@ fieldset.draw.trends div.output svg { background-color:#1b5b738c; }
fieldset.form>div.output { text-align:center; }
fieldset.form>div.output div.info { font-size:20px; padding:40px 20px; overflow:auto; }
fieldset.form>div.output input[type=button] { font-size:24px; border:var(--notice-bg-color) solid 1px; height:48px; width:240px; margin:40px; }
fieldset>div.output.form { padding:20px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
fieldset>div.output.form>div.item { text-align:left; margin:10px; }
fieldset>div.output.form>div.item>span { padding:var(--input-padding); }
fieldset>div.output.form>div.item>span.need { color:red; }
fieldset>div.output.form>div.item>div.item>input { width:var(--river-width); }
fieldset>div.output.form>div.item>div.item>input[type=button] { border:var(--notice-bg-color) solid 1px; }
fieldset.draw.spides div.output svg text { cursor:pointer; }
fieldset.draw.spides div.output svg path { stroke-width:1; }
fieldset.draw>div.output>div.layout>div.layout>div.profile { width:var(--project-width); flex:0 0 var(--project-width); }

View File

@ -260,15 +260,13 @@ Volcanos("user", {
return can.base.isFunc(cb) && cb(), cb = null, true
} can.core.Timer(1000, function() { check() }), can.onimport.theme(can)
}
if (cmd == cli.PWD) { if (check()) { return } can.page.ClassList.add(can, document.body, aaa.LOGIN)
var _list = []
var list = {}; msg.Table(function(value) { if (value.order == "") {} else if (value.type == mdb.PLUGIN) { _list.push(value.name), list[value.name] = function(target) {
can.onappend.plugin(can, {space: value.space, index: value.index, args: can.core.Split(value.args), style: html.OUTPUT, height: 360, width: 420}, function(sub) {
if (cmd == cli.PWD) { if (check()) { return } can.page.ClassList.add(can, document.body, aaa.LOGIN), can.ondaemon._list[0] = arg[0]
var _list = [], list = {}; msg.Table(function(value) { if (value.order == "") {} else if (value.type == mdb.PLUGIN) { _list.push(value.name), list[value.name] = function(target) {
can.onappend.plugin(can, {space: value.space, index: value.index, args: can.core.Split(value.args), style: html.OUTPUT}, function(sub) {
var run = sub.run; sub.run = function(event, cmds, cb) { var msg = can.request(event, {space: arg[0]}); can.page.exportValue(can, msg), run(event, cmds, cb) }
sub.onexport.output = function() { can.page.style(can, sub._output, html.MAX_HEIGHT, ""), can.page.style(can, sub._output, html.MAX_WIDTH, "") }
}, ui.output)
} } else if (value.type == cli.QRCODE) { _list.push(value.name), list[value.name] = function(target) {
can.page.Modify(can, target, arg[2])
} } })
} } else if (value.type == cli.QRCODE) { _list.push(value.name), list[value.name] = function(target) { can.page.Modify(can, target, arg[2]) } } })
var ui = can.onappend.tabview(can, list, _list, can.page.Append(can, document.body, [{view: "input login float flex"}])._target)
can.page.style(can, ui._target, {left: (window.innerWidth-ui._target.offsetWidth)/2, top: can.user.isMobile? can.user.isLandscape()? 0 :48 :window.innerHeight/8})
var _cmd = "space login "+arg[0]; ui.display = can.page.Append(can, ui._target, [html.DISPLAY])._target, can.onappend.style(can, html.FLEX, ui.display)
@ -276,9 +274,7 @@ Volcanos("user", {
can.page.Append(can, ui.display, [{text: ["或第三方授权: ", html.LABEL]}, {view: [["sso", html.FLEX]], list: msg.Table(function(value) {
return value.type == "oauth" && {view: [[html.ITEM, html.FLEX]], title: "点击跳转,授权登录", list: [{img: can.misc.Resource(can, value.icons)}, {text: value.name}], onclick: function() { can.user.jumps(value.link) }}
}) }])
} else if (cmd == ice.MSG_SESSID) {
if (!can.misc.CookieSessid(can, arg[0])) { can.user.info.sessid = arg[0] } check()
}
} else if (cmd == ice.MSG_SESSID) { if (!can.misc.CookieSessid(can, arg[0])) { can.user.info.sessid = arg[0] } check() }
}) },
logout: function(can) { can.user.toastConfirm(can, aaa.LOGOUT, "", function() { can.runAction({}, aaa.LOGOUT, [], function(msg) {
can.misc.CookieSessid(can, ""), can.misc.Search(can, chat.SHARE)? can.misc.Search(can, chat.SHARE, ""): can.user.reload(true)

View File

@ -84,6 +84,7 @@ Volcanos(chat.ONACTION, {_init: function(can) {},
if (location.pathname == nfs.PS && can.base.beginWith(msg.Option(ice.MAIN)||"", nfs.WIKI_PORTAL, web.CHAT_CMD+web.WIKI_PORTAL)) { return show(msg) }
msg.Option(mdb.PLUGIN) && can.onappend.plugin(can, {index: msg.Option(mdb.PLUGIN)}, function(sub) { can.onmotion.hidden(can, sub._target) }, document.body)
msg.Option(nfs.SCRIPT) && can.require(can.base.Obj(msg.Option(nfs.SCRIPT)), function(can) { can.onaction.source(can, msg) })
if (can._root.Action._conf.tool && can._root.Action._conf.tool[0]._role == ice.OK) { return show(msg) }
if (!can.Conf(aaa.USERNICK, (msg.Option(aaa.USERNICK)||msg.Option(ice.MSG_USERNICK)||msg.Option(ice.MSG_USERNAME)).slice(0, 8))) {
return can.user.login(can, function() { can.onengine.signal(can, chat.ONMAIN, msg) }, msg)
} show(msg)

View File

@ -13,6 +13,14 @@ Volcanos(chat.ONIMPORT, {
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.CODE_VIMER, web.CHAT_MACOS_DESKTOP, web.WIKI_PORTAL)) { height = can.base.Max(can.onexport.outputHeight(can), can.ConfHeight()) }

12
plugin/story/form.js Normal file
View File

@ -0,0 +1,12 @@
Volcanos(chat.ONIMPORT, {
_init: function(can, msg) { can.onappend.style(can, html.FORM, can._output)
can.page.Append(can, can._output, msg.Table(function(item) {
return {view: [[html.ITEM, item.type]], list: [item.type != html.BUTTON && {text: [can.user.trans(can, item.name, item._trans), "", mdb.NAME]}, item.need == "must" && {text: ["*", "", "need"]}], _init: function(target) {
item.type == html.BUTTON && (item.onclick = function(event) { var args = []
can.core.Item(can.page.SelectArgs(can, can._output)[0], function(key, value) { args.push(key, value) })
can.Update(can.request(event, {_handle: ice.TRUE}), [ctx.ACTION, item.name].concat(args))
}), can.onappend.input(can, item, "", target)
}, onclick: function(event) { can.page.Select(can, event.currentTarget, html.INPUT, function(target) { target.focus() }) }}
}))
},
})