From dc49b96b835326a64056da9da0b43eabd2d96e32 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 25 七月 2025 19:37:11 +0800
Subject: [PATCH] 常用取水口列表搜索接口兼容性
---
pages/home/home.js | 374 ++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 283 insertions(+), 91 deletions(-)
diff --git a/pages/home/home.js b/pages/home/home.js
index 1257aa1..a7d4ac1 100644
--- a/pages/home/home.js
+++ b/pages/home/home.js
@@ -50,17 +50,45 @@
openValve: function (e) {
const app = getApp();
- if (app.globalData.isLoggedIn) {
- wx.navigateTo({
- url: '/pages/waterIntake/waterIntake',
- })
- } else {
- wx.showToast({
- title: '璇峰厛鐧诲綍',
- icon: 'error'
- })
+ // 妫�鏌ュ綋鍓嶉」鐩槸鍚﹂渶瑕佺櫥褰�
+ const currentProject = app.globalData.selectedProject;
+ if (currentProject && PROJECT_CONFIG[currentProject] && PROJECT_CONFIG[currentProject].needLogin) {
+ // 闇�瑕佺櫥褰曠殑椤圭洰锛屾鏌ユ槸鍚﹀凡鐧诲綍
+ if (!app.globalData.isLoggedIn) {
+ // 鏈櫥褰曪紝鏄剧ず鎻愮ず骞堕樆姝㈡搷浣�
+ wx.showToast({
+ title: '璇峰厛鐧诲綍',
+ icon: 'error',
+ duration: 2000
+ });
+
+ // 鑾峰彇椤圭洰閰嶇疆
+ const projectConfig = PROJECT_CONFIG[currentProject];
+ if (projectConfig) {
+ // 璇㈤棶鐢ㄦ埛鏄惁鍓嶅線鐧诲綍
+ wx.showModal({
+ title: '鎻愮ず',
+ content: '鎮ㄩ渶瑕佺櫥褰曞悗鎵嶈兘浣跨敤寮�闃�鍔熻兘锛屾槸鍚︾珛鍗崇櫥褰曪紵',
+ confirmText: '鍓嶅線鐧诲綍',
+ cancelText: '鍙栨秷',
+ success: (res) => {
+ if (res.confirm) {
+ // 鐢ㄦ埛鐐瑰嚮纭锛岀洿鎺ヨ皟鐢╳xLogin鏂规硶
+ this.wxLogin();
+ }
+ }
+ });
+ }
+ return;
+ }
}
+
+ // 宸茬櫥褰曟垨涓嶉渶瑕佺櫥褰曠殑椤圭洰锛屾墽琛屽紑闃�鎿嶄綔
+ wx.navigateTo({
+ url: '/pages/waterIntake/waterIntake',
+ })
},
+
// calculateScrollViewHeight: function () {
// wx.createSelectorQuery().selectAll('.list-item').boundingClientRect((rects) => {
// let totalHeight = rects.reduce((sum, rect) => sum + rect.height, 0);
@@ -424,16 +452,43 @@
},
openValveList() {
const app = getApp();
- if (app.globalData.isLoggedIn) {
- wx.navigateTo({
- url: '/pages/valveList/valveList',
- })
- } else {
- wx.showToast({
- title: '璇峰厛鐧诲綍',
- icon: 'error'
- })
+ // 妫�鏌ュ綋鍓嶉」鐩槸鍚﹂渶瑕佺櫥褰�
+ const currentProject = app.globalData.selectedProject;
+ if (currentProject && PROJECT_CONFIG[currentProject] && PROJECT_CONFIG[currentProject].needLogin) {
+ // 闇�瑕佺櫥褰曠殑椤圭洰锛屾鏌ユ槸鍚﹀凡鐧诲綍
+ if (!app.globalData.isLoggedIn) {
+ // 鏈櫥褰曪紝鏄剧ず鎻愮ず骞堕樆姝㈡搷浣�
+ wx.showToast({
+ title: '璇峰厛鐧诲綍',
+ icon: 'error',
+ duration: 2000
+ });
+
+ // 鑾峰彇椤圭洰閰嶇疆
+ const projectConfig = PROJECT_CONFIG[currentProject];
+ if (projectConfig) {
+ // 璇㈤棶鐢ㄦ埛鏄惁鍓嶅線鐧诲綍
+ wx.showModal({
+ title: '鎻愮ず',
+ content: '鎮ㄩ渶瑕佺櫥褰曞悗鎵嶈兘鏌ョ湅寮�鍏抽榾璁板綍锛屾槸鍚︾珛鍗崇櫥褰曪紵',
+ confirmText: '鍓嶅線鐧诲綍',
+ cancelText: '鍙栨秷',
+ success: (res) => {
+ if (res.confirm) {
+ // 鐢ㄦ埛鐐瑰嚮纭锛岀洿鎺ヨ皟鐢╳xLogin鏂规硶
+ this.wxLogin();
+ }
+ }
+ });
+ }
+ return;
+ }
}
+
+ // 宸茬櫥褰曟垨涓嶉渶瑕佺櫥褰曠殑椤圭洰锛屾墽琛屾煡鐪嬭褰曟搷浣�
+ wx.navigateTo({
+ url: '/pages/valveList/valveList',
+ })
},
feedBack() {
wx.showToast({
@@ -487,18 +542,45 @@
});
}
},
- //杞亴
irrigation() {
- if (getApp().globalData.isLoggedIn) {
- wx.navigateTo({
- url: '/pages/irrigation/irrigation',
- })
- } else {
- wx.showToast({
- title: '璇峰厛鐧诲綍',
- icon: 'error'
- })
+ const app = getApp();
+ // 妫�鏌ュ綋鍓嶉」鐩槸鍚﹂渶瑕佺櫥褰�
+ const currentProject = app.globalData.selectedProject;
+ if (currentProject && PROJECT_CONFIG[currentProject] && PROJECT_CONFIG[currentProject].needLogin) {
+ // 闇�瑕佺櫥褰曠殑椤圭洰锛屾鏌ユ槸鍚﹀凡鐧诲綍
+ if (!app.globalData.isLoggedIn) {
+ // 鏈櫥褰曪紝鏄剧ず鎻愮ず骞堕樆姝㈡搷浣�
+ wx.showToast({
+ title: '璇峰厛鐧诲綍',
+ icon: 'error',
+ duration: 2000
+ });
+
+ // 鑾峰彇椤圭洰閰嶇疆
+ const projectConfig = PROJECT_CONFIG[currentProject];
+ if (projectConfig) {
+ // 璇㈤棶鐢ㄦ埛鏄惁鍓嶅線鐧诲綍
+ wx.showModal({
+ title: '鎻愮ず',
+ content: '鎮ㄩ渶瑕佺櫥褰曞悗鎵嶈兘浣跨敤杞亴鍔熻兘锛屾槸鍚︾珛鍗崇櫥褰曪紵',
+ confirmText: '鍓嶅線鐧诲綍',
+ cancelText: '鍙栨秷',
+ success: (res) => {
+ if (res.confirm) {
+ // 鐢ㄦ埛鐐瑰嚮纭锛岀洿鎺ヨ皟鐢╳xLogin鏂规硶
+ this.wxLogin();
+ }
+ }
+ });
+ }
+ return;
+ }
}
+
+ // 宸茬櫥褰曟垨涓嶉渶瑕佺櫥褰曠殑椤圭洰锛屾墽琛岃疆鐏屾搷浣�
+ wx.navigateTo({
+ url: '/pages/irrigation/irrigation',
+ })
},
handleChange(e) {
const item = e.currentTarget.dataset.item;
@@ -747,6 +829,41 @@
* 鎵爜寮�闃�
*/
scenCode() {
+ const app = getApp();
+ // 妫�鏌ュ綋鍓嶉」鐩槸鍚﹂渶瑕佺櫥褰�
+ const currentProject = app.globalData.selectedProject;
+ if (currentProject && PROJECT_CONFIG[currentProject] && PROJECT_CONFIG[currentProject].needLogin) {
+ // 闇�瑕佺櫥褰曠殑椤圭洰锛屾鏌ユ槸鍚﹀凡鐧诲綍
+ if (!app.globalData.isLoggedIn) {
+ // 鏈櫥褰曪紝鏄剧ず鎻愮ず骞堕樆姝㈡壂鐮�
+ wx.showToast({
+ title: '璇峰厛鐧诲綍',
+ icon: 'error',
+ duration: 2000
+ });
+
+ // 鑾峰彇椤圭洰閰嶇疆
+ const projectConfig = PROJECT_CONFIG[currentProject];
+ if (projectConfig) {
+ // 璇㈤棶鐢ㄦ埛鏄惁鍓嶅線鐧诲綍
+ wx.showModal({
+ title: '鎻愮ず',
+ content: '鎮ㄩ渶瑕佺櫥褰曞悗鎵嶈兘浣跨敤鎵爜寮�闃�鍔熻兘锛屾槸鍚︾珛鍗崇櫥褰曪紵',
+ confirmText: '鍓嶅線鐧诲綍',
+ cancelText: '鍙栨秷',
+ success: (res) => {
+ if (res.confirm) {
+ // 鐢ㄦ埛鐐瑰嚮纭锛岀洿鎺ヨ皟鐢╳xLogin鏂规硶
+ this.wxLogin();
+ }
+ }
+ });
+ }
+ return;
+ }
+ }
+
+ // 宸茬櫥褰曟垨涓嶉渶瑕佺櫥褰曠殑椤圭洰锛屾墽琛屾壂鐮佹搷浣�
const that = this;
wx.scanCode({
success(res) {
@@ -1309,7 +1426,7 @@
}
// 濡傛灉褰撳墠宸插湪鐧诲綍椤碉紝涓嶅啀璺宠浆
- if (currentRoute === 'pages/login/login') {
+ if (currentRoute === 'pages/login/login' || currentRoute === 'pages/accountLogin/accountLogin') {
console.log('褰撳墠宸插湪鐧诲綍椤碉紝涓嶅啀璺宠浆');
return;
}
@@ -1364,11 +1481,26 @@
wx.setStorageSync('_attempted_login_redirect', 'true');
} catch (e) {}
- // wx.navigateTo({
- // url: `/pages/login/login?project=${this.data.selectedProject}`,
- // success: () => console.log('鎴愬姛璺宠浆鍒扮櫥褰曢〉'),
- // fail: (err) => console.error('璺宠浆鍒扮櫥褰曢〉澶辫触:', err)
- // });
+ // 鏍规嵁椤圭洰閰嶇疆鐨刲oginType鍐冲畾璺宠浆鍒板摢涓櫥褰曢〉闈�
+ // 姝ゅ涓嶅仛璺宠浆锛屾敞閲婃帀鍘熸湁浠g爜
+ // const projectInfo = PROJECT_CONFIG[currentProject];
+ // const loginType = projectInfo?.loginType || 'code'; // 榛樿浣跨敤楠岃瘉鐮佺櫥褰�
+
+ // if (loginType === 'account') {
+ // // 璐﹀彿瀵嗙爜鐧诲綍
+ // wx.navigateTo({
+ // url: `/pages/accountLogin/accountLogin?project=${currentProject}`,
+ // success: () => console.log('鎴愬姛璺宠浆鍒拌处鍙峰瘑鐮佺櫥褰曢〉'),
+ // fail: (err) => console.error('璺宠浆鍒拌处鍙峰瘑鐮佺櫥褰曢〉澶辫触:', err)
+ // });
+ // } else {
+ // // 楠岃瘉鐮佺櫥褰�
+ // wx.navigateTo({
+ // url: `/pages/login/login?project=${currentProject}`,
+ // success: () => console.log('鎴愬姛璺宠浆鍒伴獙璇佺爜鐧诲綍椤�'),
+ // fail: (err) => console.error('璺宠浆鍒伴獙璇佺爜鐧诲綍椤靛け璐�:', err)
+ // });
+ // }
}
})
.catch(err => {
@@ -1391,12 +1523,26 @@
return;
}
- // 鍑洪敊鏃朵篃璺宠浆鍒扮櫥褰曢〉
- // wx.navigateTo({
- // url: `/pages/login/login?project=${this.data.selectedProject}`,
- // success: () => console.log('閿欒鍚庢垚鍔熻烦杞埌鐧诲綍椤�'),
- // fail: (err) => console.error('閿欒鍚庤烦杞埌鐧诲綍椤靛け璐�:', err)
- // });
+ // 鍑洪敊鏃朵篃璺宠浆鍒扮櫥褰曢〉锛屾牴鎹甽oginType鍐冲畾璺宠浆鐩爣
+ // 姝ゅ涓嶅仛璺宠浆锛屾敞閲婃帀鍘熸湁浠g爜
+ // const projectInfo = PROJECT_CONFIG[currentProject];
+ // const loginType = projectInfo?.loginType || 'code'; // 榛樿浣跨敤楠岃瘉鐮佺櫥褰�
+
+ // if (loginType === 'account') {
+ // // 璐﹀彿瀵嗙爜鐧诲綍
+ // wx.navigateTo({
+ // url: `/pages/accountLogin/accountLogin?project=${currentProject}`,
+ // success: () => console.log('閿欒鍚庢垚鍔熻烦杞埌璐﹀彿瀵嗙爜鐧诲綍椤�'),
+ // fail: (err) => console.error('閿欒鍚庤烦杞埌璐﹀彿瀵嗙爜鐧诲綍椤靛け璐�:', err)
+ // });
+ // } else {
+ // // 楠岃瘉鐮佺櫥褰�
+ // wx.navigateTo({
+ // url: `/pages/login/login?project=${currentProject}`,
+ // success: () => console.log('閿欒鍚庢垚鍔熻烦杞埌楠岃瘉鐮佺櫥褰曢〉'),
+ // fail: (err) => console.error('閿欒鍚庤烦杞埌楠岃瘉鐮佺櫥褰曢〉澶辫触:', err)
+ // });
+ // }
});
},
@@ -1503,11 +1649,21 @@
wx.hideLoading();
if (response.code === "0001") {
if (response.content.client.clientId === "") {
- // 鏈粦瀹氳处鍙凤紝璺宠浆鍒扮櫥褰曢〉闈㈠苟浼犻�掑綋鍓嶉」鐩俊鎭�
+ // 鏈粦瀹氳处鍙凤紝鏍规嵁椤圭洰閰嶇疆鐨刲oginType璺宠浆鍒扮浉搴旂殑鐧诲綍椤甸潰
const projectInfo = PROJECT_CONFIG[this.data.selectedProject];
- wx.navigateTo({
- url: `/pages/login/login?project=${this.data.selectedProject}&projectName=${projectInfo.displayName}`
- });
+ const loginType = projectInfo?.loginType || 'code'; // 榛樿浣跨敤楠岃瘉鐮佺櫥褰�
+
+ if (loginType === 'account') {
+ // 璐﹀彿瀵嗙爜鐧诲綍
+ wx.navigateTo({
+ url: `/pages/accountLogin/accountLogin?project=${this.data.selectedProject}&projectName=${projectInfo.displayName}`
+ });
+ } else {
+ // 楠岃瘉鐮佺櫥褰�
+ wx.navigateTo({
+ url: `/pages/login/login?project=${this.data.selectedProject}&projectName=${projectInfo.displayName}`
+ });
+ }
} else {
this.setData({
userName: response.content.client.clientName,
@@ -1553,11 +1709,21 @@
}
} else if (response.code === "1003") {
- // 鏈粦瀹氳处鍙凤紝璺宠浆鍒扮櫥褰曢〉闈㈠苟浼犻�掑綋鍓嶉」鐩俊鎭�
+ // 鏈粦瀹氳处鍙凤紝鏍规嵁椤圭洰閰嶇疆鐨刲oginType璺宠浆鍒扮浉搴旂殑鐧诲綍椤甸潰
const projectInfo = PROJECT_CONFIG[this.data.selectedProject];
- wx.navigateTo({
- url: `/pages/login/login?project=${this.data.selectedProject}&projectName=${projectInfo.displayName}`
- });
+ const loginType = projectInfo?.loginType || 'code'; // 榛樿浣跨敤楠岃瘉鐮佺櫥褰�
+
+ if (loginType === 'account') {
+ // 璐﹀彿瀵嗙爜鐧诲綍
+ wx.navigateTo({
+ url: `/pages/accountLogin/accountLogin?project=${this.data.selectedProject}&projectName=${projectInfo.displayName}`
+ });
+ } else {
+ // 楠岃瘉鐮佺櫥褰�
+ wx.navigateTo({
+ url: `/pages/login/login?project=${this.data.selectedProject}&projectName=${projectInfo.displayName}`
+ });
+ }
} else {
wx.showToast({
title: '鐧诲綍澶辫触',
@@ -1569,11 +1735,21 @@
wx.hideLoading();
console.error('鐧诲綍璇锋眰澶辫触:', error);
if(error.code==="1003"){
- // 鏈粦瀹氳处鍙凤紝璺宠浆鍒扮櫥褰曢〉闈㈠苟浼犻�掑綋鍓嶉」鐩俊鎭�
+ // 鏈粦瀹氳处鍙凤紝鏍规嵁椤圭洰閰嶇疆鐨刲oginType璺宠浆鍒扮浉搴旂殑鐧诲綍椤甸潰
const projectInfo = PROJECT_CONFIG[this.data.selectedProject];
- wx.navigateTo({
- url: `/pages/login/login?project=${this.data.selectedProject}&projectName=${projectInfo.displayName}`
- });
+ const loginType = projectInfo?.loginType || 'code'; // 榛樿浣跨敤楠岃瘉鐮佺櫥褰�
+
+ if (loginType === 'account') {
+ // 璐﹀彿瀵嗙爜鐧诲綍
+ wx.navigateTo({
+ url: `/pages/accountLogin/accountLogin?project=${this.data.selectedProject}&projectName=${projectInfo.displayName}`
+ });
+ } else {
+ // 楠岃瘉鐮佺櫥褰�
+ wx.navigateTo({
+ url: `/pages/login/login?project=${this.data.selectedProject}&projectName=${projectInfo.displayName}`
+ });
+ }
}else{
wx.showToast({
title: '鐧诲綍澶辫触锛岃閲嶈瘯',
@@ -1815,49 +1991,65 @@
},
// 鍒囨崲椤圭洰
- switchProject(e) {
- const project = e.currentTarget.dataset.project;
-
- if (config.setBaseUrl(project)) {
- this.setData({
- selectedProject: project
- });
-
- // 淇濆瓨閫夋嫨鍒版湰鍦板瓨鍌�
- try {
- wx.setStorageSync('selectedProject', project);
- } catch (e) {
- console.error('淇濆瓨椤圭洰閫夋嫨澶辫触:', e);
- }
-
- // 鏇存柊鍏ㄥ眬鍙橀噺
- const app = getApp();
- if (app && app.globalData) {
- app.globalData.selectedProject = project;
-
- // 鏍规嵁椤圭洰閰嶇疆璁剧疆鐩稿叧鍙傛暟
- const projectConfig = PROJECT_CONFIG[project];
- if (projectConfig) {
- app.globalData.tag = projectConfig.tag;
- if (!projectConfig.needLogin) {
- app.globalData.operator = projectConfig.operatorId;
- app.globalData.clientId = projectConfig.operatorId;
- app.globalData.isLoggedIn = true;
- app.globalData.sessionId = projectConfig.operatorId;
- // 濡傛灉鏈塿cId锛屼篃璁剧疆
- if (projectConfig.vcId) {
- app.globalData.vcId = projectConfig.vcId;
- }
- }
+ switchProject() {
+ // 鏄剧ず浜屾纭寮圭獥
+ wx.showModal({
+ title: '鍒囨崲椤圭洰',
+ content: '纭畾瑕佸垏鎹㈤」鐩悧锛熷垏鎹㈠悗闇�瑕侀噸鏂扮櫥褰曘��',
+ confirmText: '纭鍒囨崲',
+ confirmColor: '#1890FF',
+ cancelText: '鍙栨秷',
+ success: (res) => {
+ if (res.confirm) {
+ // 鐢ㄦ埛鐐瑰嚮纭锛屾樉绀洪」鐩�夋嫨寮圭獥
+ this.setData({
+ showProjectDialog: true
+ });
}
}
+ });
+ },
- // 閲嶆柊鍔犺浇椤甸潰鏁版嵁
- this.initData();
+ // 娣诲姞鐢ㄦ埛鐐瑰嚮澶村儚鎴栫敤鎴峰悕鐧诲綍鐨勫鐞嗛�昏緫
+ handleUserTap() {
+ const app = getApp();
+ // 濡傛灉宸茬櫥褰曪紝涓嶉渶瑕佽烦杞埌鐧诲綍椤甸潰
+ if (app.globalData.isLoggedIn) {
+ return;
+ }
+
+ // 妫�鏌ュ綋鍓嶉」鐩槸鍚﹂渶瑕佺櫥褰�
+ const currentProject = app.globalData.selectedProject;
+ if (currentProject && PROJECT_CONFIG[currentProject]) {
+ const projectConfig = PROJECT_CONFIG[currentProject];
+
+ if (!projectConfig.needLogin) {
+ console.log('handleUserTap: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰�:', currentProject);
+ // 涓嶉渶瑕佺櫥褰曠殑椤圭洰锛屾樉绀洪」鐩悕绉�
+ this.setData({
+ userName: projectConfig.displayName
+ });
+ return;
+ }
+
+ // 鏍规嵁椤圭洰閰嶇疆鐨刲oginType鍐冲畾璺宠浆鍒板摢涓櫥褰曢〉闈�
+ const loginType = projectConfig.loginType || 'code'; // 榛樿浣跨敤楠岃瘉鐮佺櫥褰�
+
+ if (loginType === 'account') {
+ // 璐﹀彿瀵嗙爜鐧诲綍
+ wx.navigateTo({
+ url: `/pages/accountLogin/accountLogin?project=${currentProject}&projectName=${projectConfig.displayName}`
+ });
+ } else {
+ // 楠岃瘉鐮佺櫥褰�
+ wx.navigateTo({
+ url: `/pages/login/login?project=${currentProject}&projectName=${projectConfig.displayName}`
+ });
+ }
} else {
- wx.showToast({
- title: '鍒囨崲椤圭洰澶辫触',
- icon: 'none'
+ // 濡傛灉娌℃湁褰撳墠椤圭洰閰嶇疆锛岄粯璁よ烦杞埌楠岃瘉鐮佺櫥褰�
+ wx.navigateTo({
+ url: '/pages/login/login'
});
}
},
--
Gitblit v1.8.0