king
2023-07-25 2a3cc4e6cecfc6dab8b60adf93f7fde898ddc939
src/api/cacheutils.js
@@ -7,7 +7,7 @@
   */
  static openIndexDB (db) {
    try {
      let request = window.indexedDB.open(db, 2)
      let request = window.indexedDB.open(db, 3)
      request.onerror = () => {
        console.warn('IndexedDB 初始化失败!')
      }
@@ -27,7 +27,7 @@
        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' })
        }
      }
@@ -72,6 +72,7 @@
      new Promise((resolve) => {
        let request = window.GLOB.IndexDB.transaction(['configs']).objectStore('configs').openCursor()
        let menus = []
        let ids = []
        request.onerror = () => {
          resolve(menus)
@@ -80,7 +81,10 @@
        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)
@@ -200,7 +204,7 @@
  /**
   * @description 获取IndexedDB中的配置信息
   */
  static getIndexDBCacheConfig (MenuID) {
  static getIndexDBCacheConfig (MenuID, limit) {
    if (!window.GLOB.IndexDB) return Promise.resolve()
    
    return new Promise((resolve, reject) => {
@@ -211,7 +215,15 @@
      }
      request.onsuccess = () => {
        resolve(request.result)
        if (limit && request.result) {
          if (request.result.CreateDate > limit) {
            resolve(request.result)
          } else {
            resolve()
          }
        } else {
          resolve(request.result)
        }
      }
    })
  }
@@ -230,7 +242,7 @@
      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()