-
-
-
+
+
+
+
|
diff --git a/publish/client/mp/app.wxss b/publish/client/mp/app.wxss
index d5b8f287..318a1187 100644
--- a/publish/client/mp/app.wxss
+++ b/publish/client/mp/app.wxss
@@ -1,76 +1,66 @@
page {
- color:white; background-color:#272822;
+ background-color:#272822; color:white;
font-size:14px; font-family:monospace;
- white-space:pre;
+}
+view.title {
+ font-size:18px; font-weight:bold;
+ margin-top:20px; margin-bottom:10px;
}
-view.action>view.item {
- float:left;
-}
view.output {
+ max-width:-webkit-fill-available;
+ overflow:auto;
clear:both;
}
view.output view.item {
- text-align:center;
- font-size:18px;
- padding:10px;
- border:solid 1px green;
+ font-size:18px; text-align:center;
+ padding:10px; border:solid 1px green;
}
view.output view.list view.item {
background-color:darkgray;
margin-left:20px;
}
-
-
-view.option>view.item {
- padding:0;
- border: 0;
- float:left;
-}
-view.option input {
- width:80px;
- margin:2px;
- padding:2px;
- border:solid 1px green;
-}
-view.option view.textarea {
- clear:both;
- width:calc(100% - 2px);
- border:solid 1px green;
-}
-view.option view.select {
- border:solid 1px green;
- float:left;
- /* width:40px; */
- padding:6px;
-}
view.output view.code {
- margin-left:10px;
- padding:10px;
+ margin-left:10px; padding:10px;
border-left:solid 2px cyan;
}
-view.title {
- margin-top:20px;
- margin-bottom:10px;
- font-weight:bold;
- font-size:18px;
+view.action view.item {
+ float:left; padding:0;
+}
+view.option view.item {
+ border:0; padding:0;
+ float:left; margin:2px;
+}
+view.option view.item.textarea {
+ border:solid 1px green;
+ width:calc(100% - 2px);
+ clear:both;
+}
+view.option view.item.select {
+ border:solid 1px green; padding:6px;
+}
+view.option view.item button {
+ height:29px;
+}
+view.option view.item input {
+ border:solid 1px green;
+ width:80px;
}
tr {
+ text-align:center; white-space:nowrap;
display:flex;
- justify-content:space-between;
}
th {
- padding:5px;
+ border:solid 1px red; padding:5px;
width:100%;
- text-align:center;
- border:solid 1px red;
}
td {
- padding:5px;
+ border:solid 1px green; padding:5px;
width:100%;
- text-align:center;
- border:solid 1px green;
+}
+td view.which {
+ float:left;
}
diff --git a/publish/client/mp/pages/action/action.js b/publish/client/mp/pages/action/action.js
index e10c438d..49ce9a08 100644
--- a/publish/client/mp/pages/action/action.js
+++ b/publish/client/mp/pages/action/action.js
@@ -10,8 +10,8 @@ Page({
},
action: {
"刷新": function(event, page) { var list = []
- app.data[page.data.river+page.data.storm] = page.data.list = list, page.data.back = []
- app.requests("action", {cmds: [page.data.river, page.data.storm]}, function(msg) {
+ app.data[[page.data.river, page.data.storm].join(".")] = page.data.list = list, page.data.back = []
+ app.requests(page.name, {cmds: [page.data.river, page.data.storm]}, function(msg) {
msg.Table(function(line, index) {
list.push(line), page.data.back.push([])
line.feature = kit.parseJSON(line.meta, {})
@@ -66,7 +66,7 @@ Page({
run: function(event, order, cmd, cb) { var page = this, field = page.data.list[order]
var cmds = [page.data.river, page.data.storm, field.id||field.key]; if (!cmd) {
var cmd = kit.List(field.inputs, function(input) { if (input._input != "button") { return input.value } })
- page.data.back[order].push(cmd)
+ kit.EQ(page.data.back[page.data.back.length-1], cmd) || page.data.back[order].push(cmd)
}; cmds = cmds.concat(cmd)
for (var i = cmds.length-1; i > 0; i--) { if (cmds[i] === "") { cmds.pop() } else { break } }
@@ -77,40 +77,19 @@ Page({
typeof cb == "function" && cb(msg)
})
},
- plugin: {
- scanQRCode: function(event, order, page, cmd) { app.scans(function(res) {
- page.run(event, order, kit.Simple("action", cmd, res), function(msg) {
- app.toast("添加成功"), page.run(event, order)
- })
- return true
- }) },
- getClipboardData: function(event, order, page, cmd) { app.clipboard(function(res) {
- page.run(event, order, kit.Simple("action", cmd, res), function() {
- app.toast("添加成功"), page.run(event, order)
- })
- }) },
- getLocation: function(event, order, page, cmd) { app.location({success: function(res) {
- res.latitude = parseInt(res.latitude * 100000)
- res.longitude = parseInt(res.longitude * 100000)
- page.run(event, order, kit.Simple("action", cmd, res), function() {
- app.toast("添加成功"), page.run(event, order)
- })
- }}) },
- },
-
onInput: function(event) { var page = this, data = event.target.dataset
- page.data.list[data.order].inputs[data.index].value = event.detail.value
+ var input = page.data.list[data.order].inputs[data.index]
+ input.value = event.detail.value
},
onChange: function(event) { var page = this, data = event.target.dataset
var input = page.data.list[data.order].inputs[data.index]
input.value = input.values[parseInt(event.detail.value)]
},
onClick: function(event) { var page = this, data = event.target.dataset
- var field = page.data.list[data.order]
- var input = field.inputs[data.index]
+ var field = page.data.list[data.order]; var input = field.inputs[data.index]
if (field.feature[input.name]) {
- app.data.insert = {field: field, input: input, cb: function(res) {
+ app.data.insert = {field: field, input: input, list: field.feature[input.name], cb: function(res) {
page.run(event, data.order, kit.Simple("action", input.name, res))
}}
app.jumps("insert/insert", {river: page.data.river, storm: page.data.storm, title: field.name})
@@ -123,22 +102,20 @@ Page({
kit.List(field.inputs, function(input, index) {
if (input._input != "button") { input.value = line&&line[index] || "" }
})
- case "查看": // 执行命令
- page.run(event, data.order)
- break
+ case "执行": // 执行命令
+ case "刷新": // 执行命令
+ case "查看": page.run(event, data.order); break
default:
- var cb = page.plugin[input.name]; if (typeof cb == "function") {
- cb(event, data.order, page, input.name)
- } else {
- var arg = kit.List(field.inputs, function(input) { if (input._input != "button") { return input.value } })
- page.run(event, data.order, ["action", input.name].concat(arg))
- }
+ var cb = page.plugin[input.name]; typeof cb == "function"? cb(event, page, data.order, input.name):
+ page.run(event, data.order, ["action", input.name].concat(kit.List(field.inputs, function(input) {
+ if (input._input != "button") { return input.value }
+ })))
}
},
onWhich: function(event) { var page = this, data = event.currentTarget.dataset
var field = page.data.list[data.order]; if (!field) { return }
- var input = data.input && data.input[0]; if (input && input.type == "button") { var option = {}
+ var input = data.input; if (input && input.type == "button") { var option = {}
kit.List(field.inputs, function(input) { input._input != "button" && (option[input.name] = input.value) })
if (field.msg.append[0] == "key" && field.msg.append[1] == "value") {
kit.List(field.msg.key, function(key, index) { option[key] = field.msg.value[index] })
@@ -147,39 +124,56 @@ Page({
}
event._option = option
- var cb = page.plugin[input.name]
- return typeof cb == "function"? cb(event, page, data, input):
+ var cb = page.plugin[input.name]; typeof cb == "function"? cb(event, page, data.order, input.name):
page.run(event, data.order, ["action", input.name])
+ return
}
- field.inputs.forEach(function(inputs, index) {
- if (inputs.name == data.key) { inputs.value = data.value
+ field.inputs.forEach(function(input, index) {
+ if (input.name == data.key) { input.value = data.value
page.setData({list: page.data.list})
- inputs.action == "auto" && page.run(event, data.order)
+ input.action == "auto" && page.run(event, data.order)
}
})
},
+ plugin: {
+ scanQRCode: function(event, page, order, cmd) { app.scans(function(res) {
+ page.run(event, order, kit.Simple("action", cmd, res), function(msg) {
+ app.toast("添加成功"), page.run(event, order)
+ })
+ return true
+ }) },
+ getClipboardData: function(event, page, order, cmd) { app.clipboard(function(res) {
+ page.run(event, order, kit.Simple("action", cmd, res), function() {
+ app.toast("添加成功"), page.run(event, order)
+ })
+ }) },
+ getLocation: function(event, page, order, cmd) { app.location(function(res) {
+ page.run(event, order, kit.Simple("action", cmd, res), function() {
+ app.toast("添加成功"), page.run(event, order)
+ })
+ }) },
+ },
+ onReady: function () {},
onLoad: function (options) {
- console.log("page", "action", options)
+ console.log("page", this.name, options)
this.data.river = options.river
this.data.storm = options.storm
this.data.title = options.title
app.title(options.title)
- var data = app.data[options.river+options.storm]
- if (data) { return this.setData({list: this.data.list = data}) }
- this.onaction({}, {name: "刷新"})
+ var data = app.data[[options.river, options.storm].join(".")]
+ data? this.setData({list: this.data.list = data}): this.onaction({}, {name: "刷新"})
},
- onReady: function () {},
onShow: function () {},
onHide: function () {},
onUnload: function () {},
onReachBottom: function () {},
onPullDownRefresh: function () { this.onaction({}, {name: "刷新"}) },
onShareAppMessage: function (res) {
- return { title: this.data.title,
- path: "pages/action/action?river="+this.data.river+"&storm="+this.data.storm+"&title="+this.data.title,
- }
+ return {title: this.data.title, path: kit.Args("pages/action/action", {
+ river: this.data.river, storm: this.data.storm, title: this.data.title,
+ })}
},
})
diff --git a/publish/client/mp/pages/action/action.wxml b/publish/client/mp/pages/action/action.wxml
index 718b9f78..f68263f2 100644
--- a/publish/client/mp/pages/action/action.wxml
+++ b/publish/client/mp/pages/action/action.wxml
@@ -1,39 +1,4 @@
+
-
-
- {{field.name}}({{field.help}})
-
-
-
-
-
-
-
-
-
-
-
- {{item.values[item.index||0]}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/publish/client/mp/pages/action/action.wxss b/publish/client/mp/pages/action/action.wxss
index 91918627..e69de29b 100644
--- a/publish/client/mp/pages/action/action.wxss
+++ b/publish/client/mp/pages/action/action.wxss
@@ -1,14 +0,0 @@
-view.option view.item {
- padding:0;
-}
-view.option view.item.select {
- padding:3px;
-}
-
-
-div.story[data-type=spark] {
- background-color:#2169a9a6; color:white;
- box-shadow: 4px 4px 10px 1px #626bd0;
- padding:4px 10px; margin:10px 0px;
- border-left:solid 4px blue;
-}
diff --git a/publish/client/mp/pages/insert/insert.js b/publish/client/mp/pages/insert/insert.js
index 4c876802..aff7739e 100644
--- a/publish/client/mp/pages/insert/insert.js
+++ b/publish/client/mp/pages/insert/insert.js
@@ -2,9 +2,10 @@ const kit = require("../../utils/kit.js")
const app = getApp()
Page({
+ name: "insert",
data: {
- insert: [],
action: ["扫码"],
+ list: [],
},
action: {
"扫码": function(event, page) { app.scans(function(res) {
@@ -15,35 +16,36 @@ Page({
}) },
},
onaction: function(event, data) { data = data || event.target.dataset
- console.log("action", "river", data.name)
+ console.log("action", this.name, data.name)
this.action[data.name](event, this)
},
- onInput: function(event) {var page = this, data = event.target.dataset
- app.data.insert.list[data.index].value = event.detail.value
+ onInput: function(event) { var page = this, data = event.target.dataset
+ page.data.list[data.index].value = event.detail.value
},
onChange: function(event) { var page = this, data = event.target.dataset
- var input = app.data.insert[data.index]
+ var input = page.data.list[data.index]
input.value = input.values[parseInt(event.detail.value)]
},
onConfirm: function (event) { var page = this
- kit.List(page.data.insert, function(item) {
- app.data.insert.data[item.name] = item.value
- })
- app.data.insert.cb(app.data.insert.data)
- wx.navigateBack()
+ var res = {}; kit.List(page.data.list, function(item) { res[item.name] = item.value })
+ app.data.insert.cb(res), wx.navigateBack()
},
- onLoad: function (options) { app.title(options.title)
- console.log("page", "insert", options)
- kit.List(app.data.insert.list, function(item) {
- item.value && item.value.indexOf("@") == 0 && (item.value = "")
- app.data.insert.data[item.name] = item.value
- item.action = item.action || item.value
+ onLoad: function (options) {
+ console.log("page", this.name, options)
+ app.title(options.title)
+
+ kit.List(app.data.insert.list, function(input) {
+ input.action = input.action || input.value
+ input.value == "auto" && (input.value = "")
+
+ if (input.value && input.value.indexOf("@") == 0) {
+ input.action = input.value.slice(1), input.value = ""
+ }
})
- this.data.insert = app.data.insert.list
- this.setData(this.data)
+ this.setData({list: this.data.list = app.data.insert.list})
},
onReady: function () {},
onShow: function () {},
diff --git a/publish/client/mp/pages/insert/insert.wxml b/publish/client/mp/pages/insert/insert.wxml
index ad070746..220b769b 100644
--- a/publish/client/mp/pages/insert/insert.wxml
+++ b/publish/client/mp/pages/insert/insert.wxml
@@ -2,17 +2,17 @@
-
+
-
-
-
{{item.values[item.index||0]}}
diff --git a/publish/client/mp/pages/river/river.js b/publish/client/mp/pages/river/river.js
index 038bcc44..a45d711f 100644
--- a/publish/client/mp/pages/river/river.js
+++ b/publish/client/mp/pages/river/river.js
@@ -44,8 +44,8 @@ Page({
app.jumps("action/action", {river: item.hash, storm: tool.hash, title: item.name+"."+tool.name})
},
- onLoad: function (options) { this.onaction({}, {name: "刷新"}) },
onReady: function () {},
+ onLoad: function (options) { this.onaction({}, {name: "刷新"}) },
onShow: function () {},
onHide: function () {},
onUnload: function () {},
diff --git a/publish/client/mp/utils/kit.js b/publish/client/mp/utils/kit.js
index 91e51fbc..dbb87f94 100644
--- a/publish/client/mp/utils/kit.js
+++ b/publish/client/mp/utils/kit.js
@@ -12,6 +12,22 @@ function shy(help, meta, list, cb) {
return cb
}; var _can_name = ""
module.exports = {
+ EQ: function(obj, other) {
+ if (typeof obj != typeof other) { return false }
+
+ if (typeof obj == "object") {
+ if (obj.length != other.length) { return false }
+ for (var i = 0; i < obj.length; i++) {
+ if (!this.EQ(obj[i], other[i])) { return false }
+ }
+
+ for (var k in obj) {
+ if (!this.EQ(obj[k], other[k])) { return false }
+ }
+ return true
+ }
+ return obj === other
+ },
Number: function(d, n) {var res = [];
while (d > 0) {res.push(d % 10); d = parseInt(d / 10); n--}
while (n > 0) {res.push("0"); n--}
@@ -27,7 +43,7 @@ module.exports = {
fmt = fmt.replace("%S", Number(now.getSeconds(), 2))
return fmt
},
- Args: function(url, args) {var list = []
+ Args: function(url, args) { var list = []
for (var k in args) {
list.push(encodeURIComponent(k)+"="+encodeURIComponent(args[k]))
}
|