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