From aec1b6ec73897b5e5f3a85f2985447726a399ed0 Mon Sep 17 00:00:00 2001
From: zuoxiao <zuoxiao>
Date: 星期六, 19 四月 2025 15:56:48 +0800
Subject: [PATCH] 更新灌溉计划页面,添加灌溉计划列表刷新标记,优化项目选择器和时间选择器的逻辑;更新样式以提升用户体验,确保在切换标签时只加载必要的数据。

---
 api/request.js |  105 +++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 87 insertions(+), 18 deletions(-)

diff --git a/api/request.js b/api/request.js
index 29411f7..ab0c6e7 100644
--- a/api/request.js
+++ b/api/request.js
@@ -1,7 +1,7 @@
 // 寮曞叆鐘舵�佺爜statusCode
 const statusCode = require('./statusCode')
 // 瀹氫箟璇锋眰璺緞, BASEURL: 鏅�氳姹侫PI; CBASEURL: 涓彴API,涓嶄娇鐢ㄤ腑鍙板彲涓嶅紩鍏BASEURL
-const { BASEURL } = require('./config')
+const config = require('./config')
 // 瀹氫箟榛樿鍙傛暟
 const defaultOptions = {
   data: {},
@@ -17,12 +17,32 @@
  * ignoreToken: <Boolean> 鏄惁蹇界暐token楠岃瘉
  * form: <Boolean> 鏄惁浣跨敤formData璇锋眰
  */
-function request (options) {
-  let _options = Object.assign(defaultOptions, options)
-  let { method, url, data, ignoreToken, form } = _options
+function request(options) {
+  // let _options = Object.assign(defaultOptions, options)
+  let _options = {
+    ...defaultOptions,
+    ...options
+  }
+  let {
+    method,
+    url,
+    data,
+    ignoreToken,
+    form,
+    isShowLoding,
+    timeout,
+    header,
+    useParams
+  } = _options
+
+  // 妫�鏌rl鏄惁涓簎ndefined
+  if (!url) {
+    console.error('璇锋眰URL涓嶈兘涓虹┖');
+    return Promise.reject(new Error('璇锋眰URL涓嶈兘涓虹┖'));
+  }
+
   const app = getApp()
   // 璁剧疆璇锋眰澶�
-  let header = {}
   if (form) {
     header = {
       'content-type': 'application/x-www-form-urlencoded'
@@ -32,23 +52,58 @@
       'content-type': 'application/json' //鑷畾涔夎姹傚ご淇℃伅
     }
   }
+  if (!timeout) {
+    timeout = 60000
+  }
+
   if (!ignoreToken) {
     // 浠庡叏灞�鍙橀噺涓幏鍙杢oken
     let token = app.globalData.token
     header.Authorization = `Bearer ${token}`
   }
+  header.tag = app.globalData.tag;
+  header.appId = app.globalData.AppID;
   return new Promise((resolve, reject) => {
+    // 鑾峰彇鏈�鏂扮殑 BASEURL
+    let currentBaseUrl = app.globalData.baseUrl || config.BASEURL;
+
+    console.log("url:" + currentBaseUrl + url);
+    if (isShowLoding) {
+      wx.showLoading({
+        title: '閫氫俊涓�...', // 鍔犺浇鍔ㄧ敾鏍囬
+        mask: true, // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫�
+      });
+    }
+    let myUrl;
+    if (url.startsWith('http')) {
+      myUrl = url;
+    } else {
+      myUrl = currentBaseUrl + url;
+    }
+    // 濡傛灉 useParams 涓� true锛屾嫾鎺ユ煡璇㈠弬鏁�
+    if (useParams && data) {
+      const queryString = objToQueryString(data); // 浣跨敤涓婇潰瀹氫箟鐨勫嚱鏁�
+      myUrl += `?${queryString}`; // 鎷兼帴鏌ヨ瀛楃涓�
+      data = {}; // 璇锋眰浣撴暟鎹涓虹┖
+    }
     wx.request({
-      url: BASEURL + url,
+      url: myUrl,
       data,
       header,
       method,
+      timeout: timeout,
       success: (res) => {
-        let { statusCode: code } = res
+        let {
+          statusCode: code
+        } = res
+        console.log("success  statusCode:" + code);
+        if (isShowLoding) {
+          wx.hideLoading(); // 闅愯棌鍔犺浇鍔ㄧ敾
+        }
         if (code === statusCode.SUCCESS) {
-          if (res.data.code !== 0) {
+          if (res.data.code !== "0001") {
             // 缁熶竴澶勭悊璇锋眰閿欒
-            showToast(res.data.errorMsg)
+            // showToast(res.data.errorMsg)
             reject(res.data)
             return
           }
@@ -58,21 +113,33 @@
           showToast(`鐧诲綍杩囨湡, 璇烽噸鏂板埛鏂伴〉闈)
           reject(res.data)
         } else {
-          showToast(`璇锋眰閿欒${url}, CODE: ${code}`)
+          // showToast(`璇锋眰閿欒${url}, CODE: ${code}`)
+          console.log("success  璇锋眰閿欒:" + code);
           reject(res.data)
         }
+        console.log("success  statusCode:1111111111");
       },
       fail: (err) => {
-        console.log('%c err', 'color: red;font-weight: bold', err)
-        showToast(err.errMsg)
+        console.log("Error  " + err);
+        if (isShowLoding) {
+          wx.hideLoading(); // 闅愯棌鍔犺浇鍔ㄧ敾
+        }
+        // showToast(err.errMsg)
         reject(err)
       }
     })
   })
 }
-
+function objToQueryString(obj) {
+  return Object.keys(obj)
+      .map(key => {
+          // 瀵归敭鍜屽�艰繘琛� URL 缂栫爜
+          return `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`;
+      })
+      .join('&'); // 灏嗘墍鏈夐敭鍊煎鐢� '&' 杩炴帴璧锋潵
+}
 // 灏佽toast鍑芥暟
-function showToast (title, icon='none', duration=2500, mask=false) {
+function showToast(title, icon = 'none', duration = 2500, mask = false) {
   wx.showToast({
     title: title || '',
     icon,
@@ -81,14 +148,14 @@
   });
 }
 
-function get (options) {
+function get(options) {
   return request({
     method: 'GET',
     ...options
   })
 }
 
-function post (options) {
+function post(options) {
   // url, data = {}, ignoreToken, form
   return request({
     method: 'POST',
@@ -97,5 +164,7 @@
 }
 
 module.exports = {
-  request, get, post
-}
+  request,
+  get,
+  post
+}
\ No newline at end of file

--
Gitblit v1.8.0