From dcfe83a022f2c4aa2a707baa6d5e98a67753bf76 Mon Sep 17 00:00:00 2001 From: zuoxiao <zuoxiao> Date: 星期二, 18 三月 2025 16:11:12 +0800 Subject: [PATCH] 添加clientId字段到全局状态,优化请求参数处理,更新页面路由,调整取水口和灌溉相关界面,增强用户体验。 --- utils/storage.js | 70 +++++++++++++++++++++++++++++++--- 1 files changed, 63 insertions(+), 7 deletions(-) diff --git a/utils/storage.js b/utils/storage.js index 3ca562d..698b9ea 100644 --- a/utils/storage.js +++ b/utils/storage.js @@ -1,30 +1,79 @@ const setItem = (key, data) => { return new Promise((resolve, reject) => { + if (!key) { + reject(new Error('瀛樺偍閿笉鑳戒负绌�')); + return; + } + wx.setStorage({ key: key, data: data, success: resolve, - fail: reject + fail: (err) => { + console.error(`璁剧疆瀛樺偍椤� ${key} 澶辫触:`, err); + reject(err); + } }); }); }; const getItem = (key) => { return new Promise((resolve, reject) => { + if (!key) { + reject(new Error('瀛樺偍閿笉鑳戒负绌�')); + return; + } + wx.getStorage({ key: key, success: (res) => resolve(res.data), - fail: reject + fail: (err) => { + console.error(`鑾峰彇瀛樺偍椤� ${key} 澶辫触:`, err); + reject(err); + } + }); + }); +}; + +// 瀹夊叏鑾峰彇瀛樺偍椤癸紝澶辫触鏃惰繑鍥為粯璁ゅ�艰�屼笉鏄嫆缁漃romise +const getItemSafe = (key, defaultValue = null) => { + return new Promise((resolve) => { + if (!key) { + resolve(defaultValue); + return; + } + + wx.getStorage({ + key: key, + success: (res) => resolve(res.data), + fail: (err) => { + // 鍦ㄥ紑鍙戠幆澧冧笅璁板綍璀﹀憡锛屼絾涓嶄綔涓洪敊璇鐞� + // 鏁版嵁涓嶅瓨鍦ㄦ槸姝e父鎯呭喌锛屼笉闇�瑕佷綔涓鸿鍛婅緭鍑� + if (err.errMsg !== "getStorage:fail data not found") { + console.warn(`瀹夊叏鑾峰彇瀛樺偍椤� ${key} 澶辫触:`, err); + } else { + console.log(`瀛樺偍椤� ${key} 涓嶅瓨鍦紝杩斿洖榛樿鍊糮); + } + resolve(defaultValue); + } }); }); }; const removeItem = (key) => { return new Promise((resolve, reject) => { + if (!key) { + reject(new Error('瀛樺偍閿笉鑳戒负绌�')); + return; + } + wx.removeStorage({ key: key, success: resolve, - fail: reject + fail: (err) => { + console.error(`鍒犻櫎瀛樺偍椤� ${key} 澶辫触:`, err); + reject(err); + } }); }); }; @@ -33,21 +82,27 @@ return new Promise((resolve, reject) => { wx.clearStorage({ success: resolve, - fail: reject + fail: (err) => { + console.error('娓呴櫎瀛樺偍澶辫触:', err); + reject(err); + } }); }); }; /** * 鍒ゆ柇鏈湴鏄惁淇濆瓨浜嗘煇涓猭ey - * @param {} key + * @param {String} key 瀛樺偍閿� + * @returns {Boolean} 鏄惁瀛樺湪璇ラ敭 */ -const isHasKeySync= (key) => { +const isHasKeySync = (key) => { + if (!key) return false; + try { const res = wx.getStorageInfoSync(); return res.keys.includes(key); } catch (e) { - console.error('Failed to get storage info:', e); + console.error('鑾峰彇瀛樺偍淇℃伅澶辫触:', e); return false; } }; @@ -55,6 +110,7 @@ module.exports = { setItem, getItem, + getItemSafe, removeItem, clear, isHasKeySync -- Gitblit v1.8.0