其他分享
首页 > 其他分享> > indexedDB使用

indexedDB使用

作者:互联网

/*  * @Description: indexedDB 接口数据缓存: 创建、增删改查  * @Author: linlianqiang  * @Date: 2021-08-20 11:36:13  * @LastEditTime: 2021-08-20 15:18:35  * @LastEditors: linlianqiang  */ const configDB = {   name: 'CocosWebDb', // 数据库名   version: 1, // 数据库版本号   db: null,   ojstore: {     name: 'Users', // 存储空间表的名字     keypath: 'id', // 主键     indexKey: 'age' // 年龄索引   } }; export const webDB = {   indexedDB: window.indexedDB || window.webkitindexedDB,   /**    * 打开或创建数据库, 建立对象存储空间ObjectStore    * @param {string} dbName    * @param {number} dbVersion    */   initDB(dbName, dbVersion) {     const that = this;     let version = dbVersion || 1;     const request = that.indexedDB.open(dbName, version);     request.addEventListener('success', e => {       console.log('连接成功', e);     });     request.addEventListener('error', e => {       console.log('连接失败', e);     });     // 创建对象仓库     request.addEventListener('upgradeneeded', e => {       const db = e.target.result;       // 判断是否存在       if (!db.objectStoreNames.contains(configDB.ojstore.name)) {         const store = db.createObjectStore(configDB.ojstore.name, {           keyPath: configDB.ojstore.keypath,           autoIncrement: false // 自增         });         console.log('创建仓库成功', store);       }     });   },   /**    * 添加数据    * @param {object} 数据库    * @param {string} 表名    * @param {*} 添加的数据    */   addData(db, storename, data) {     const tx = db.transaction(storename, 'readwrite');     const store = tx.objectStore('Users');     let req;     data.forEach(item => {       req = store.add(item);       req.onerror = () => {         console.error('add添加数据库中已有该数据');       };     });   },   /**    * 删除数据库    * @param {stirng} dbname    */   deleteDB(dbname) {     const that = this;     that.indexedDB.deleteDatabase(dbname);   },   /**    * 关闭数据库    * @param {object} db    */   closeDB(db) {     db.close();   } };

标签:indexedDB,const,name,数据库,db,param,使用
来源: https://www.cnblogs.com/maoli-demo/p/15174859.html