From 61e89d748cc7f5456c20866e672a4bde153534f1 Mon Sep 17 00:00:00 2001
From: zuoxiao <zuoxiao>
Date: 星期一, 21 四月 2025 17:18:53 +0800
Subject: [PATCH] 优化项目配置,重构项目URL管理逻辑,改为使用动态配置;更新灌溉组详情页面,添加详细信息展示和请求逻辑,提升用户体验;更新首页项目选择器,支持动态项目列表展示。
---
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