目录结构调整
This commit is contained in:
199
codes/games/sales_service/indexDb.js
Normal file
199
codes/games/sales_service/indexDb.js
Normal file
@@ -0,0 +1,199 @@
|
||||
(function(){
|
||||
var dbObject = {};
|
||||
dbObject.open = function(params){
|
||||
//数据库名
|
||||
dbObject.db_name = params.db_name;
|
||||
//数据库版本
|
||||
dbObject.db_version = params.db_version;
|
||||
//存储对象名
|
||||
dbObject.store_name = params.store_name;
|
||||
//IndexedDB对象
|
||||
dbObject.db = null;
|
||||
|
||||
if (!window.indexedDB){
|
||||
console.log("你的浏览器不支持IndexedDB,请更换浏览器");
|
||||
}
|
||||
var request = indexedDB.open(dbObject.db_name, dbObject.db_version);
|
||||
//打开数据库成功
|
||||
request.onsuccess = function(event){
|
||||
console.log("打开IndexedDB数据库" + dbObject.db_name + "成功");
|
||||
dbObject.db = event.target.result;
|
||||
if (params.success_callback){
|
||||
params.success_callback();
|
||||
}
|
||||
}
|
||||
//打开数据库失败
|
||||
request.onerror = function(event) {
|
||||
console.log("打开IndexedDB数据库" + dbObject.db_name + "失败");
|
||||
console.log(event);
|
||||
if (params.error_callback){
|
||||
params.error_callback();
|
||||
}
|
||||
}
|
||||
//当打开的数据库版本高于当前版本时触发
|
||||
request.onupgradeneeded = function(event){
|
||||
console.log("IndexedDB数据库" + dbObject.db_name + "版本升级到" + dbObject.db_version);
|
||||
dbObject.db = event.target.result;
|
||||
if(!dbObject.db.objectStoreNames.contains(dbObject.store_name)){
|
||||
dbObject.db.createObjectStore(dbObject.store_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//添加或修改
|
||||
dbObject.put = function(key, value){
|
||||
try{
|
||||
if (!dbObject.db){
|
||||
return;
|
||||
}
|
||||
|
||||
//此处必须显式声明事务
|
||||
var transaction = dbObject.db.transaction(dbObject.store_name, "readwrite");
|
||||
var store = transaction.objectStore(dbObject.store_name);
|
||||
var request = store.put(value, key);
|
||||
request.onsuccess = function(){
|
||||
// console.log("编辑IndexedDB记录成功:" + key);
|
||||
}
|
||||
request.onerror = function(event){
|
||||
console.log("编辑IndexedDB记录失败:" + key);
|
||||
console.log(event);
|
||||
}
|
||||
}
|
||||
catch(e){
|
||||
console.log(min_now() + "添加或修改IndexedDB失败");
|
||||
console.log(e);
|
||||
console.log(key);
|
||||
console.log(value);
|
||||
}
|
||||
}
|
||||
|
||||
//删除
|
||||
dbObject.delete = function(key){
|
||||
try{
|
||||
if (!dbObject.db){
|
||||
return;
|
||||
}
|
||||
var transaction = dbObject.db.transaction(dbObject.store_name, "readwrite");
|
||||
var store = transaction.objectStore(dbObject.store_name);
|
||||
var request = store.delete(key);
|
||||
request.onsuccess = function(){
|
||||
// console.log("删除IndexedDB记录成功:" + key);
|
||||
}
|
||||
request.onerror = function(event){
|
||||
console.log("删除IndexedDB记录失败:" + key);
|
||||
console.log(event);
|
||||
}
|
||||
}
|
||||
catch(e){
|
||||
console.log(min_now() + "删除IndexedDB失败");
|
||||
console.log(e);
|
||||
console.log(key);
|
||||
}
|
||||
}
|
||||
|
||||
//根据key获取value
|
||||
dbObject.get = function(key, succ_callback){
|
||||
try{
|
||||
if (!dbObject.db){
|
||||
return;
|
||||
}
|
||||
var transaction = dbObject.db.transaction(dbObject.store_name, "readwrite");
|
||||
var store = transaction.objectStore(dbObject.store_name);
|
||||
var request = store.get(key);
|
||||
request.onsuccess = function(){
|
||||
succ_callback(request.result);
|
||||
}
|
||||
request.onerror = function(event){
|
||||
console.log("获取IndexedDB记录失败:" + key);
|
||||
console.log(event);
|
||||
}
|
||||
}
|
||||
catch(e){
|
||||
console.log(min_now() + "获取IndexedDB失败");
|
||||
console.log(e);
|
||||
console.log(key);
|
||||
}
|
||||
}
|
||||
|
||||
//获取所有的value
|
||||
dbObject.get_allvalue = function(success_callback, error_callback){
|
||||
try{
|
||||
if (!dbObject.db){
|
||||
return;
|
||||
}
|
||||
var transaction = dbObject.db.transaction(dbObject.store_name, "readwrite");
|
||||
var store = transaction.objectStore(dbObject.store_name);
|
||||
var request = store.getAll();
|
||||
request.onsuccess = function(){
|
||||
if (success_callback){
|
||||
success_callback(request.result);
|
||||
}
|
||||
}
|
||||
request.onerror = function(event){
|
||||
console.log("获取IndexedDB记录失败:all");
|
||||
console.log(event);
|
||||
if (error_callback){
|
||||
error_callback();
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(e){
|
||||
console.log(min_now() + "获取全部的IndexedDB失败");
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
//游标遍历
|
||||
dbObject.get_cursor = function(success_callback, error_callback){
|
||||
try{
|
||||
if (!dbObject.db){
|
||||
return;
|
||||
}
|
||||
var transaction = dbObject.db.transaction(dbObject.store_name, "readwrite");
|
||||
var store = transaction.objectStore(dbObject.store_name);
|
||||
var request = store.openCursor();
|
||||
|
||||
request.onsuccess = function(event){
|
||||
if (success_callback){
|
||||
success_callback(event.target.result);
|
||||
}
|
||||
}
|
||||
request.onerror = function(event){
|
||||
console.log("获取IndexedDB记录失败:游标");
|
||||
console.log(event);
|
||||
if (error_callback){
|
||||
error_callback();
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(e){
|
||||
console.log(min_now() + "获取IndexedDB游标失败");
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
//清除整个对象存储(表)
|
||||
dbObject.clear = function(){
|
||||
try{
|
||||
if (!dbObject.db){
|
||||
return;
|
||||
}
|
||||
var transaction = dbObject.db.transaction(dbObject.store_name, "readwrite");
|
||||
var store = transaction.objectStore(dbObject.store_name);
|
||||
var request = store.clear();
|
||||
request.onsuccess = function(){
|
||||
console.log("清空IndexedDB对象存储成功:" + dbObject.store_name);
|
||||
}
|
||||
request.onerror = function(event){
|
||||
console.log("清空IndexedDB对象存储失败:" + dbObject.store_name);
|
||||
console.log(event);
|
||||
}
|
||||
}
|
||||
catch(e){
|
||||
console.log(min_now() + "清除IndexedDB失败");
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
window.dbObject = dbObject;
|
||||
})();
|
||||
Reference in New Issue
Block a user