2025-06-30 19:35:55 +08:00

90 lines
4.0 KiB
JavaScript

Volcanos(chat.ONIMPORT, {
_init: function(can, msg) {
can.page.Append(can, can._output, msg.Table(function(value) {
if (value.type == "title") { return {view: [[html.ITEM, html.TITLE], "", can.user.trans(can, value.name, value.help)]} }
return {view: [[html.ITEM, value.type, value.name]], list: [{text: [can.user.trans(can, value.name, value.help, "value.setting"), "", mdb.NAME]}, can.onimport[value.type](can, value)]}
}))
can.user.trans(can, {
desktopInsert: "添加到桌面",
openAddress: "选择地址",
openLocation: "查看位置",
getLocation: "上报位置",
scan: "扫码",
portal: "进入官网",
logout: "退出登录",
})
can.core.List([
can.user.isTechOrRoot(can) && "desktopInsert",
can.user.isMobile && can.user.isWeiXin && "openAddress",
can.user.isMobile && can.user.isWeiXin && "openLocation",
can.user.isMobile && can.user.isWeiXin && "getLocation",
can.user.isMobile && can.user.isWeiXin && "scan",
"portal",
"logout",
], function(item) { if (!item) { return } typeof item == "string" && (item = {name: item})
item.type = item.type||html.BUTTON, item.onclick = function(event) {
var cb = can.onaction[item.name]; if (cb) { return cb(event, can, item.name) }
var cb = can.sup.onaction[item.name]; if (cb) { return cb(event, can.sup, item.name) }
can.runAction(event, item.name, [])
}, can.onappend.input(can, item, "", can._output)
})
if (!can.misc.isDebug(can)) { return }
can.user.isTechOrRoot(can) && can.onimport._plugin(can, {index: "can.cookie"})
localStorage.length && can.onimport._plugin(can, {index: "can.localStorage"})
sessionStorage.length && can.onimport._plugin(can, {index: "can.sessionStorage"})
// can.onimport._plugin(can, {index: "can.runtime"})
can.page.Append(can, can._output, [{text: "debug"}])
},
_plugin: function(can, value) { value.width = can.ConfWidth()-20
can.onappend.plugin(can, value, function(sub) {
sub.onexport.output = function() {
if (!sub._output.innerHTML) { can.onmotion.hidden(can, sub._target) }
}
})
},
title: function(can, value) {
return {text: [value.name, "", value.type]}
},
radio: function(can, value) {
return {text: ["", "", ["outer", value.value]], list: [{text: ["", "", "inner"]}], onclick: function(event) {
if (value.value == "on") { value.value = "off" } else { value.value = "on" }
can.runAction(can.request(event, value, can.Option(), {_toast: value.name}), mdb.UPDATE, [])
}}
},
input: function(can, value) {
return {type: "input", data: {type: "text", value: value.value}, onkeyup: function(event) {
if (event.key == code.ENTER) {
can.runAction(can.request(event, {value: event.target.value}, value, can.Option(), {_toast: value.name}), mdb.UPDATE, [])
}
}}
},
story: function(can, value) {
return {text: ["", "i", "bi bi-chevron-double-right"], _init: function(target) {
target.parentNode.onclick = function() {
var list = can.core.Split(value.value)
can.onimport.myStory(can, {index: list[0], args: list.slice(1)})
}
}}
},
})
Volcanos(chat.ONACTION, {
desktopInsert: function(event, can, button) {
var icons = ""; can.core.List(can._stacks_current, function(p) { if (!p.current) { return } icons = p.current.icons||p.ConfIcons()||can.misc.Resource(can, can._stacks_current[0].Conf("icon"), can._stacks_current[0].Conf("space"))||icons })
can.runAction(can.request(event, {icons: icons, score: "20000"}), button, [])
},
scan: function(event, can, button) {
can.user.agent.scanQRCode(can, function(value) {
var data = can.misc.ParseURL(can, value.text)
can.onimport.myStory(can, {space: data.pod, index: data.cmd, opts: data})
can.page.Append(can, can._output, [{text: value.text, onclick: function(event) {
can.user.copy(event, can, value.text)
}}])
})
},
portal: function(event, can, button) {
can.user.open("/")
},
logout: function(event, can, button) {
if (can.user.confirm("请确认退出登录")) { can.misc.CookieSessid(can, ""), location.reload() }
},
})