import QtQml 2.12
import QtQuick 2.12
import QtQuick.LocalStorage 2.12
Item{
id:idLocalStorageObject
property var db : null;
Component.onCompleted: {
initDB();
}

function initDB(){
db = LocalStorage.openDatabaseSync("AyjGlobalDB","1.0","Ayj UI Global Database",100000);//打开数据库
db.transaction(function(tx){
tx.executeSql('CREATE TABLE IF NOT EXISTS GlobalData (key TEXT,value TEXT)');//创建表
});
}

//根据Key查找缓存对象
function getItem(_key){
if(!db){return;}
db.transaction(function(tx){
let result = tx.executeSql('SELECT * FROM GlobalData WHERE key=?',_key);
if(result.rows.length===1){
let tmpValue = result.rows[0].value;
return JSON.parse(tmpValue);
}
});

}

//根据Key缓存对象
function setItem(_key,_value){
if(!db){return;}
db.transaction(function(tx){
let result = tx.executeSql('SELECT * FROM GlobalData WHERE key=""');
if(result.rows.length===1){//update
result = tx.executeSql('UPDATE GlobalData SET value=? WHERE key=?',JSON.stringify(_value),_key);
}else{//insert
result = tx.executeSql('INSERT INTO GlobalData VALUES(?,?,)',_key,JSON.stringify(_value));
}
});
}
}