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