From 4a33335da6f6ccbb13427d317d23b0c74d019fbb Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 14 四月 2025 17:56:16 +0800
Subject: [PATCH] 新增测试数据功能,允许在首页和取水口页面使用模拟数据进行测试,优化用户体验。
---
pages/home/home.js | 260 ++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 232 insertions(+), 28 deletions(-)
diff --git a/pages/home/home.js b/pages/home/home.js
index e311702..f6cf3e9 100644
--- a/pages/home/home.js
+++ b/pages/home/home.js
@@ -34,6 +34,8 @@
showInfoDialog: false,
showTipDialog: false,
options: '',
+ showUnBind: false,
+ useTestData: false // 鏂板锛氭槸鍚︿娇鐢ㄦ祴璇曟暟鎹殑鏍囧織
},
openValve: function (e) {
@@ -57,6 +59,14 @@
}).exec();
},
startPullDownRefresh() {
+ if (this.data.useTestData) {
+ this.setData({
+ isRefreshing: true
+ });
+ this.getOpenList();
+ return;
+ }
+
if (this.data.isLogin) {
if (!this.data.isWXRefreshing) {
var self = this;
@@ -91,7 +101,7 @@
onLoad(options) {
//褰撳紑闃�鎴愬姛鍚庤皟鐢ㄥ埛鏂�
console.log("onLoad锛�" + options.param);
- if (options.param) {
+ if (options.param === "1" || options.param === "2") {
this.setData({
options: options,
isLogin: true,
@@ -104,6 +114,17 @@
* 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
*/
onReady() {
+ // 鐩存帴鍔犺浇娴嬭瘯鏁版嵁
+ if (this.data.useTestData) {
+ this.setData({
+ isLogin: true, // 璁剧疆涓哄凡鐧诲綍鐘舵�佷互渚胯兘鐪嬪埌娴嬭瘯鏁版嵁
+ userName: "娴嬭瘯鐢ㄦ埛",
+ userPhone: "135****6789"
+ });
+ this.getOpenList();
+ return;
+ }
+
//鍒ゆ柇鏈湴鏄惁淇濆瓨sessionId
if (storage.isHasKeySync("sessionId")) {
const app = getApp();
@@ -113,40 +134,51 @@
isLogin: true
})
if (app.globalData.sessionId) {
- this.getOpenList();
this.getUserDataBySession();
}
}).catch((err) => {});
storage.getItem('clientId').then((data) => {
app.globalData.clientId = data;
+ this.getOpenList();
}).catch((err) => {});
} else {
//鏈湴娌℃湁缂撳瓨寰俊鐧诲綍
this.wxLogin();
}
- if (this.data.options.param) {
+ if (this.data.options.param === "1") {
this.setData({
-
showTipDialog: true,
- tipData: "寮�闃�鍛戒护涓嬪彂鎴愬姛锛岀害20-60绉掑悗鍙埛鏂板揩閫熷叧闃�鍒楄〃鏌ョ湅鎵ц缁撴灉銆�"
+ tipData: "寮�闃�鍛戒护涓嬪彂鎴愬姛锛屽洜寮�闃�闇�瑕佹椂闂达紝绾�20-60绉掑悗鍙埛鏂板揩閫熷叧闃�鍒楄〃鏌ョ湅鎵ц缁撴灉銆�"
+ })
+ setTimeout(() => {
+ this.getOpenList();
+ }, 20000)
+
+ } else if (this.data.options.param === "2") {
+ this.setData({
+ showTipDialog: true,
+ tipData: "棰勭害寮�闃�鍛戒护涓嬪彂鎴愬姛锛屽綋鍒拌揪棰勭害鏃堕棿骞朵笖鎴愬姛寮�闃�鍚庡揩閫熷叧闃�鍒楄〃浼氭樉绀烘湭鍏抽榾璁板綍"
})
this.getOpenList();
}
},
wxLogin() {
- const that = this;
- wx.login({
- success: function (res) {
- if (res.code) {
- var code = res.code;
- console.log(code);
- // 灏哻ode鍙戦�佸埌鏈嶅姟鍣ㄨ幏鍙杘penid
- that.codeLogin(code);
- } else {
- console.log('鐧诲綍澶辫触锛�' + res.errMsg);
+ // if (!this.data.isLogin) {
+ const that = this;
+ wx.login({
+ success: function (res) {
+ if (res.code) {
+ var code = res.code;
+ console.log(code);
+ // 灏哻ode鍙戦�佸埌鏈嶅姟鍣ㄨ幏鍙杘penid
+ that.codeLogin(code);
+ } else {
+ console.log('鐧诲綍澶辫触锛�' + res.errMsg);
+ }
}
- }
- });
+ });
+ // }
+
},
//寰俊code鐧诲綍
codeLogin(codeData) {
@@ -268,7 +300,8 @@
this.setData({
showForceConfirm: false,
showConfirm: false,
- showTipDialog: false
+ showTipDialog: false,
+ showUnBind: false
});
},
/**
@@ -308,7 +341,9 @@
showTipDialog: true,
tipData: "鍏抽榾鍛戒护涓嬪彂鎴愬姛锛岀害20-60绉掑悗鍙埛鏂板揩閫熷叧闃�鍒楄〃鏌ョ湅鎵ц缁撴灉銆�"
})
- this.getOpenList();
+ setTimeout(() => {
+ this.getOpenList();
+ }, 40000)
} else {
wx.showToast({
title: '鍛戒护鎵ц澶辫触',
@@ -329,15 +364,88 @@
});
},
/**
+ * 鐢熸垚娴嬭瘯鏁版嵁 - 鏂板鍑芥暟
+ */
+ generateTestData() {
+ const now = new Date();
+ const year = now.getFullYear();
+ const month = String(now.getMonth() + 1).padStart(2, '0');
+ const day = String(now.getDate()).padStart(2, '0');
+ const hours = String(now.getHours()).padStart(2, '0');
+ const minutes = String(now.getMinutes()).padStart(2, '0');
+ const seconds = String(now.getSeconds()).padStart(2, '0');
+
+ const dateString = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+ const orderBase = `TEST-${year}${month}${day}-`;
+
+ const testData = [
+ {
+ intakeNum: "鍙栨按鍙�1",
+ isOnLine: true,
+ dt: dateString,
+ waterInstant: "1.23",
+ orderNo: orderBase + "001",
+ rtuAddr: "TEST-RTU-001",
+ vcNum: "TEST-VC-001",
+ planned: false,
+ time: this.extractTime(dateString),
+ deleteText: "鍒犻櫎",
+ displayText: "鍏抽榾",
+ isOpen: true
+ },
+ {
+ intakeNum: "鍙栨按鍙�2",
+ isOnLine: false,
+ dt: dateString,
+ waterInstant: "2.45",
+ orderNo: orderBase + "002",
+ rtuAddr: "TEST-RTU-002",
+ vcNum: "TEST-VC-002",
+ planned: false,
+ time: this.extractTime(dateString),
+ deleteText: "鍒犻櫎",
+ displayText: "鍏抽榾",
+ isOpen: true
+ },
+ {
+ intakeNum: "鍙栨按鍙�3",
+ isOnLine: true,
+ dt: dateString,
+ waterInstant: "3.67",
+ orderNo: orderBase + "003",
+ rtuAddr: "TEST-RTU-003",
+ vcNum: "TEST-VC-003",
+ planned: true,
+ time: this.extractTime(dateString),
+ deleteText: "鍒犻櫎",
+ displayText: "鍙栨秷",
+ isOpen: true
+ }
+ ];
+ return testData;
+ },
+ /**
* 鑾峰彇涓哄叧闃�璁板綍
*/
getOpenList() {
if (this.data.isLogin) {
+ // 濡傛灉璁剧疆浜嗕娇鐢ㄦ祴璇曟暟鎹紝鍒欑洿鎺ヤ娇鐢ㄦ祴璇曟暟鎹�
+ if (this.data.useTestData) {
+ const testData = this.generateTestData();
+ this.setData({
+ listData: testData,
+ isRefreshing: false,
+ isWXRefreshing: false,
+ });
+ this.updateDisplayText();
+ return;
+ }
+
const app = getApp();
const params = {
url: 'wx/valve/get',
data: {
- operator: app.globalData.sessionId
+ operator: app.globalData.clientId
}
};
get(params).then(data => {
@@ -379,6 +487,30 @@
this.setData({
showConfirm: false
});
+ if (this.data.useTestData) {
+ // 娴嬭瘯鏁版嵁妯″紡涓嬶紝妯℃嫙鍏抽榾鎿嶄綔
+ wx.showLoading({
+ title: '姝e湪鍏抽榾璇风◢鍊�...',
+ mask: true
+ });
+
+ // 妯℃嫙璇锋眰寤惰繜
+ setTimeout(() => {
+ wx.hideLoading();
+
+ // 浠庡垪琛ㄤ腑绉婚櫎琚叧闂殑闃�闂�
+ const updatedList = this.data.listData.filter(item =>
+ item.orderNo !== this.data.myItem.orderNo
+ );
+
+ this.setData({
+ listData: updatedList,
+ showTipDialog: true,
+ tipData: "鍏抽榾鍛戒护涓嬪彂鎴愬姛锛岀害20-60绉掑悗鍙埛鏂板揩閫熷叧闃�鍒楄〃鏌ョ湅鎵ц缁撴灉銆�"
+ });
+ }, 1500);
+ return;
+ }
this.postCloseValaue(this.data.myItem.orderNo, this.data.myItem.rtuAddr, this.data.myItem.vcNum);
},
//鏍规嵁session鑾峰彇鍐滄埛淇℃伅
@@ -548,13 +680,40 @@
onDelete(e) {
const item = e.currentTarget.dataset.item;
const that = this;
+
+ if (this.data.useTestData) {
+ // 娴嬭瘯鏁版嵁妯″紡涓嬶紝妯℃嫙鍒犻櫎鎿嶄綔
+ wx.showLoading({
+ title: '姝e湪寮哄埗鍒犻櫎璇风◢鍊�...',
+ mask: true
+ });
+
+ // 妯℃嫙璇锋眰寤惰繜
+ setTimeout(() => {
+ wx.hideLoading();
+
+ // 浠庡垪琛ㄤ腑绉婚櫎琚垹闄ょ殑椤�
+ const updatedList = this.data.listData.filter(listItem =>
+ listItem.orderNo !== item.orderNo
+ );
+
+ this.setData({
+ listData: updatedList
+ });
+
+ wx.showToast({
+ title: '鍒犻櫎鎴愬姛',
+ icon: 'success',
+ duration: 2000
+ });
+ }, 1500);
+ return;
+ }
+
wx.showLoading({
title: '姝e湪寮哄埗鍒犻櫎璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧
mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false
});
- that.setData({
- lastIntakeName: intakeName
- })
const data = {
vcNum: item.vcNum, //鍙栨按鍙D
rtuAddr: item.rtuAddr, //闃�鎺у櫒鍦板潃
@@ -586,9 +745,22 @@
} else {
displayText = "鍏抽榾"
}
+ let deleteText = "鍒犻櫎"
+ let time;
+ if (!item.dt) {
+ time = "鏆傛棤"
+ } else {
+ time = this.extractTime(item.dt)
+ }
+ if (item.waterInstant===null) {
+ item.waterInstant = "鏆傛棤"
+ }
+
return {
...item,
- displayText
+ displayText,
+ deleteText,
+ time
}; // 淇濈暀鎵�鏈夊叾浠栧瓧娈碉紝骞舵坊鍔� displayText 瀛楁
});
// 鏇存柊鍒楄〃鏁版嵁
@@ -598,11 +770,14 @@
},
//瑙g粦
unbind() {
- //娓呯┖鏁版嵁
this.setData({
- userPhone: "鏈櫥褰�",
- userName: "璇风櫥褰�",
- listData: []
+ showUnBind: true
+ })
+ },
+ //纭瑙g粦
+ unBindPost() {
+ this.setData({
+ showUnBind: false
})
wx.showLoading({
title: '姝e湪瑙g粦璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧
@@ -641,6 +816,11 @@
wx.hideLoading();
// 澶勭悊閿欒鍝嶅簲
console.error('璇锋眰澶辫触:', error);
+ wx.showToast({
+ title: '瑙g粦澶辫触',
+ icon: 'error',
+ duration: 3000
+ })
});
},
//鐐瑰嚮鎻愮ず鎸夐挳
@@ -654,5 +834,29 @@
this.setData({
showInfoDialog: false
})
+ },
+ //澶勭悊鏃堕棿鍘绘帀骞存湀鏃�
+ extractTime(datetimeString) {
+ const formattedDate = datetimeString.replace(" ", "T");
+ const date = new Date(formattedDate);
+ // 鑾峰彇灏忔椂銆佸垎閽熷拰绉�
+ const hours = date.getHours().toString().padStart(2, '0');
+ const minutes = date.getMinutes().toString().padStart(2, '0');
+ const seconds = date.getSeconds().toString().padStart(2, '0');
+ return `${hours}:${minutes}:${seconds}`;
+ },
+ onShareAppMessage: function (options) {
+ // 璁剧疆鍒嗕韩鍐呭
+ return {
+ title: '澶х鐏屾簤鍔╂墜', // 鍒嗕韩鏍囬
+ path: '/pages/home/home', // 鍒嗕韩璺緞锛岃璺緞闇�瑕佹槸褰撳墠灏忕▼搴忓瓨鍦ㄧ殑椤甸潰璺緞
+ imageUrl: '/images/logo2.jpg', // 鍒嗕韩鍥炬爣锛屽彲浠ユ槸缃戠粶鍥剧墖璺緞鎴栨湰鍦板浘鐗囪矾寰�
+ success: function (res) {
+ // 鍒嗕韩鎴愬姛鐨勫洖璋冨嚱鏁�
+ },
+ fail: function (res) {
+ // 鍒嗕韩澶辫触鐨勫洖璋冨嚱鏁�
+ }
+ };
}
})
\ No newline at end of file
--
Gitblit v1.8.0