forked from x/volcanos
add some
This commit is contained in:
parent
bf84c5cc93
commit
e9a63583a4
2
frame.js
2
frame.js
@ -228,7 +228,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
if (item.type == html.BUTTON && can.page.isIconInput(can, item.name)) { can.onappend.icons(can, target, item.name) }
|
if (item.type == html.BUTTON && can.page.isIconInput(can, item.name)) { can.onappend.icons(can, target, item.name) }
|
||||||
}), item), "", action)
|
}), item), "", action)
|
||||||
})
|
})
|
||||||
// if (list.length == 0) { return meta }
|
if (list.length == 0 && can.Conf("inputs").length == 0) { return meta }
|
||||||
var _can = can._fields? can.sup: can
|
var _can = can._fields? can.sup: can
|
||||||
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.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) {
|
can.core.Item({full: "切换全屏", open: "打开链接"}, function(key, value) {
|
||||||
|
@ -210,9 +210,10 @@ Volcanos("misc", {
|
|||||||
var _location = location; if (can.user.isExtension) { var _location = new URL(Volcanos.meta.iceberg) }
|
var _location = location; if (can.user.isExtension) { var _location = new URL(Volcanos.meta.iceberg) }
|
||||||
return can.base.MergeURL(_location.origin+(args.length > 0? nfs.PS+args.join(nfs.PS): path)+(clear? "": _location.search), obj)+(hash? "#"+hash: "")
|
return can.base.MergeURL(_location.origin+(args.length > 0? nfs.PS+args.join(nfs.PS): path)+(clear? "": _location.search), obj)+(hash? "#"+hash: "")
|
||||||
},
|
},
|
||||||
ParseURL: function(can, url) { url = url||location.href; var args = can.base.ParseURL(url), _location = new URL(url)
|
ParseURL: function(can, url) { url = url||location.href; var args = can.base.ParseURL(url)
|
||||||
delete(args.link), delete(args.origin), delete(args._origin)
|
delete(args.link), delete(args.origin), delete(args._origin)
|
||||||
var ls = can.core.Split(_location.pathname, nfs.PS);
|
var raw = new RegExp("(https?://[^/]+)([^?#]*)([^#]*)(.*)").exec(url)
|
||||||
|
var ls = can.core.Split(raw[2], nfs.PS);
|
||||||
if (ls[0] == chat.SHARE) { args[chat.SHARE] = ls[1] }
|
if (ls[0] == chat.SHARE) { args[chat.SHARE] = ls[1] }
|
||||||
if (ls[0] == "s") { args[ice.POD] = ls[1]; if (ls[2] == "c") { args[ice.CMD] = ls[3] } }
|
if (ls[0] == "s") { args[ice.POD] = ls[1]; if (ls[2] == "c") { args[ice.CMD] = ls[3] } }
|
||||||
if (ls[0] == "c") { args[ice.CMD] = ls[1] }
|
if (ls[0] == "c") { args[ice.CMD] = ls[1] }
|
||||||
@ -231,6 +232,7 @@ Volcanos("misc", {
|
|||||||
if (dir.indexOf(nfs.SRC) == 0 || dir.indexOf(nfs.USR) == 0) { dir = "/require/"+dir }
|
if (dir.indexOf(nfs.SRC) == 0 || dir.indexOf(nfs.USR) == 0) { dir = "/require/"+dir }
|
||||||
return dir+file+(ext? nfs.PT+ext: "")
|
return dir+file+(ext? nfs.PT+ext: "")
|
||||||
},
|
},
|
||||||
|
isDebug: function(can) { return can.misc.Search(can, log.DEBUG) == ice.TRUE },
|
||||||
Search: function(can, key, value) { var args = this.ParseURL(can, location.href)
|
Search: function(can, key, value) { var args = this.ParseURL(can, location.href)
|
||||||
if (can.base.isUndefined(key)) { return args } else if (can.base.isObject(key)) {
|
if (can.base.isUndefined(key)) { return args } else if (can.base.isObject(key)) {
|
||||||
can.core.Item(key, function(k, v) { v === ""? delete(args[k]): (args[k] = v) })
|
can.core.Item(key, function(k, v) { v === ""? delete(args[k]): (args[k] = v) })
|
||||||
|
@ -4,7 +4,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) {
|
|||||||
can.ConfHeight(can.page.height()), can.ConfWidth(can.page.width())
|
can.ConfHeight(can.page.height()), can.ConfWidth(can.page.width())
|
||||||
can.Conf(NKEY, can.core.Item(can.misc.localStorage(can)).length)
|
can.Conf(NKEY, can.core.Item(can.misc.localStorage(can)).length)
|
||||||
can.onimport._title(can, msg, target), can.onimport._command(can, msg, target), can.onimport._storm(can, msg, target)
|
can.onimport._title(can, msg, target), can.onimport._command(can, msg, target), can.onimport._storm(can, msg, target)
|
||||||
can.onimport._state(can, msg, target), can.onimport._toast(can, msg, target)
|
can.misc.isDebug(can) && can.onimport._state(can, msg, target), can.onimport._toast(can, msg, target)
|
||||||
can._wss = can.ondaemon._init(can)
|
can._wss = can.ondaemon._init(can)
|
||||||
},
|
},
|
||||||
_title: function(can, msg, target) { can.user.isMobile || can.core.List(can.Conf(chat.TITLE)||msg.result, function(item) {
|
_title: function(can, msg, target) { can.user.isMobile || can.core.List(can.Conf(chat.TITLE)||msg.result, function(item) {
|
||||||
@ -70,7 +70,6 @@ Volcanos(chat.ONEXPORT, {list: [NTIP, NLOG, NCMD, NKEY, html.WIDTH, html.HEIGHT,
|
|||||||
nkey: function(can) { can.onexport._float(can, NKEY, "can.localStorage") },
|
nkey: function(can) { can.onexport._float(can, NKEY, "can.localStorage") },
|
||||||
version: function(can) { can.onexport._float(can, NKEY, "can.runtime") },
|
version: function(can) { can.onexport._float(can, NKEY, "can.runtime") },
|
||||||
_float: function(can, name, index, args, cb) { can.ui[name]? can.ui[name].onaction.close(): can.onappend._float(can, index, args||[], function(sub) { can.ui[name] = sub
|
_float: function(can, name, index, args, cb) { can.ui[name]? can.ui[name].onaction.close(): can.onappend._float(can, index, args||[], function(sub) { can.ui[name] = sub
|
||||||
// can.page.style(can, sub._target, {left: html.RIVER_WIDTH, top: "", right: 0, bottom: html.ACTION_HEIGHT}), can.base.isFunc(cb) && cb(sub)
|
|
||||||
can.page.style(can, sub._target, {top: "", right: 0, bottom: html.ACTION_HEIGHT}), can.base.isFunc(cb) && cb(sub)
|
can.page.style(can, sub._target, {top: "", right: 0, bottom: html.ACTION_HEIGHT}), can.base.isFunc(cb) && cb(sub)
|
||||||
can.onmotion.delay(can, function() { sub.onaction.close = function() { can.page.Remove(can, sub._target), delete(can.ui[name]) } })
|
can.onmotion.delay(can, function() { sub.onaction.close = function() { can.page.Remove(can, sub._target), delete(can.ui[name]) } })
|
||||||
}) },
|
}) },
|
||||||
|
@ -83,16 +83,15 @@ Volcanos(chat.ONACTION, {_init: function(can) {},
|
|||||||
can.run(can.request({}, {_method: http.GET}), [], function(msg) { lang(msg), can.page.requireModules(can, [msg.Option("icon.lib")])
|
can.run(can.request({}, {_method: http.GET}), [], function(msg) { lang(msg), can.page.requireModules(can, [msg.Option("icon.lib")])
|
||||||
can.ui.diy = can.base.Obj(msg.Option("diy"))||{}, can.__theme = can.onimport._theme(can, can.onexport.theme(can)), can.onimport.theme(can)
|
can.ui.diy = can.base.Obj(msg.Option("diy"))||{}, can.__theme = can.onimport._theme(can, can.onexport.theme(can)), can.onimport.theme(can)
|
||||||
can.page.theme(function(theme) { can.onengine.signal(can, chat.ONTHEMECHANGE, can.request(event, {theme: can.__theme = can.ui.diy&&can.ui.diy[theme]||theme})) })
|
can.page.theme(function(theme) { can.onengine.signal(can, chat.ONTHEMECHANGE, can.request(event, {theme: can.__theme = can.ui.diy&&can.ui.diy[theme]||theme})) })
|
||||||
can.onaction._menus[2] = [aaa.LANGUAGE, ice.AUTO].concat(can.core.List(msg["language.list"], function(item) { return can.base.trimSuffix(item, nfs._JS) }))
|
can.onaction._menus[3] = [aaa.LANGUAGE, ice.AUTO].concat(can.core.List(msg["language.list"], function(item) { return can.base.trimSuffix(item, nfs._JS) }))
|
||||||
can.onaction._menus[1] = [chat.THEME, ice.AUTO].concat(can.core.List(msg["theme.list"], function(item) { return can.base.trimSuffix(item, nfs._CSS) }))
|
can.onaction._menus[2] = [chat.THEME, ice.AUTO].concat(can.core.List(msg["theme.list"], function(item) { return can.base.trimSuffix(item, nfs._CSS) }))
|
||||||
can.require(can.core.List(msg["theme.list"], function(item) { return nfs.SRC_TEMPLATE+web.CHAT_HEADER+"/theme/"+item }), function() {
|
can.require(can.core.List(msg["theme.list"], function(item) { return nfs.SRC_TEMPLATE+web.CHAT_HEADER+"/theme/"+item }), function() {
|
||||||
if (can.base.beginWith(location.pathname, nfs.WIKI_PORTAL, web.CHAT_CMD+web.WIKI_PORTAL, web.CHAT_CMD+web.CHAT_OAUTH_CLIENT)) { return show(msg) }
|
if (can.base.beginWith(location.pathname, nfs.WIKI_PORTAL, web.CHAT_CMD+web.WIKI_PORTAL, web.CHAT_CMD+web.CHAT_OAUTH_CLIENT)) { return show(msg) }
|
||||||
if (location.pathname == nfs.PS && can.base.beginWith(msg.Option(ice.MAIN)||"", nfs.WIKI_PORTAL, web.CHAT_CMD+web.WIKI_PORTAL)) { return show(msg) }
|
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(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) })
|
msg.Option(nfs.SCRIPT) && can.require(can.base.Obj(msg.Option(nfs.SCRIPT)), function(can) { can.onaction.source(can, msg) })
|
||||||
var tool = can._root.Action._conf.tool
|
|
||||||
if (tool && tool[0]._role == ice.OK && tool[0].index != web.CHAT_GRANT || can.misc.Search(can, web.SHARE)) { 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))) {
|
if (!can.Conf(aaa.USERNICK, (msg.Option(aaa.USERNICK)||msg.Option(ice.MSG_USERNICK)||msg.Option(ice.MSG_USERNAME)).slice(0, 8))) {
|
||||||
|
var tool = can._root.Action._conf.tool; if (tool && tool[0]._role == ice.OK && tool[0].index != web.CHAT_GRANT || can.misc.Search(can, web.SHARE)) { return show(msg) }
|
||||||
return can.user.login(can, function() { can.onengine.signal(can, chat.ONMAIN, msg) }, msg)
|
return can.user.login(can, function() { can.onengine.signal(can, chat.ONMAIN, msg) }, msg)
|
||||||
} show(msg)
|
} show(msg)
|
||||||
})
|
})
|
||||||
@ -139,12 +138,12 @@ Volcanos(chat.ONACTION, {_init: function(can) {},
|
|||||||
carte: function(event, can, list, cb, trans) { return can.user.carte(event, can, can.onaction, list, cb, null, trans) },
|
carte: function(event, can, list, cb, trans) { return can.user.carte(event, can, can.onaction, list, cb, null, trans) },
|
||||||
|
|
||||||
_params: [log.DEBUG, chat.TITLE],
|
_params: [log.DEBUG, chat.TITLE],
|
||||||
_menus: ["shareuser", [chat.THEME], [aaa.LANGUAGE],
|
_menus: ["shareuser", cli.QRCODE, [chat.THEME], [aaa.LANGUAGE],
|
||||||
[nfs.SAVE, aaa.EMAIL, web.TOIMAGE, code.WEBPACK],
|
[nfs.SAVE, aaa.EMAIL, web.TOIMAGE, code.WEBPACK],
|
||||||
[aaa.USER, "setnick", web.CLEAR, aaa.LOGOUT],
|
[aaa.USER, "setnick", web.CLEAR, aaa.LOGOUT],
|
||||||
],
|
],
|
||||||
_trans: kit.Dict(
|
_trans: kit.Dict("shareuser", "共享用户", cli.QRCODE, "生成链接",
|
||||||
"shareuser", "共享用户", chat.THEME, "界面主题", aaa.LANGUAGE, "语言地区",
|
chat.THEME, "界面主题", aaa.LANGUAGE, "语言地区",
|
||||||
nfs.SAVE, "保存网页", aaa.EMAIL, "发送邮件", web.TOIMAGE, "生成图片", code.WEBPACK, "打包页面",
|
nfs.SAVE, "保存网页", aaa.EMAIL, "发送邮件", web.TOIMAGE, "生成图片", code.WEBPACK, "打包页面",
|
||||||
aaa.USER, "用户信息", "setnick", "设置昵称", aaa.PASSWORD, "修改密码", web.CLEAR, "清除背景", aaa.LOGOUT, "退出登录",
|
aaa.USER, "用户信息", "setnick", "设置昵称", aaa.PASSWORD, "修改密码", web.CLEAR, "清除背景", aaa.LOGOUT, "退出登录",
|
||||||
|
|
||||||
|
@ -93,6 +93,10 @@ Volcanos(chat.ONACTION, {
|
|||||||
can.onAction(event, can, input.name, {order: order, name: input.name})
|
can.onAction(event, can, input.name, {order: order, name: input.name})
|
||||||
} else {
|
} else {
|
||||||
can.run(event, [field.id||field.index, ctx.ACTION, input.name], function(msg) {
|
can.run(event, [field.id||field.index, ctx.ACTION, input.name], function(msg) {
|
||||||
|
switch (msg.Option(ice.MSG_PROCESS)) {
|
||||||
|
case "_location":
|
||||||
|
can.user.parse(can, msg.Option("_arg"))
|
||||||
|
}
|
||||||
can.onaction._refresh(event, can, order)
|
can.onaction._refresh(event, can, order)
|
||||||
})
|
})
|
||||||
} return
|
} return
|
||||||
|
@ -59,10 +59,13 @@ Volcanos("user", {
|
|||||||
if (cb && cb(data)) { return }
|
if (cb && cb(data)) { return }
|
||||||
if (data.type == web.LINK && data._origin) { delete(data.type), delete(data.name), delete(data.text)
|
if (data.type == web.LINK && data._origin) { delete(data.type), delete(data.name), delete(data.text)
|
||||||
var ls = new RegExp("(https?://[^/]+)([^?#]*)([^#]*)(.*)").exec(data._origin); delete(data._origin)
|
var ls = new RegExp("(https?://[^/]+)([^?#]*)([^#]*)(.*)").exec(data._origin); delete(data._origin)
|
||||||
data.serve = ls[1]; if (ls[2].indexOf("/pages/") == 0) { data.pages = ls[2] }
|
if (ls[1] != "https://servicewechat.com") { data.serve = ls[1] }
|
||||||
|
if (ls[2].indexOf("/pages/") == 0) { data.pages = ls[2] }
|
||||||
}
|
}
|
||||||
can.misc.Info("app parse", data)
|
can.misc.Info("app parse", data)
|
||||||
if (data.cmd||data.index||data.share) {
|
if (data.cmd == "web.chat.portal") {
|
||||||
|
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))
|
can.user.jumps(can.base.MergeURL(data.pages||chat.PAGES_ACTION, data))
|
||||||
} else if (data.pod||data.space||data.serve) {
|
} else if (data.pod||data.space||data.serve) {
|
||||||
can.user.jumps(can.base.MergeURL(data.pages||chat.PAGES_RIVER, data))
|
can.user.jumps(can.base.MergeURL(data.pages||chat.PAGES_RIVER, data))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user