80 lines
2.8 KiB
JavaScript
80 lines
2.8 KiB
JavaScript
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)
|
|
}
|
|
}
|