其实到目前为止,BLETools工具相关功能已经完成了,不过为了更加方便的使用,发送内容区那里最好做本地化存储处理,这样用户就不需要每次打开都去输入内容了。
本地化存储需要用到微信的缓存相关API,参考页面:wx.setStorageSync(string key, any data) | 微信开放文档
存储我采用:wx.setStorageSync(string key, any data, Boolean encrypt)接口
读取存储信息采用:any wx.getStorageSync(string key, Boolean encrypt)接口
数据本地化是很消耗资源的,所以不建议经常去存储数据,这里我采用了用户退出这个界面的时候才去存储,进入页面的时候加载本地化的数据。
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
.....
其他操作
.....
// sendDataList本地化存储,不加密
wx.setStorageSync('setDataList', this.data.sendDataList, false);
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
.....
其他操作
.....
// 获取本地存储的sendDataList
var data = wx.getStorageSync('setDataList', false);
if (data.length == BLECTR_SENDDATALIST_NUM
&& typeof data[0].checkBoxChecked == 'boolean'
&& typeof data[11].checkBoxChecked == 'boolean') { // 大致校验一下数据是否正确
this.data.sendDataList = data;
this.setData({['sendDataList']: this.data.sendDataList});
} else { // 生成默认的数据
for (let i=0; i<BLECTR_SENDDATALIST_NUM; i++) {
this.data.sendDataList.push(
{
checkBoxChecked: false,
inputText: ""
}
);
}
this.setData({['sendDataList']: this.data.sendDataList});
}
},
这样每次进入ble控制界面,会自动记录并展示上次输入的数据,使用过程中非常方便。