| | |
| | | */ |
| | | static openIndexDB (db) { |
| | | try { |
| | | let request = window.indexedDB.open(db, 2) |
| | | let request = window.indexedDB.open(db, 3) |
| | | request.onerror = () => { |
| | | console.warn('IndexedDB 初始化失败!') |
| | | } |
| | |
| | | if (!window.GLOB.IndexDB.objectStoreNames.contains('caches')) { |
| | | window.GLOB.IndexDB.createObjectStore('caches', { keyPath: 'menuid' }) |
| | | } |
| | | if (window.GLOB.systemType === '' && !window.GLOB.IndexDB.objectStoreNames.contains('funcs')) { |
| | | if (!window.GLOB.IndexDB.objectStoreNames.contains('funcs')) { |
| | | window.GLOB.IndexDB.createObjectStore('funcs', { keyPath: 'id' }) |
| | | } |
| | | } |
| | |
| | | new Promise((resolve) => { |
| | | let request = window.GLOB.IndexDB.transaction(['configs']).objectStore('configs').openCursor() |
| | | let menus = [] |
| | | let ids = [] |
| | | |
| | | request.onerror = () => { |
| | | resolve(menus) |
| | |
| | | request.onsuccess = (e) => { |
| | | let cursor = e.target.result |
| | | if (cursor) { |
| | | menus.push(`'${cursor.value.menuid}','${cursor.value.open_edition || 'mk'}'`) |
| | | if (cursor.value.menuid && !ids.includes(cursor.value.menuid)) { |
| | | menus.push(`'${cursor.value.menuid}','${cursor.value.open_edition || 'mk'}'`) |
| | | ids.push(cursor.value.menuid) |
| | | } |
| | | cursor.continue() |
| | | } else { |
| | | resolve(menus) |
| | |
| | | /** |
| | | * @description 获取IndexedDB中的配置信息 |
| | | */ |
| | | static getIndexDBCacheConfig (MenuID) { |
| | | static getIndexDBCacheConfig (MenuID, limit) { |
| | | if (!window.GLOB.IndexDB) return Promise.resolve() |
| | | |
| | | return new Promise((resolve, reject) => { |
| | |
| | | } |
| | | |
| | | request.onsuccess = () => { |
| | | resolve(request.result) |
| | | if (limit && request.result) { |
| | | if (request.result.CreateDate > limit) { |
| | | resolve(request.result) |
| | | } else { |
| | | resolve() |
| | | } |
| | | } else { |
| | | resolve(request.result) |
| | | } |
| | | } |
| | | }) |
| | | } |
| | |
| | | request.onsuccess = (e) => { |
| | | let cursor = e.target.result |
| | | if (cursor) { |
| | | if (cursor.value.CreateDate < date) { |
| | | if (cursor.value.CreateDate < date || cursor.value.CreateDate.length === 10) { |
| | | cursor.delete() |
| | | } |
| | | cursor.continue() |