Files
ks-app-employment-service/unpackage/dist/build/web/assets/BaseDBStore.DnB5hDlq.js

2 lines
7.3 KiB
JavaScript
Raw Normal View History

2025-03-28 15:19:42 +08:00
var e=Object.defineProperty,t=(t,r,n)=>(((t,r,n)=>{r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[r]=n})(t,"symbol"!=typeof r?r+"":r,n),n);import{C as r,q as n,ag as s,T as o,ah as a,ai as i,aj as c,ak as l,af as u,al as d}from"./index-BoIbtAZO.js";class h{constructor(e,t=1){this.dbName=e,this.version=t,this.db=null}openDB(e=[]){return new Promise(((t,r)=>{const n=indexedDB.open(this.dbName,this.version);n.onupgradeneeded=t=>{this.db=t.target.result,e.forEach((e=>{if(!this.db.objectStoreNames.contains(e.name)){const t=this.db.createObjectStore(e.name,{keyPath:e.keyPath,autoIncrement:e.autoIncrement||!1});e.indexes&&e.indexes.forEach((e=>{t.createIndex(e.name,e.key,{unique:e.unique})}))}}))},n.onsuccess=e=>{this.db=e.target.result,console.log("✅ IndexedDB 连接成功"),t(this.db)},n.onerror=e=>{r(`IndexedDB Error: ${e.target.error}`)}}))}async queryByField(e,t,r){return new Promise((async(n,s)=>{try{this.db||await this.openDB();const o=this.db.transaction(e,"readonly").objectStore(e);if(!o.indexNames.contains(t))return s(`索引 ${t} 不存在`);const a=o.index(t).getAll(r);a.onsuccess=e=>{n(e.target.result)},a.onerror=e=>{s("查询失败: "+e.target.error)}}catch(o){s("查询错误: "+o)}}))}add(e,t){return new Promise(((r,n)=>{const s=this.db.transaction([e],"readwrite"),o=s.objectStore(e),a=Array.isArray(t)?t:[t],i=[];a.forEach(((e,t)=>{const r=o.add(e);r.onsuccess=e=>{i[t]=e.target.result},r.onerror=e=>{s.abort(),n(`${t+1} 条数据添加失败: ${e.target.error}`)}})),s.oncomplete=()=>{r(1===a.length?i[0]:i)},s.onerror=e=>{n(`添加失败: ${e.target.error}`)}}))}get(e,t){return new Promise(((r,n)=>{const s=this.db.transaction([e],"readonly").objectStore(e).get(t);s.onsuccess=()=>r(s.result),s.onerror=e=>n(`Get Error: ${e.target.error}`)}))}getAll(e){return new Promise(((t,r)=>{const n=this.db.transaction([e],"readonly").objectStore(e);if("function"==typeof n.getAll){const e=n.getAll();e.onsuccess=()=>t(e.result),e.onerror=e=>r(`GetAll Error: ${e.target.error}`)}else{const e=[],s=n.openCursor();s.onsuccess=r=>{const n=r.target.result;n?(e.push(n.value),n.continue()):t(e)},s.onerror=e=>r(`Cursor Error: ${e.target.error}`)}}))}async getRecordCount(e){return new Promise(((t,r)=>{const n=this.db.transaction([e],"readonly").objectStore(e).count();n.onsuccess=()=>t(n.result),n.onerror=e=>r(`❌ Count Error: ${e.target.error}`)}))}update(e,t){return new Promise(((r,n)=>{const s=this.db.transaction([e],"readwrite").objectStore(e).put(t);s.onsuccess=()=>r("Data updated successfully"),s.onerror=e=>n(`Update Error: ${e.target.error}`)}))}delete(e,t){return new Promise(((r,n)=>{const s=this.db.transaction([e],"readwrite").objectStore(e).delete(t);s.onsuccess=()=>r("Data deleted successfully"),s.onerror=e=>n(`Delete Error: ${e.target.error}`)}))}getByIndex(e,t,r){return new Promise(((n,s)=>{const o=this.db.transaction([e],"readonly").objectStore(e).index(t).get(r);o.onsuccess=()=>n(o.result),o.onerror=e=>s(`Get By Index Error: ${e.target.error}`)}))}clearStore(e){return new Promise(((t,r)=>{const n=this.db.transaction([e],"readwrite").objectStore(e).clear();n.onsuccess=()=>t("Store cleared successfully"),n.onerror=e=>r(`Clear Store Error: ${e.target.error}`)}))}deleteDB(e=null){return new Promise(((t,r)=>{const n=indexedDB.deleteDatabase(e||this.dbName);n.onsuccess=()=>t("Database deleted successfully"),n.onerror=e=>r(`Delete DB Error: ${e.target.error}`)}))}async deleteOldestRecord(e){return new Promise(((t,r)=>{const n=this.db.transaction([e],"readwrite").objectStore(e),s=n.openCursor();s.onsuccess=function(e){const r=e.target.result;r?(console.log(`🗑️ 删除最早的记录 ID: ${r.key}`),n.delete(r.key),t()):t()},s.onerror=e=>r(`❌ Cursor Error: ${e.target.error}`)}))}}const g=r("messageGroup",(()=>{const e=n("messageGroup"),t=n("messages"),r=n([]),l=n(!1),u=n(""),d=n([]),h=n(""),g=n("");async function b(e){y.isDBReady||await y.initDB(),h.value=e;const n=await y.db.queryByField(t.value,"parentGroupId",e);n.length?(console.log("本地数据库存在该对话数据",n),r.value=n):(console.log("