From a52b5e0534bb261de994d0340f966f0cef934ba3 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 11 十二月 2024 14:13:32 +0800
Subject: [PATCH] 1.修复跳转绑定界面后绑定后没有销毁当前界面的bug
---
pages/home/home.js | 535 ++++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 396 insertions(+), 139 deletions(-)
diff --git a/pages/home/home.js b/pages/home/home.js
index d0a7f0b..cd54a3f 100644
--- a/pages/home/home.js
+++ b/pages/home/home.js
@@ -4,6 +4,7 @@
get,
post
} = require('../../api/request.js');
+const app = getApp();
Page({
/**
@@ -15,8 +16,8 @@
myItem: {},
waterIntakeName: "",
image: "/images/ic_head_bg.jpg",
- userPhone: "158****0723",
- userName: "寮犱笁",
+ userPhone: "鏈櫥褰�",
+ userName: "鐐瑰嚮鐧诲綍",
scrollViewHeight: 0,
listData: [],
isRefreshing: false,
@@ -28,13 +29,25 @@
},
errorDialogTitle: "鍏抽榾閿欒",
showForceConfirm: false, //鏄惁寮哄埗寮�闃�
- lastIntakeName: ""
+ lastIntakeName: "",
+ isLogin: false, //鏄惁宸茬粡鐧诲綍
+ showInfoDialog: false,
+ showTipDialog: false,
+ options: '',
+ showUnBind: false
},
openValve: function (e) {
- wx.navigateTo({
- url: '/pages/waterIntake/waterIntake',
- })
+ if (this.data.isLogin) {
+ wx.navigateTo({
+ url: '/pages/waterIntake/waterIntake',
+ })
+ } else {
+ wx.showToast({
+ title: '璇峰厛鐧诲綍',
+ icon: 'error'
+ })
+ }
},
calculateScrollViewHeight: function () {
wx.createSelectorQuery().selectAll('.list-item').boundingClientRect((rects) => {
@@ -45,16 +58,21 @@
}).exec();
},
startPullDownRefresh() {
- if (!this.data.isWXRefreshing) {
- var self = this;
- console.log(this.data.isRefreshing);
- this.setData({
- isRefreshing: true
- });
- this.getOpenList();
-
+ if (this.data.isLogin) {
+ if (!this.data.isWXRefreshing) {
+ var self = this;
+ console.log(this.data.isRefreshing);
+ this.setData({
+ isRefreshing: true
+ });
+ this.getOpenList();
+ }
+ } else {
+ wx.showToast({
+ title: '璇峰厛鐧诲綍',
+ icon: 'error'
+ })
}
-
},
//鑾峰彇鐢ㄦ埛鏁版嵁
getUserData() {
@@ -68,61 +86,124 @@
console.error('Failed to fetch data:', error);
});
},
-
-
-
/**
* 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
*/
onLoad(options) {
- //鍒ゆ柇鏈湴鏄惁淇濆瓨sessionId
-
-
- // 浣跨敤 wx.nextTick 绛夊緟椤甸潰娓叉煋瀹屾垚
- wx.nextTick(() => {
- this.calculateScrollViewHeight();
- });
//褰撳紑闃�鎴愬姛鍚庤皟鐢ㄥ埛鏂�
console.log("onLoad锛�" + options.param);
- if (options.param) {
- wx.showToast({
- title: '寮�闃�鎴愬姛',
- icon: 'success',
- duration: 3000
+ if (options.param === "1" || options.param === "2") {
+ this.setData({
+ options: options,
+ isLogin: true,
})
- this.getOpenList();
}
- this.initData();
+
},
/**
* 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
*/
onReady() {
+ //鍒ゆ柇鏈湴鏄惁淇濆瓨sessionId
+ if (storage.isHasKeySync("sessionId")) {
+ const app = getApp();
+ storage.getItem('sessionId').then((data) => {
+ app.globalData.sessionId = data;
+ this.setData({
+ isLogin: true
+ })
+ if (app.globalData.sessionId) {
+ 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 === "1") {
+ this.setData({
+ showTipDialog: true,
+ tipData: "寮�闃�鍛戒护涓嬪彂鎴愬姛锛屽洜寮�闃�闇�瑕佹椂闂达紝绾�20-60绉掑悗鍙埛鏂板揩閫熷叧闃�鍒楄〃鏌ョ湅鎵ц缁撴灉銆�"
+ })
+ setTimeout(() => {
+ this.getOpenList();
+ }, 20000)
+
+ } else if (this.data.options.param === "2") {
+ this.setData({
+ showTipDialog: true,
+ tipData: "棰勭害寮�闃�鍛戒护涓嬪彂鎴愬姛锛屽綋鍒拌揪棰勭害鏃堕棿骞朵笖鎴愬姛寮�闃�鍚庡揩閫熷叧闃�鍒楄〃浼氭樉绀烘湭鍏抽榾璁板綍"
+ })
+ this.getOpenList();
+ }
+ },
+ wxLogin() {
+ // 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) {
+ wx.showLoading({
+ title: '姝e湪鐧诲綍璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧
+ mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false
+ });
+ const data = {
+ code: codeData, //涓存椂鐧诲綍鍑瘉
+ };
+ post({
+ url: "wx/client/code_login",
+ data: data,
+ }).then(response => {
+ // 澶勭悊鎴愬姛鍝嶅簲
+ console.log('璇锋眰鎴愬姛:', response);
+ // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢�
+ wx.hideLoading();
+ if (response.code === "0001") {
+ //鍋囧涓虹┖鍒欒烦杞埌缁戝畾鐣岄潰
+ if (response.content.client.clientId === "") {
+ wx.navigateTo({
+ url: '/pages/wxbind/wxbind'
+ })
+ } else {
+ //缂撳瓨鍦ㄦ湰鍦�
+ this.setData({
+ isLogin: true
+ })
+ getApp().globalData.sessionId = response.content.client.sessionId
+ storage.setItem("sessionId", response.content.client.sessionId)
+ getApp().globalData.clientId = response.content.client.clientId
+ storage.setItem("clientId", response.content.client.clientId)
+ this.initData();
+ }
+ } else {
- /**
- * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず
- */
- onShow() {
-
+ }
+ }).catch(error => {
+ // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢�
+ wx.hideLoading();
+ // 澶勭悊閿欒鍝嶅簲
+ console.error('璇锋眰澶辫触:', error);
+ });
},
-
- /**
- * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰闅愯棌
- */
- onHide() {
-
- },
-
- /**
- * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍗歌浇
- */
- onUnload() {
-
- },
-
/**
* 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔
*/
@@ -137,43 +218,45 @@
// 鏁版嵁璇锋眰瀹屾垚鍚庯紝鍋滄涓嬫媺鍒锋柊鐨勫姩鐢�
this.getOpenList();
},
-
- /**
- * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
- */
- onReachBottom() {
-
- },
-
- /**
- * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
- */
- onShareAppMessage() {
-
- },
+ // 鍏呭��
recharge() {
- // wx.navigateTo({
- // url: '/pages/rechargeCard/rechargeCard',
- // })
- wx.showToast({
- title: '鏆傛湭寮�鏀�',
- icon: 'none'
- })
+ if (this.data.isLogin) {
+ wx.navigateTo({
+ url: '/pages/rechargeCard/rechargeCard',
+ })
+ } else {
+ wx.showToast({
+ title: '璇峰厛鐧诲綍',
+ icon: 'error'
+ })
+ }
},
+ //寮�鍏抽榾璁板綍
openValveList() {
- // wx.navigateTo({
- // url: '/pages/valveList/valveList',
- // })
- wx.showToast({
- title: '鏆傛湭寮�鏀�',
- icon: 'none'
- })
+ if (this.data.isLogin) {
+ wx.navigateTo({
+ url: '/pages/valveList/valveList',
+ })
+ } else {
+ wx.showToast({
+ title: '璇峰厛鐧诲綍',
+ icon: 'error'
+ })
+ }
+
},
+ //闂鍙嶉
feedBack() {
- wx.showToast({
- title: '鏆傛湭寮�鏀�',
- icon: 'none'
- })
+ if (this.data.isLogin) {
+ wx.navigateTo({
+ url: '/pages/feedback/feedback',
+ })
+ } else {
+ wx.showToast({
+ title: '璇峰厛鐧诲綍',
+ icon: 'error'
+ })
+ }
},
handleChange(e) {
const item = e.currentTarget.dataset.item;
@@ -189,13 +272,16 @@
this.setData({
showConfirm: false,
showErrorDialog: false,
- showForceConfirm: false
+ showForceConfirm: false,
+ showTipDialog: false
});
},
cancelDialog() {
this.setData({
showForceConfirm: false,
- showConfirm: false
+ showConfirm: false,
+ showTipDialog: false,
+ showUnBind: false
});
},
/**
@@ -229,11 +315,23 @@
// 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢�
wx.hideLoading();
this.getOpenList();
- wx.showToast({
- title: '鍏抽榾鎴愬姛',
- icon: 'success',
- duration: 3000
- })
+ if (response.content.data.success) {
+ this.setData({
+ isLogin: true,
+ showTipDialog: true,
+ tipData: "鍏抽榾鍛戒护涓嬪彂鎴愬姛锛岀害20-60绉掑悗鍙埛鏂板揩閫熷叧闃�鍒楄〃鏌ョ湅鎵ц缁撴灉銆�"
+ })
+ setTimeout(() => {
+ this.getOpenList();
+ }, 40000)
+ } else {
+ wx.showToast({
+ title: '鍛戒护鎵ц澶辫触',
+ icon: 'error',
+ duration: 3000
+ })
+ }
+
}).catch(error => {
wx.hideLoading();
this.setData({
@@ -243,38 +341,50 @@
})
// 澶勭悊閿欒鍝嶅簲
console.error('璇锋眰澶辫触:', error);
-
});
},
/**
* 鑾峰彇涓哄叧闃�璁板綍
*/
getOpenList() {
- const app = getApp();
- const params = {
- url: 'wx/valve/get',
- data: {
- operator: app.globalData.sessionId
- }
- };
- get(params).then(data => {
- this.setData({
- listData: data.content,
- isRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
- isWXRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
- })
- }).catch(err => {
- // 閿欒鍥炶皟
- this.setData({
- isRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
- isWXRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
- })
+ if (this.data.isLogin) {
+ const app = getApp();
+ const params = {
+ url: 'wx/valve/get',
+ data: {
+ operator: app.globalData.clientId
+ }
+ };
+ get(params).then(data => {
+ this.setData({
+ listData: data.content,
+ isRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
+ isWXRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
+ })
+ this.updateDisplayText();
+ }).catch(err => {
+ // 閿欒鍥炶皟
+ this.setData({
+ isRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
+ isWXRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
+ })
+ wx.showToast({
+ title: err.msg,
+ icon: 'error',
+ duration: 3000
+ })
+ });
+ } else {
wx.showToast({
- title: err.msg,
- icon: 'error',
- duration: 3000
+ title: '璇峰厛鐧诲綍',
+ icon: 'error'
})
- });
+ this.setData({
+ isRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
+ isWXRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
+ })
+ }
+
},
/**
* 纭鍏抽棴鍥炶皟
@@ -298,7 +408,8 @@
get(params).then(data => {
this.setData({
userName: data.content.clientName,
- userPhone: this.maskPhoneNumber(data.content.phone)
+ userPhone: this.maskPhoneNumber(data.content.phone),
+ isLogin: true
})
}).catch(err => {
// 閿欒鍥炶皟
@@ -327,28 +438,36 @@
* 鎵爜寮�闃�
*/
scenCode() {
- const that = this;
- wx.scanCode({
- success(res) {
- console.log(res.result); // 褰撲笖浠呭綋鎵爜涓洪潪寰俊浜岀淮鐮佹椂锛屼細杩斿洖result
- if (res.result.startsWith("content://")) {
- let jsonStr = res.result.replace("content://", "")
- try {
-
- that.saveData(jsonStr)
- } catch (error) {
- console.error('Error parsing JSON:', error);
+ if (this.data.isLogin) {
+ const that = this;
+ wx.scanCode({
+ success(res) {
+ console.log(res.result); // 褰撲笖浠呭綋鎵爜涓洪潪寰俊浜岀淮鐮佹椂锛屼細杩斿洖result
+ if (res.result.startsWith("content://")) {
+ let jsonStr = res.result.replace("content://", "")
+ try {
+ that.saveData(jsonStr)
+ } catch (error) {
+ console.error('Error parsing JSON:', error);
+ }
+ } else {
+ wx.navigateTo({
+ url: '/pages/openCard/openCard?intakeName=' + res.result,
+ })
+ // that.postOppenValva()
}
-
- } else {
- that.postOppenValva(res.result)
+ },
+ fail(err) {
+ console.error(err);
}
+ })
+ } else {
+ wx.showToast({
+ title: '璇峰厛鐧诲綍',
+ icon: 'error'
+ })
+ }
- },
- fail(err) {
- console.error(err);
- }
- })
},
confirmForceDialog() {
console.log("confirmForceDialog");
@@ -358,7 +477,7 @@
this.postOppenValva(this.data.lastIntakeName, true)
},
/**
- *
+ * 鎵爜寮�闃�璋冪敤寮�闃�鎺ュ彛
* @param {*} intakeName
*/
postOppenValva(intakeName, isforce) {
@@ -421,8 +540,7 @@
//杩涘叆鐣岄潰鑾峰彇鐣岄潰鏁版嵁
initData() {
const app = getApp();
- console.log("tag>>>>:" +app.globalData.tag)
-
+ console.log("tag>>>>:" + app.globalData.tag)
if (storage.isHasKeySync("userData")) {
storage.getItem('userData').then((data) => {
let jsonObj = JSON.parse(data);
@@ -439,6 +557,145 @@
this.getOpenList();
console.log('Failed to load parameter:false');
}
-
+
+ },
+ //寮哄埗鍒犻櫎
+ onDelete(e) {
+ const item = e.currentTarget.dataset.item;
+ const that = this;
+ wx.showLoading({
+ title: '姝e湪寮哄埗鍒犻櫎璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧
+ mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false
+ });
+ const data = {
+ vcNum: item.vcNum, //鍙栨按鍙D
+ rtuAddr: item.rtuAddr, //闃�鎺у櫒鍦板潃
+ };
+ post({
+ url: "wx/valve/deleteUnclosed",
+ data: data,
+ timeout: 180000
+ }).then(response => {
+ // 澶勭悊鎴愬姛鍝嶅簲
+ console.log('璇锋眰鎴愬姛:', response);
+ // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢�
+ wx.hideLoading();
+ //閲嶆柊鑾峰彇鍒楄〃鍒锋柊鏁版嵁
+ this.getOpenList();
+ }).catch(error => {
+ // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢�
+ wx.hideLoading();
+ // 澶勭悊閿欒鍝嶅簲
+ console.error('璇锋眰澶辫触:', error);
+ });
+ },
+ //淇敼鎸夐挳鏂囧瓧
+ updateDisplayText() {
+ const updatedList = this.data.listData.map(item => {
+ let displayText = '';
+ if (item.planned) {
+ displayText = '鍙栨秷';
+ } 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,
+ deleteText,
+ time
+ }; // 淇濈暀鎵�鏈夊叾浠栧瓧娈碉紝骞舵坊鍔� displayText 瀛楁
+ });
+ // 鏇存柊鍒楄〃鏁版嵁
+ this.setData({
+ listData: updatedList
+ });
+ },
+ //瑙g粦
+ unbind() {
+ this.setData({
+ showUnBind: true
+ })
+ },
+ //纭瑙g粦
+ unBindPost() {
+ this.setData({
+ showUnBind: false
+ })
+ wx.showLoading({
+ title: '姝e湪瑙g粦璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧
+ mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false
+ });
+ const data = {
+ sessionId: getApp().globalData.sessionId //鍙栨按鍙D
+ };
+ post({
+ url: 'wx/client/unbind',
+ data: data,
+ useParams: true
+ }).then(response => {
+ // 澶勭悊鎴愬姛鍝嶅簲
+ console.log('璇锋眰鎴愬姛:', response);
+ // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢�
+ wx.hideLoading();
+ //娓呯┖鏁版嵁
+ this.setData({
+ userPhone: "璇风櫥褰�",
+ userName: "鏈櫥褰�",
+ listData: [],
+ isLogin: false
+ })
+ app.globalData.sessionId = "";
+ app.globalData.clientId = ""
+ storage.removeItem("sessionId")
+ storage.removeItem("clientId")
+ wx.showToast({
+ title: '瑙g粦鎴愬姛',
+ icon: 'success',
+ duration: 3000
+ })
+ }).catch(error => {
+ // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢�
+ wx.hideLoading();
+ // 澶勭悊閿欒鍝嶅簲
+ console.error('璇锋眰澶辫触:', error);
+ wx.showToast({
+ title: '瑙g粦澶辫触',
+ icon: 'error',
+ duration: 3000
+ })
+ });
+ },
+ //鐐瑰嚮鎻愮ず鎸夐挳
+ infoShow() {
+ this.setData({
+ showInfoDialog: true
+ })
+ },
+ //鎻愮ず绐楃‘璁ゆ寜閽�
+ confirmBtnInfoDialog() {
+ 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}`;
}
})
\ No newline at end of file
--
Gitblit v1.8.0