268 lines
7.8 KiB
HTML
268 lines
7.8 KiB
HTML
|
<!DOCTYPE html>
|
|||
|
<html>
|
|||
|
|
|||
|
<head>
|
|||
|
<meta charset="utf-8">
|
|||
|
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
|
|||
|
<title></title>
|
|||
|
<script src="../js/mui.min.js"></script>
|
|||
|
<script src="https://cdn.wilddog.com/js/client/current/wilddog.js"></script>
|
|||
|
<link href="../css/mui.min.css" rel="stylesheet" />
|
|||
|
<script type="text/javascript" charset="utf-8">
|
|||
|
mui.init();
|
|||
|
</script>
|
|||
|
<style type="text/css">
|
|||
|
.title{
|
|||
|
background-color: rgba(0,0,0,.25);
|
|||
|
font-weight: 400;
|
|||
|
}
|
|||
|
|
|||
|
#list td{
|
|||
|
padding:5px 5px;
|
|||
|
word-break: break-word;
|
|||
|
}
|
|||
|
|
|||
|
#list tr:active{
|
|||
|
background-color: rgba(0,0,0,.25);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
#popover{
|
|||
|
min-width: 282px;
|
|||
|
height: 300px ;
|
|||
|
top:50% !important;
|
|||
|
margin-top: -150px;
|
|||
|
left: 50% !important;
|
|||
|
margin-left: -141px;
|
|||
|
}
|
|||
|
|
|||
|
@media (min-width: 400px){
|
|||
|
#popover{
|
|||
|
width: 80%;
|
|||
|
margin-left: -40%;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.mui-popover .mui-popover-arrow{
|
|||
|
display: none !important;
|
|||
|
}
|
|||
|
|
|||
|
.operate{
|
|||
|
text-align: center;
|
|||
|
margin-top: 20px
|
|||
|
}
|
|||
|
</style>
|
|||
|
</head>
|
|||
|
|
|||
|
<body>
|
|||
|
<header class="mui-bar mui-bar-nav">
|
|||
|
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
|
|||
|
<a class="mui-icon mui-icon-plusempty mui-pull-right" id="open"></a>
|
|||
|
<h1 class="mui-title">cloud DB(云端数据库)</h1>
|
|||
|
</header>
|
|||
|
<div class="mui-content">
|
|||
|
<div class="mui-content-padded">
|
|||
|
<p style="text-indent: 22px;">这是mui无后端开发示例,集成野狗云服务,通过js操作云端数据库,实现常见的增删改查功能。
|
|||
|
</p>
|
|||
|
</div>
|
|||
|
<div style="background-color: #fff;padding-bottom: 15px;">
|
|||
|
<div class="mui-content-padded" >
|
|||
|
<h4 style="text-align: center;margin-bottom: 15px;padding-top: 15px;">云端数据库</h4>
|
|||
|
<table id="list" border="1" width="100%" style="padding: 0;text-align: center;table-layout: fixed;" >
|
|||
|
|
|||
|
</table>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
<div id="popover" class="mui-popover">
|
|||
|
<div class="mui-popover-arrow"></div>
|
|||
|
<div class="mui-content-padded">
|
|||
|
<h4 id="title" style="text-align: center;margin-top: 20px;">新增数据</h4>
|
|||
|
<form class="mui-input-group" style="margin-top: 30px;">
|
|||
|
<div class="mui-input-row">
|
|||
|
<label>字段1:</label>
|
|||
|
<input type="text" class="mui-input-clear" id="col1" placeholder="请输入">
|
|||
|
</div>
|
|||
|
<div class="mui-input-row">
|
|||
|
<label>字段2:</label>
|
|||
|
<input type="text" class="mui-input-clear" id="col2" placeholder="请输入">
|
|||
|
</div>
|
|||
|
<div class="mui-input-row">
|
|||
|
<label>字段3:</label>
|
|||
|
<input type="text" class="mui-input-clear" id="col3" placeholder="请输入">
|
|||
|
</div>
|
|||
|
</form>
|
|||
|
<div id="add_div" class="operate mui-hidden">
|
|||
|
<button type="button" class="mui-btn mui-btn-blue" id="add">确定</button>
|
|||
|
</div>
|
|||
|
<div id="edit_div" class="operate mui-hidden">
|
|||
|
<button type="button" class="mui-btn mui-btn-blue" id="update" style="margin-right: 30px;">修改</button>
|
|||
|
<button type="button" class="mui-btn mui-btn-red" id="del">删除</button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<script type="text/javascript">
|
|||
|
|
|||
|
function trim(str){ //删除左右两端的空格
|
|||
|
return str.replace(/(^\s*)|(\s*$)/g, "");
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
var network = false;
|
|||
|
var ref = null;
|
|||
|
mui.plusReady(function () {
|
|||
|
if(plus.networkinfo.getCurrentType() == plus.networkinfo.CONNECTION_NONE){
|
|||
|
mui.toast("当前网络不给力,无法连接云端数据库~");
|
|||
|
}else{
|
|||
|
network = true;
|
|||
|
ref = new Wilddog("https://muidemo.wilddogio.com/demo");
|
|||
|
getList();
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
var list = document.getElementById("list");
|
|||
|
var col1 = document.getElementById("col1");
|
|||
|
var col2 = document.getElementById("col2");
|
|||
|
var col3 = document.getElementById("col3");
|
|||
|
|
|||
|
var add_div = document.getElementById("add_div");
|
|||
|
var edit_div = document.getElementById("edit_div");
|
|||
|
|
|||
|
var title = document.getElementById("title");
|
|||
|
|
|||
|
document.getElementById("open").addEventListener('tap',function () {
|
|||
|
if(!network){
|
|||
|
mui.toast("当前网络不给力,请稍后再试");
|
|||
|
}else{
|
|||
|
//清空数据
|
|||
|
col1.value = "";
|
|||
|
col2.value = "";
|
|||
|
col3.value = "";
|
|||
|
title.innerHTML = "新增数据";
|
|||
|
add_div.classList.remove("mui-hidden");
|
|||
|
if(!edit_div.classList.contains("mui-hidden")){
|
|||
|
edit_div.classList.add("mui-hidden");
|
|||
|
}
|
|||
|
mui("#popover").popover("toggle");
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
|
|||
|
document.getElementById("add").addEventListener('tap', function() {
|
|||
|
if(!ref){
|
|||
|
mui.toast("当前网络不给力,请稍后再试");
|
|||
|
}else{
|
|||
|
var check = true;
|
|||
|
mui(".mui-input-group input").each(function () {
|
|||
|
if(!this.value||trim(this.value)==""){
|
|||
|
var label = this.previousElementSibling;
|
|||
|
mui.alert(label.innerText+"不允许为空");
|
|||
|
check = false;
|
|||
|
return false;
|
|||
|
}
|
|||
|
});
|
|||
|
if(check){
|
|||
|
var newRef = ref.push({
|
|||
|
"col1": col1.value,
|
|||
|
"col2": col2.value,
|
|||
|
"col3": col3.value,
|
|||
|
});
|
|||
|
add_div.classList.add("mui-hidden");
|
|||
|
//关闭modal
|
|||
|
mui("#popover").popover("toggle");
|
|||
|
mui.toast("添加成功~");
|
|||
|
//刷新界面
|
|||
|
getList();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
});
|
|||
|
document.getElementById("update").addEventListener("tap", function() {
|
|||
|
var check = true;
|
|||
|
mui(".mui-input-group input").each(function () {
|
|||
|
if(!this.value||trim(this.value)==""){
|
|||
|
var label = this.previousElementSibling;
|
|||
|
mui.alert(label.innerText+"不允许为空");
|
|||
|
check = false;
|
|||
|
return false;
|
|||
|
}
|
|||
|
});
|
|||
|
if(check){
|
|||
|
var newRef = ref.child(document.getElementById("col1").getAttribute("demoid"));
|
|||
|
newRef.update({
|
|||
|
"col1": col1.value,
|
|||
|
"col2": col2.value,
|
|||
|
"col3": col3.value,
|
|||
|
});
|
|||
|
//关闭modal
|
|||
|
mui("#popover").popover("toggle");
|
|||
|
edit_div.classList.add("mui-hidden");
|
|||
|
mui.toast("修改成功~");
|
|||
|
//刷新界面
|
|||
|
getList();
|
|||
|
}
|
|||
|
})
|
|||
|
document.getElementById("del").addEventListener("tap", function() {
|
|||
|
var newRef = ref.child(document.getElementById("col1").getAttribute("demoid"));
|
|||
|
newRef.remove();
|
|||
|
//关闭modal
|
|||
|
mui("#popover").popover("toggle");
|
|||
|
if(!edit_div.classList.contains("mui-hidden")){
|
|||
|
edit_div.classList.add("mui-hidden");
|
|||
|
}
|
|||
|
mui.toast("删除成功~");
|
|||
|
//刷新界面
|
|||
|
getList();
|
|||
|
})
|
|||
|
//列表事件绑定,点击编辑数据
|
|||
|
mui("#list").on("tap", "tr", function() {
|
|||
|
var id = this.getAttribute("id");
|
|||
|
if(id){
|
|||
|
document.getElementById("col1").value = this.querySelector(".col1").innerHTML;
|
|||
|
document.getElementById("col2").value = this.querySelector(".col2").innerHTML;
|
|||
|
document.getElementById("col3").value = this.querySelector(".col3").innerHTML;
|
|||
|
document.getElementById("col1").setAttribute("demoid", id);
|
|||
|
title.innerHTML = "编辑数据";
|
|||
|
if(!add_div.classList.contains("mui-hidden")){
|
|||
|
add_div.classList.add("mui-hidden");
|
|||
|
}
|
|||
|
edit_div.classList.remove("mui-hidden");
|
|||
|
mui("#popover").popover("toggle");
|
|||
|
}
|
|||
|
|
|||
|
})
|
|||
|
/**
|
|||
|
* 获取最新记录
|
|||
|
*/
|
|||
|
|
|||
|
function getList() {
|
|||
|
ref.once("value", function(snapshot) {
|
|||
|
list.innerHTML = "<tr class='title'><td>字段1</td><td>字段2</td><td>字段3</td></tr>";
|
|||
|
var result = snapshot.val();
|
|||
|
mui.each(result, function(key, elem) {
|
|||
|
var li = document.createElement("tr");
|
|||
|
li.setAttribute("id", key);
|
|||
|
var col1 = document.createElement("td");
|
|||
|
col1.className = "col1"
|
|||
|
col1.innerHTML = elem.col1;
|
|||
|
li.appendChild(col1);
|
|||
|
var col2 = document.createElement("td");
|
|||
|
col2.className = "col2"
|
|||
|
col2.innerHTML = elem.col2;
|
|||
|
li.appendChild(col2);
|
|||
|
var col3 = document.createElement("td");
|
|||
|
col3.className = "col3"
|
|||
|
col3.innerHTML = elem.col3;
|
|||
|
li.appendChild(col3);
|
|||
|
list.appendChild(li);
|
|||
|
})
|
|||
|
});
|
|||
|
}
|
|||
|
</script>
|
|||
|
</body>
|
|||
|
|
|||
|
</html>
|