oa-base/utils/sqlite.js

80 lines
2.8 KiB
JavaScript
Raw Normal View History

import { Communication } from './communication.js'
const commun = new Communication()
// 操作数据库
export const operateSQLite = (data) => {
const options = JSON.parse(decodeURIComponent(data))
console.error('operateSQLite', options)
if (options.eventType === 'openDatabase') {
// 打开数据库
let params = Object.assign({}, options.eventParams, {
success: function (e) {
console.log('打开数据库成功!' + JSON.stringify(e))
},
fail: function (e) {
console.log('打开数据库失败: ' + JSON.stringify(e))
},
})
plus.sqlite.openDatabase(params)
} else if (options.eventType === 'executeSql') {
// 执行增删改等操作的sql语句
let params = Object.assign({}, options.eventParams, {
success: function (e) {
console.log('执行增删改等操作sql语句成功!' + JSON.stringify(e))
},
fail: function (e) {
console.log('执行增删改等操作sql语句失败: ' + JSON.stringify(e))
},
})
plus.sqlite.executeSql(params)
} else if (options.eventType === 'selectSql') {
// 执行查询的sql语句
let params = Object.assign({}, options.eventParams, {
success: function (e) {
console.log('执行查询sql语句成功!' + JSON.stringify(e))
},
fail: function (e) {
console.log('执行查询sql语句失败: ' + JSON.stringify(e))
},
})
plus.sqlite.selectSql(params)
} else if (options.eventType === 'closeDatabase') {
// 关闭数据库
let params = Object.assign({}, options.eventParams, {
success: function (e) {
console.log('关闭数据库成功!' + JSON.stringify(e))
},
fail: function (e) {
console.log('关闭数据库失败: ' + JSON.stringify(e))
},
})
plus.sqlite.selectSql(params)
} else if (options.eventType === 'isOpenDatabase') {
// 判断数据库是否打开
const isOpen = plus.sqlite.isOpenDatabase(options.eventParams)
console.log('判断数据库是否打开:' + isOpen)
let allWebview = plus.webview.all()
allWebview.forEach((webview) => {
if (webview.id === 'webviewId1') {
//找到OA的webview
webview.evalJS(
`getBaseMessage('${encodeURIComponent(
JSON.stringify({ action: 'isOpenDatabase', data: isOpen }),
)}')`,
)
}
})
} else if (options.eventType === 'transaction') {
// 执行事务
let params = Object.assign({}, options.eventParams, {
success: function (e) {
console.log('执行事务成功!' + JSON.stringify(e))
},
fail: function (e) {
console.log('执行事务失败: ' + JSON.stringify(e))
},
})
plus.sqlite.transaction(params)
}
}