此移动原生插件封装了SQLCipher工具,可加密创建并进行增删改查等数据库操作。SQLCipher是一个在SQLite基础之上进行扩展的开源数据库,它主要是在SQLite的基础之上增加了数据加密功能,如果我们在项目中使用它来存储数据的话,就可以大大提高程序的安全性。
1、android本插件必须使用升级环境编译
2、最低android版本要求4.4.2
打开数据库,若数据库不存在则创建数据库。
数据库打开后即使当前页面关闭了,数据库也不会关闭,除非手动调用 closeDatabase()方法关闭,所以一旦打开在其它页面就可以直接使用。
若数据库放在 widget 目录下,那么需要先把数据库拷贝到 fs:// 对应目录下面再使用
openDatabase({params}, callback(ret, err))
name:
path:
passWord:
ret:
{
status: true //布尔类型;操作成功状态值,true|false
}
err:
{
code: '', //数字类型;错误码,详情参考-----附录之‘错误码对照表’。本参数暂仅支持iOS平台
msg: '' //字符串类型;错误信息
}
var sqlCipher = api.require('sqlCipher');
sqlCipher.openDatabase({
name: 'test'
}, function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统,PC 模拟器
可提供的1.0.0及更高版本
关闭数据库
closeDatabase({params}, callback(ret, err))
name:
ret:
{
status: true //布尔类型;操作成功状态值,true|false
}
err:
{
code: '', //数字类型;错误码,详情参考-----附录之‘错误码对照表’。本参数暂仅支持iOS平台
msg: '' //字符串类型;错误描述
}
var sqlCipher = api.require('sqlCipher');
sqlCipher.closeDatabase({
name: 'test'
}, function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统,PC 模拟器
可提供的1.0.0及更高版本
执行事务操作语句
transaction({params}, callback(ret, err))
name:
operation:
ret:
{
status: true //布尔类型;操作成功状态值,true|false
}
err:
{
code: '', //数字类型;错误码,详情参考-----附录之‘错误码对照表’。本参数暂仅支持iOS平台
msg: '' //字符串类型;错误描述
}
var sqlCipher = api.require('sqlCipher');
sqlCipher.transaction({
name: 'test',
operation: 'begin'
}, function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统,PC 模拟器
可提供的1.0.0及更高版本
执行 sql
executeSql({params}, callback(ret, err))
name:
sql:
ret:
{
status: true //布尔类型;操作成功状态值,true|false
}
err:
{
code: '', //数字类型;错误码,详情参考-----附录之‘错误码对照表’。本参数暂仅支持iOS平台
msg: '' //字符串类型;错误描述
}
var sqlCipher = api.require('sqlCipher');
sqlCipher.executeSql({
name: 'test',
sql: 'CREATE TABLE Persons(Id_P int, LastName varchar(255), FirstName varchar(255), Address varchar(255), City varchar(255))'
}, function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统,PC模拟器
可提供的1.0.0及更高版本
查询sql
selectSql({params}, callback(ret, err))
name:
sql:
ret:
{
status: true, //布尔类型;操作成功状态值,true|false
data: [] //数组类型;查询结果数据
}
err:
{
code: '', //数字类型;错误码,详情参考-----附录之‘错误码对照表’。本参数暂仅支持iOS平台
msg: '' //字符串类型;错误描述
}
var sqlCipher = api.require('sqlCipher');
sqlCipher.selectSql({
name: 'test',
sql: 'SELECT * FROM Persons'
}, function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统,PC 模拟器
可提供的1.0.0及更高版本
打开数据库,若数据库不存在则创建数据库。
数据库打开后即使当前页面关闭了,数据库也不会关闭,除非手动调用 closeDatabase()方法关闭,所以一旦打开在其它页面就可以直接使用。
若数据库放在 widget 目录下,那么需要先把数据库拷贝到 fs:// 对应目录下面再使用
openDatabaseSyn({params}, callback(ret, err))
name:
path:
passWord:
##return
var sqlCipher = api.require('sqlCipher');
var isSuccess = sqlCipher.openDatabaseSyn({
name: 'test'
});
iOS系统,Android系统
可提供的1.0.0及更高版本
关闭数据库
closeDatabaseSyn({params}, callback(ret, err))
name:
##return
var sqlCipher = api.require('sqlCipher');
var isSuccess = sqlCipher.closeDatabaseSyn({
name: 'test'
});
iOS系统,Android系统
可提供的1.0.0及更高版本
执行事务操作语句
transactionSyn({params}, callback(ret, err))
name:
operation:
##return
var sqlCipher = api.require('sqlCipher');
var isSuccess = sqlCipher.transactionSyn({
name: 'test',
operation: 'begin'
});
iOS系统,Android系统
可提供的1.0.0及更高版本
执行 sql
executeSqlSyn({params}, callback(ret, err))
name:
sql:
##return
var sqlCipher = api.require('sqlCipher');
sqlCipher.executeSqlSyn({
name: 'test',
sql: 'CREATE TABLE Persons(Id_P int, LastName varchar(255), FirstName varchar(255), Address varchar(255), City varchar(255))'
});
iOS系统,Android系统
可提供的1.0.0及更高版本
查询sql
selectSqlSyn({params}, callback(ret, err))
name:
sql:
##return
var sqlCipher = api.require('sqlCipher');
var result = sqlCipher.selectSqlSyn({
name: 'test',
sql: 'SELECT * FROM Persons'
});
iOS系统,Android系统
可提供的1.0.0及更高版本