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) } }