indexed_db.js
let dbName = 'logs';
let dbResult;
let arr = ['url', 'params', 'funReturn', 'fun', 'order', 'date']
createDB(arr) {
let version = 1;
let dbRequest = window.indexedDB.open(dbName, version);
dbRequest.oneroor = (res) => {
console.log('打开数据库失败', res);
}
dbRequest.onsuccess = (res) => {
dbResult = dbRequest.result; console.log('打开数据库成功', res);
}
dbRequest.onupgradeneeded = (event) => {
dbResult = event.target['result'];
dbResult.onerror = function (event) {
console.log('数据库打开失败');
};
var objectStore = this.db.createObjectStore(dbName, {
keyPath: 'id',
autoIncrement: true
});
objectStore.createIndex('id', 'id', {
unique: true
});
for (let i = 0; i < arr.length; i++) {
objectStore.createIndex(arr[i], arr[i]);
}
}
}
add(params: any) {
let transaction = dbResult.transaction([dbName], "readwrite");
var objectStore = transaction.objectStore(dbName);
var objectStoreRequest = objectStore.add(params);
objectStoreRequest.onsuccess = function (event) {
console.log('添加成功')
console.log(params);
}
}
check() {
let data = [];
var objectStore = dbResult.transaction(dbName).objectStore(dbName);
objectStore.openCursor().onsuccess = (event) => {
var cursor = event.target.result;
if (cursor) {
data.push(cursor.value)
cursor.continue();
} else {
console.log('查询结果:', data)
}
}
}
clear() {
let store = dbResult.transaction(dbName, 'readwrite').objectStore(dbName);
store.clear();
console.log('已删除存储空间' + dbName + '全部记录');
}
test() {
let time = new Date();
let { ...logData } = {
url: '接口地址',
params: `传入参数`,
funReturn: `接口返回`,
fun: `操作类型`,
date: "时间:" + time.getFullYear() + "-" + (time.getMonth() + 1) + "-" + time.getDate() + ":" + time.getHours() + ":" + time.getMinutes() + ":" + time.getSeconds(),
};
add(logData);
}