项目背景
项目工作环境网络不好,或者涉及机密数据等,需要断网情况下的数据采集。当然我们可以通过localStorage来实现数据的本地存储,但这种方式,只能缓存少量切单一的数据。html5+ 有一个模块 sqlite,便可以实现我们的需求。
sqlite模块中的方法
plus.sqlite.openDatabase(options);
如果数据库存在则打开,不存在则创建。
- options
- name:
( String )
必选
数据库名称 - path:
( String )
必选
数据库路径 -
⚠️ 根据官方文档推荐来 使用 _doc/x.db,因为该目录下既可以读写,又是该应用私有目录。
- success:
( SQLiteSuccessCallback )
可选
打开数据库成功回调函数 - fail:
( SQLiteFailCallback )
可选
打开数据库失败回调函数
- name:
//example
function openDB() {
plus.sqlite.openDatabase({
name: 'test',
path: '_doc/test.db',
success: function() {
console.log('数据库打开成功')
},
fail: function(e) {
console.error(e)
// {code: '错误代码', message: '错误信息'}
}
})
}
plus.sqlite.isOpenDatabase(options);
数据库已经打开则返回true,数据库没有打开则返回false。 ⚠️HBuilderX1.9.0及以上版本支持。
- options
- name:
( String )
必选
数据库名称 - path:
( String )
必选
数据库路径
- name:
- return
- true:数据库打开成功;false:数据库打开失败
//example
function isOpenDB() {
const res = plus