1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 16:58:06 +08:00
This commit is contained in:
shaoying 2020-07-26 01:43:51 +08:00
parent ede3bab23f
commit cde4973848
8 changed files with 75 additions and 30 deletions

Binary file not shown.

View File

@ -2,23 +2,19 @@ const kit = require("utils/kit.js")
App({
data: {}, conf: {serve: "https://shylinux.com/chat", space: "mac"},
request: function(cmd, data, cb) {var app = this; data.sessid = app.conf.sessid, data.pod = app.conf.space
wx.request({method: "POST", url: app.conf.serve+"/"+cmd, data: data, success: function(res) {var msg = res.data
request: function(cmd, data, cb) { var app = this; data.sessid = app.conf.sessid, data.pod = app.conf.space
wx.request({method: "POST", url: app.conf.serve+"/"+cmd, data: data, success: function(res) { var msg = res.data
if (res.statusCode == 401) { return app.usercode(function() {app.request(cmd, data, cb)}) }
console.log("POST", cmd, msg)
if (res.statusCode == 401) {
app.usercode(function() {app.request(cmd, data, cb)})
return
}
msg.__proto__ = {
nRow: function() {return msg.append && msg.append[0] && msg[msg.append[0]].length || 0},
Result: function() {return msg.result && msg.result.length > 0 && msg.result.join("") || ""},
Table: function(cb) {var row = 0
nRow: function() { return msg.append && msg.append[0] && msg[msg.append[0]].length || 0 },
Result: function() { return msg.result && msg.result.length > 0 && msg.result.join("") || "" },
Table: function(cb) { var row = 0
for (var i = 0; i < msg.append.length; i++) {
row = msg[msg.append[i]].length > row? msg[msg.append[i]].length: row
}
for (var i = 0; i < row; i++) {
var line = {}
for (var i = 0; i < row; i++) { var line = {}
for (var k in msg.append) {
line[msg.append[k]] = msg[msg.append[k]][i]
}
@ -41,16 +37,16 @@ App({
typeof cb == "function" && cb(msg)
}})
},
download: function(cmd, data, cb) {var app = this; data.sessid = app.conf.sessid
download: function(cmd, data, cb) { var app = this; data.sessid = app.conf.sessid
wx.downloadFile({url: app.conf.serve+"/"+cmd, data: data, success: cb})
},
usercode: function(cb) {var app = this
wx.login({success: function(res) {app.request("mp/login/code", {code: res.code}, function(msg) {
usercode: function(cb) { var app = this
wx.login({success: function(res) { app.request("mp/login/code", {code: res.code}, function(msg) {
wx.setStorage({key: "sessid", data: msg.Result()})
app.conf.sessid = msg.Result(), typeof cb == "function" && cb()
})}})
},
userinfo: function(cb) {var app = this
userinfo: function(cb) { var app = this
if (app.conf.userInfo) {
app.request("mp/login/info", app.conf.userInfo, function(msg) {
typeof cb == "function" && cb(app.conf.userInfo)
@ -58,21 +54,23 @@ App({
return
}
app.usercode(function() {
wx.getSetting({success: function(res) {res.authSetting['scope.userInfo'] && wx.getUserInfo({success: function(res) {
app.request("mp/login/info", res.userInfo, function(msg) {app.conf.userInfo = res.userInfo
wx.getSetting({ success: function(res) { res.authSetting['scope.userInfo'] && wx.getUserInfo({success: function(res) {
app.request("mp/login/info", res.userInfo, function(msg) { app.conf.userInfo = res.userInfo
typeof cb == "function" && cb(res.userInfo)
})
}})}})
})
},
location: function(arg) { wx.chooseLocation(arg) },
modal: function(title, content, cb) {wx.showModal({title: title||"", content: content||"", success: cb})},
toast: function(title, content) {wx.showToast({title: title, content: content||""})},
jumps: function(url, args, cb) {var next = "/pages/"+kit.Args(url, args)
title: function(title) { wx.setNavigationBarTitle({title: title, success: function() {}})},
modal: function(title, content, cb) { wx.showModal({title: title||"", content: content||"", success: cb})},
toast: function(title, content) { wx.showToast({title: title, content: content||""})},
jumps: function(url, args, cb) { var next = "/pages/"+kit.Args(url, args)
console.log("jump", next), wx.navigateTo({url: next, success: cb})
},
scans: function(cb) {var app = this
wx.scanCode({success(res) {console.log("scan", res)
scans: function(cb) { var app = this
wx.scanCode({success: function(res) { console.log("scan", res)
try {
var value = JSON.parse(res.result)
switch (value.type) {

View File

@ -11,6 +11,9 @@ Page({
"扫码": function(event, page, data, name) {
// app.jumps("scans/scans")
app.scans(function(res) {
res["sess.river"] = page.data.river
res["sess.storm"] = page.data.storm
app.request("mp/login/scan", res)
page.onaction(event, res, res.name)
})
},
@ -51,9 +54,36 @@ Page({
"共享": function(event, page, data, name) {
},
},
plugin: {
paste: function(page, data) {
wx.getClipboardData({success: function(res) {
var cmds = [page.data.river, page.data.storm, data.order]
cmds = cmds.concat(["insert", "paste", "", res.data])
app.request("action", {cmds: cmds}, function(msg) {
})
}})
},
qrcode: function(page) {
app.scans(function(res) {
res["sess.river"] = page.data.river
res["sess.storm"] = page.data.storm
app.request("mp/login/scan", res)
})
},
location: function(page, data) {
app.location({success: function(res) {
var cmds = [page.data.river, page.data.storm, data.order]
cmds = cmds.concat(["insert", "location", res.name, res.address, res.longitude*100000, res.latitude*100000])
app.request("action", {cmds: cmds}, function(msg) {
})
}})
},
},
onaction: function(event, data, name) {
data = data || event.target.dataset, name = name || data.name
console.log("action", "river", name)
data = data || event.target.dataset, name = name || data.name
this.action[name](event, this, data)
},
onfigure: {
@ -205,7 +235,13 @@ Page({
return figure.click(event, page, data, data.input.name, field)
}
switch (data.input.cb) {
switch (data.input.name) {
case "添加":
var p = page.plugin[data.field.index]
if (typeof p == "function") { return p(page, data) }
}
switch (data.input.value) {
case "Last":
// 恢复命令
page.data.his[data.order].pop()
@ -241,6 +277,7 @@ Page({
this.data.river = options.river
this.data.storm = options.storm
app.title(options.title)
var data = app.data[options.river+options.storm]
if (data) {return this.setData({res: this.data.res = data})}
this.onaction({}, {}, "刷新")

View File

@ -22,7 +22,7 @@
</picker>
<!-- 按钮 -->
<button wx:elif="{{item._input == 'button'}}" size="mini" bindtap="onClick" data-field="{{field}}" data-order="{{order}}" data-index="{{index}}" data-input="{{item}}">{{item.value||item.name}}</button>
<button wx:elif="{{item._input == 'button'}}" size="mini" bindtap="onClick" data-field="{{field}}" data-order="{{order}}" data-index="{{index}}" data-input="{{item}}">{{item.name||item.value}}</button>
</view>
</view>

View File

@ -36,7 +36,7 @@ Page({
ondetail: function(event, data, index) {
data = data || event.target.dataset, index = index||data.index||0
console.log("detail", "river", index)
app.jumps("storm/storm", {river: this.data.msg.key[index]})
app.jumps("storm/storm", {river: this.data.msg.key[index], title: this.data.msg.name[index]})
},
onLoad: function (options) {

View File

@ -34,18 +34,18 @@ Page({
ondetail: function(event, data, index) {
data = data || event.target.dataset, index = index||data.index||0
console.log("detail", "storm", index)
app.jumps("action/action", {river: data.river||this.data.river, storm: this.data.msg.key[index]})
app.jumps("action/action", {river: data.river||this.data.river, storm: this.data.msg.key[index], title: this.data.options.title+"."+this.data.msg.name[index]})
},
onLoad: function (options) {
onLoad: function (options) { this.data.options = options
console.log("page", "storm", options)
app.conf.sessid = options.sessid || app.conf.sessid
app.title(options.title)
this.data.river = options.river
this.onaction({}, options, "刷新")
},
onReady: function () {},
onShow: function (args) {},
onHide: function () {},
onUnload: function () {},
onPullDownRefresh: function () {

View File

@ -75,6 +75,13 @@
"pathName": "pages/scans/scans",
"query": "river=c796cd&storm=9092d5",
"scene": null
},
{
"id": -1,
"name": "pages/action/action",
"pathName": "pages/action/action",
"query": "river=d82c1d&storm=f7a8c9&title=mac.hi",
"scene": null
}
]
}

View File

@ -8,7 +8,10 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, meta,
can.page.Modify(can, can._target, {style: {display: "block"}})
can.page.Select(can, can._action, "input[name=word]", function(item) { item.value = cmd[1] })
can.run({}, cmd, function(msg) {
var msg = can.request({})
can.run(msg._event, ["search", "River.onexport.key"])
can.run(msg._event, cmd, function(msg) {
can.onappend.table(can, can.ui.content, "table", msg, function(value, key, index, line) {
return {text: [value, "td"], onclick: function(event) {
can.Status("index", index)