老样子~直接上代码加重点
本文实现:
- 从服务器采集数据
- 逐条保存服务器数据
- 逐条删除服务器数据
时间有限,未作篇幅美化,及方法优化,仅供参考
删除指定数据参考最下方倒数第二个for循环。
注释都在程序中了,不理解的直接底下留言,共同学习,一起努力!!
data: {
realTime:10,
tc:[],
},
onShow: function()
{
/**
* 防止用户拿不到最新数据(因为页面切换会重新计时)
* 无条件请求一次最新数据
*/
console.log('请求接口:刷新数据(无条件执行)')
/**
* 每隔一段时间请求服务器刷新数据(客户状态)
* 当页面显示时开启定时器(开启实时刷新)
* 每隔1分钟请求刷新一次
* @注意:用户切换后页面会重新计时
*/
let that=this;
this.data.realTime = setInterval(function()
{
wx.request({
//需修改处
url: '自行填入自己局域网域名,或者Https://加密的域名,如果检验合法性http是不通过的噢',
/*
data:向url发送data
*/
data:{
username:"hhaha",
password:"uuu",
},
header:{
'content-type':'application/json'
},
success:function(res){
/*
定个数组,存储url发来的数据 msg和code是我服务器端发过来的Json标识,
开发者这边自行修改
*/
var newarray={
mss:res.data.msg,//需修改处
cod:res.data.code//需修改处
}
that.data.tc=that.data.tc.concat(newarray);
that.setData({
tc:that.data.tc
})
for(var i=0;i<that.data.tc.length;i++)
{
console.log("msg:"+that.data.tc[i].mss);
}
//传递数值 可以通过var sqlsearch = wx.getStorageSync('message');获取data数据
wx.setStorage({
key: "message",
data: that.data.tc
})
}
})
}, 5000)//间隔时间
// 更新数据
this.setData({
realTime:this.data.realTime,//实时数据对象(用于关闭实时刷新方法)
})
},
click:function(e){
var newarray1=[]
var sqlsearch = wx.getStorageSync('message');
//因为通过getStorageSync传过来的方法,无法使用splice方法,所以我转接了一下
newarray1=newarray1.concat(sqlsearch);
/*
获取此时数组长度
*/
var zhi=newarray1.length;
console.log(zhi);
for(var i=0;i<sqlsearch.length;i++)
{
console.log("click中的"+"mss: "+sqlsearch[i].mss+"code: "+sqlsearch[i].cod);
/*
数组的删除,(newarray1.mss,1) 指的是newarray这个数组内mss字段从尾部开始追个删除
*/
newarray1.splice(newarray1.mss,1)
}
/*
获取经过删除后此时数组长度
*/
var zhi=newarray1.length;
console.log(zhi);
/*
查询删除后数组内的值
---当然这里是肯定没有值的,上面一个循环已经将数组清空了
*/
for(var i=0;i<newarray1.length;i++)
{
console.log("newarray1数组中所有值:"+newarray1[i].mss)
}
},