Files
threeonecheck_web/unpackage/dist/build/mp-weixin/utils/draftCache.js

2 lines
1.3 KiB
JavaScript

"use strict";const t=require("../common/vendor.js");function e(e){if(!e)return null;const r=t.index.getStorageSync(e);if(!r)return null;try{return"string"==typeof r?JSON.parse(r):r}catch(n){return console.error("[draftCache] 解析草稿失败:",e,n),null}}exports.DRAFT_NS={ASSIGN:"draft_assign",ACCEPT:"draft_accept",ACCEPT_APPROVAL:"draft_accept_approval",RECTIFY:"draft_rectify",INSPECTION_RESULT:"draft_inspection_result",INSPECTION_SHEET:"draft_inspection_sheet",HAZARD_ADD:"draft_hazard_add"},exports.buildDraftKey=function(t,...e){return[t,...e.map((t=>String(t??"")))].join("_")},exports.buildDraftKeyCompact=function(t,...e){return[t,...e.map((t=>String(t??""))).filter(Boolean)].join("_")},exports.defaultHasContent=function(t){return!(!t||"object"!=typeof t)&&Object.entries(t).some((([t,e])=>"updatedAt"!==t&&(Array.isArray(e)?e.length>0:e&&"object"==typeof e?Object.keys(e).length>0:""!==e&&null!=e)))},exports.loadDraftWithFallback=function(t,r=[]){const n=e(t);if(n)return{data:n,key:t,fromFallback:!1};for(const a of r){if(!a||a===t)continue;const r=e(a);if(r)return{data:r,key:t,fromFallback:!0,fallbackKey:a}}return{data:null,key:t,fromFallback:!1}},exports.removeDraft=function(e){e&&t.index.removeStorageSync(e)},exports.saveDraftToStorage=function(e,r){e&&t.index.setStorageSync(e,JSON.stringify({...r,updatedAt:Date.now()}))};