mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 16:58:06 +08:00
opt mp
This commit is contained in:
parent
0d7b3c5c5f
commit
d6cfbbb924
17
lib/base.js
17
lib/base.js
@ -18,23 +18,16 @@ Volcanos("base", {help: "数据类型",
|
||||
}
|
||||
},
|
||||
Eq: function(obj, other) { var self = arguments.callee
|
||||
// undefined null
|
||||
// string number boolen
|
||||
// object function
|
||||
if (typeof obj != typeof other) {
|
||||
return false
|
||||
}
|
||||
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 (!self(obj[i], other[i])) {
|
||||
return false
|
||||
}
|
||||
if (!self(obj[i], other[i])) { return false }
|
||||
}
|
||||
|
||||
for (var k in obj) {
|
||||
if (!self(obj[k], other[k])) {
|
||||
return false
|
||||
}
|
||||
if (!self(obj[k], other[k])) { return false }
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
@ -26,22 +26,21 @@ App({
|
||||
},
|
||||
Data: function(item, index) {
|
||||
var text = msg[item]&&msg[item][index]||""
|
||||
var list = kit.Split(text, " ", "<=/>")
|
||||
var data = {_type: "text", _text: text}
|
||||
if (text.indexOf("<") != 0) { return [data] }
|
||||
|
||||
var res = [], data = {_type: "text", _text: text}
|
||||
var res = [], list = kit.Split(text, " ", "<=/>")
|
||||
for (var i = 0; i < list.length; i++) {
|
||||
if (list[i] == "<") { data = {}
|
||||
if (list[i] == "/") { i++ } else { res.push(data) }
|
||||
data._type = list[i+1]
|
||||
data._text = text
|
||||
if (data._type == "div") { break }
|
||||
data._type = list[i+1], data._text = text, i++
|
||||
continue
|
||||
} else if (list[i] == ">") {
|
||||
continue
|
||||
}
|
||||
|
||||
if (list[i] == ">") {
|
||||
|
||||
} else if (list[i+1] == "=") {
|
||||
data[list[i]] = list[i+2]
|
||||
i += 2
|
||||
if (list[i+1] == "=") {
|
||||
data[list[i]] = list[i+2], i += 2
|
||||
} else {
|
||||
data[list[i]] = list[i]
|
||||
}
|
||||
@ -78,10 +77,6 @@ App({
|
||||
}})
|
||||
}}) })
|
||||
},
|
||||
location: function(arg) { wx.chooseLocation(arg) },
|
||||
clipboard: function(cb) { wx.getClipboardData({success: function(res) {
|
||||
typeof cb == "function" && cb(kit.parseJSON(res.data))
|
||||
}}) },
|
||||
|
||||
title: function(title) { wx.setNavigationBarTitle({title: title, success: function() {}})},
|
||||
modal: function(title, content, cb) { wx.showModal({title: title||"", content: content||"", success: cb})},
|
||||
@ -107,6 +102,16 @@ App({
|
||||
}
|
||||
}})
|
||||
},
|
||||
clipboard: function(cb) { wx.getClipboardData({success: function(res) {
|
||||
typeof cb == "function" && cb(kit.parseJSON(res.data))
|
||||
}}) },
|
||||
location: function(cb) { wx.chooseLocation({success: function(res) {
|
||||
typeof cb == "function" && cb({
|
||||
name: res.name, text: res.address,
|
||||
latitude: parseInt(res.latitude * 100000),
|
||||
longitude: parseInt(res.longitude * 100000),
|
||||
})
|
||||
}}) },
|
||||
|
||||
onLaunch: function() {
|
||||
this.conf.sessid = wx.getStorageSync("sessid")
|
||||
|
@ -18,15 +18,51 @@
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<template name="field">
|
||||
<view class="output">
|
||||
<view class="field" wx:for="{{list}}" wx:for-index="order" wx:for-item="field" wx:key="index">
|
||||
<view class="title"><text>{{field.name}}({{field.help}})</text></view>
|
||||
<view class="option"> <!-- 参数 -->
|
||||
<view class="item {{item._input}}" wx:for="{{field.inputs}}" wx:key="name">
|
||||
<!-- 文本 -->
|
||||
<textarea wx:if="{{item._input == 'textarea'}}" placeholder="{{item.name}}" value="{{item.value}}"
|
||||
bindinput="onInput" data-index="{{index}}" data-order="{{order}}"></textarea>
|
||||
|
||||
<!-- 文本 -->
|
||||
<input wx:elif="{{item._input == 'text'}}" placeholder="{{item.name}}" value="{{item.value}}" type="text"
|
||||
bindinput="onInput" data-index="{{index}}" data-order="{{order}}"/>
|
||||
|
||||
<!-- 列表 -->
|
||||
<picker wx:elif="{{item._input == 'select'}}" range="{{item.values}}" value="{{item.index||0}}"
|
||||
bindchange="onChange" data-index="{{index}}" data-order="{{order}}">
|
||||
<view>{{item.values[item.index||0]}}</view>
|
||||
</picker>
|
||||
|
||||
<!-- 按钮 -->
|
||||
<button wx:elif="{{item._input == 'button'}}" size="mini"
|
||||
bindtap="onClick" data-index="{{index}}" data-order="{{order}}">{{item.value||item.name}}</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="output"> <!-- 输出 -->
|
||||
<!-- 表格 -->
|
||||
<template is="table" data="{{order: order, msg: field.msg}}"></template>
|
||||
|
||||
<!-- 文本 -->
|
||||
<view class="code"><rich-text wx:for="{{field.msg.result}}" wx:key="index" nodes="{{item}}"></rich-text></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<template name="table">
|
||||
<table wx:if="{{msg}}">
|
||||
<tr><th wx:for="{{msg.append}}" wx:key="index">{{item}}</th></tr>
|
||||
<tr wx:for="{{msg._index}}" wx:key="index" wx:for-index="line">
|
||||
<td bindtap="onWhich" wx:for="{{msg.append}}" wx:key="index"
|
||||
data-value="{{msg[item][line]}}" data-key="{{item}}" data-index="{{line}}" data-order="{{order}}" data-input="{{msg._view[item][line]}}"
|
||||
>
|
||||
<view bindtap="onWhich" wx:for="{{msg._view[item][line]}}" wx:key="index">
|
||||
<template bindtap="onWhich" is="input" data="{{input: item}}"></template>
|
||||
<tr wx:for="{{msg._index}}" wx:key="index">
|
||||
<td wx:for="{{msg.append}}" wx:for-index="i" wx:key="index">
|
||||
<view class="which" bindtap="onWhich" wx:for="{{msg._view[item][index]}}" wx:for-item="input" wx:for-index="i" wx:key="i"
|
||||
data-input="{{input}}" data-value="{{input._text}}" data-key="{{item}}" data-index="{{index}}" data-order="{{order}}">
|
||||
<template data="{{input}}" is="input"></template>
|
||||
</view>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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,
|
||||
})}
|
||||
},
|
||||
})
|
||||
|
@ -1,39 +1,4 @@
|
||||
<import src="../../app.wxml"/>
|
||||
<template is="action" data="{{action}}"></template>
|
||||
<template is="field" data="{{list}}"></template>
|
||||
|
||||
<view class="output">
|
||||
<view class="field" wx:for="{{list}}" wx:key="index" wx:for-index="order" wx:for-item="field">
|
||||
<view class="title"><text>{{field.name}}({{field.help}})</text></view>
|
||||
<view class="option">
|
||||
<!-- 参数 -->
|
||||
<view class="item {{item._input}}" wx:for="{{field.inputs}}" wx:key="name">
|
||||
<!-- 文本 -->
|
||||
<textarea wx:if="{{item._input == 'textarea'}}" value="{{item.value}}" placeholder="{{item.name}}"
|
||||
bindinput="onInput" data-index="{{index}}" data-order="{{order}}"></textarea>
|
||||
|
||||
<!-- 文本 -->
|
||||
<input wx:elif="{{item._input == 'text'}}" type="text" value="{{item.value}}" placeholder="{{item.name}}"
|
||||
bindinput="onInput" data-index="{{index}}" data-order="{{order}}"/>
|
||||
|
||||
<!-- 列表 -->
|
||||
<picker wx:elif="{{item._input == 'select'}}" value="{{item.index||0}}" range="{{item.values}}"
|
||||
bindchange="onChange" data-index="{{index}}" data-order="{{order}}">
|
||||
<view>{{item.values[item.index||0]}}</view>
|
||||
</picker>
|
||||
|
||||
<!-- 按钮 -->
|
||||
<button wx:elif="{{item._input == 'button'}}" size="mini"
|
||||
bindtap="onClick" data-index="{{index}}" data-order="{{order}}">{{item.value||item.name}}</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 输出 -->
|
||||
<view class="output">
|
||||
<!-- 表格 -->
|
||||
<template is="table" data="{{msg: field.msg, order: order}}"></template>
|
||||
|
||||
<!-- 文本 -->
|
||||
<view class="code"><rich-text wx:for="{{field.msg.result}}" wx:key="index" nodes="{{item}}"></rich-text></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -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;
|
||||
}
|
@ -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 () {},
|
||||
|
@ -2,17 +2,17 @@
|
||||
<template is="action" data="{{action}}"></template>
|
||||
|
||||
<view class="output">
|
||||
<view class="item" wx:for="{{insert}}" wx:key="index">
|
||||
<view class="item" wx:for="{{list}}" wx:key="index">
|
||||
<!-- 文本 -->
|
||||
<textarea wx:if="{{item._input == 'textarea'}}" value="{{item.value}}" placeholder="{{item.name}}"
|
||||
<textarea wx:if="{{item._input == 'textarea'}}" placeholder="{{item.name}}" value="{{item.value}}"
|
||||
bindinput="onInput" data-index="{{index}}"></textarea>
|
||||
|
||||
<!-- 文本 -->
|
||||
<input wx:elif="{{item._input == 'text'}}" type="text" value="{{item.value}}" placeholder="{{item.name}}"
|
||||
<input wx:elif="{{item._input == 'text'}}" placeholder="{{item.name}}" value="{{item.value}}" type="text"
|
||||
bindinput="onInput" data-index="{{index}}"/>
|
||||
|
||||
<!-- 列表 -->
|
||||
<picker wx:elif="{{item._input == 'select'}}" value="{{item.index||0}}" range="{{item.values}}"
|
||||
<picker wx:elif="{{item._input == 'select'}}" range="{{item.values}}" value="{{item.index||0}}"
|
||||
bindchange="onChange" data-index="{{index}}">
|
||||
<view>{{item.values[item.index||0]}}</view>
|
||||
</picker>
|
||||
|
@ -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 () {},
|
||||
|
@ -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]))
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user