| | |
| | | |
| | | 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) { |
| | | // 用户点击确认,直接调用wxLogin方法 |
| | | 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); |
| | |
| | | }, |
| | | 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) { |
| | | // 用户点击确认,直接调用wxLogin方法 |
| | | this.wxLogin(); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | return; |
| | | } |
| | | } |
| | | |
| | | // 已登录或不需要登录的项目,执行查看记录操作 |
| | | wx.navigateTo({ |
| | | url: '/pages/valveList/valveList', |
| | | }) |
| | | }, |
| | | feedBack() { |
| | | wx.showToast({ |
| | |
| | | }); |
| | | } |
| | | }, |
| | | //轮灌 |
| | | 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) { |
| | | // 用户点击确认,直接调用wxLogin方法 |
| | | this.wxLogin(); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | return; |
| | | } |
| | | } |
| | | |
| | | // 已登录或不需要登录的项目,执行轮灌操作 |
| | | wx.navigateTo({ |
| | | url: '/pages/irrigation/irrigation', |
| | | }) |
| | | }, |
| | | handleChange(e) { |
| | | const item = e.currentTarget.dataset.item; |
| | |
| | | * 扫码开阀 |
| | | */ |
| | | 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) { |
| | | // 用户点击确认,直接调用wxLogin方法 |
| | | this.wxLogin(); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | return; |
| | | } |
| | | } |
| | | |
| | | // 已登录或不需要登录的项目,执行扫码操作 |
| | | const that = this; |
| | | wx.scanCode({ |
| | | success(res) { |
| | |
| | | } |
| | | |
| | | // 如果当前已在登录页,不再跳转 |
| | | if (currentRoute === 'pages/login/login') { |
| | | if (currentRoute === 'pages/login/login' || currentRoute === 'pages/accountLogin/accountLogin') { |
| | | console.log('当前已在登录页,不再跳转'); |
| | | return; |
| | | } |
| | |
| | | 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) |
| | | // }); |
| | | // 根据项目配置的loginType决定跳转到哪个登录页面 |
| | | // 此处不做跳转,注释掉原有代码 |
| | | // 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 => { |
| | |
| | | return; |
| | | } |
| | | |
| | | // 出错时也跳转到登录页 |
| | | // wx.navigateTo({ |
| | | // url: `/pages/login/login?project=${this.data.selectedProject}`, |
| | | // success: () => console.log('错误后成功跳转到登录页'), |
| | | // fail: (err) => console.error('错误后跳转到登录页失败:', err) |
| | | // }); |
| | | // 出错时也跳转到登录页,根据loginType决定跳转目标 |
| | | // 此处不做跳转,注释掉原有代码 |
| | | // 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) |
| | | // }); |
| | | // } |
| | | }); |
| | | }, |
| | | |
| | |
| | | wx.hideLoading(); |
| | | if (response.code === "0001") { |
| | | if (response.content.client.clientId === "") { |
| | | // 未绑定账号,跳转到登录页面并传递当前项目信息 |
| | | // 未绑定账号,根据项目配置的loginType跳转到相应的登录页面 |
| | | 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, |
| | |
| | | |
| | | } |
| | | } else if (response.code === "1003") { |
| | | // 未绑定账号,跳转到登录页面并传递当前项目信息 |
| | | // 未绑定账号,根据项目配置的loginType跳转到相应的登录页面 |
| | | 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: '登录失败', |
| | |
| | | wx.hideLoading(); |
| | | console.error('登录请求失败:', error); |
| | | if(error.code==="1003"){ |
| | | // 未绑定账号,跳转到登录页面并传递当前项目信息 |
| | | // 未绑定账号,根据项目配置的loginType跳转到相应的登录页面 |
| | | 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: '登录失败,请重试', |
| | |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | // 添加用户点击头像或用户名登录的处理逻辑 |
| | | 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; |
| | | } |
| | | |
| | | // 根据项目配置的loginType决定跳转到哪个登录页面 |
| | | 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.navigateTo({ |
| | | url: '/pages/login/login' |
| | | }); |
| | | } |
| | | }, |
| | | }) |