| | |
| | | const projectConfig = PROJECT_CONFIG[project]; |
| | | if (projectConfig) { |
| | | getApp().globalData.tag = projectConfig.tag; |
| | | |
| | | // 根据项目是否需要登录,设置不同的userName |
| | | if (projectConfig.needLogin === false) { |
| | | // 不需要登录的项目,显示项目名称 |
| | | this.setData({ |
| | | userName: projectConfig.displayName |
| | | }); |
| | | } else { |
| | | // 需要登录的项目,显示"请点击登录" |
| | | this.setData({ |
| | | userName: "请点击登录" |
| | | }); |
| | | } |
| | | } |
| | | |
| | | // 根据项目设置对应的operator和clientId |
| | |
| | | duration: 3000 |
| | | }); |
| | | } |
| | | } else { |
| | | // 其他错误,显示错误信息 |
| | | wx.showToast({ |
| | | title: err.msg || '获取用户信息失败', |
| | | icon: 'none', |
| | | duration: 3000 |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | const currentProject = app.globalData.selectedProject; |
| | | const projectConfig = PROJECT_CONFIG[currentProject]; |
| | | const needLogin = projectConfig && projectConfig.needLogin; |
| | | |
| | | // 根据项目是否需要登录,设置不同的userName |
| | | if (projectConfig && projectConfig.needLogin === false) { |
| | | // 不需要登录的项目,显示项目名称 |
| | | this.setData({ |
| | | userName: projectConfig.displayName |
| | | }); |
| | | } |
| | | |
| | | // 尝试获取用户数据和已开阀记录 |
| | | try { |
| | |
| | | const isProjectChanged = currentProject && currentProject !== newProject; |
| | | |
| | | // 添加二次确认 |
| | | const confirmText = isProjectChanged |
| | | ? `确定要将项目从"${PROJECT_CONFIG[currentProject]?.displayName || '当前项目'}"切换到"${projectConfig.displayName}"吗?` |
| | | : `确定选择"${projectConfig.displayName}"项目吗?`; |
| | | const confirmText = isProjectChanged ? |
| | | `确定要将项目从"${PROJECT_CONFIG[currentProject]?.displayName || '当前项目'}"切换到"${projectConfig.displayName}"吗?` : |
| | | `确定选择"${projectConfig.displayName}"项目吗?`; |
| | | |
| | | wx.showModal({ |
| | | title: isProjectChanged ? '确认切换项目' : '确认选择项目', |
| | |
| | | getApp().globalData.clientId = ''; |
| | | getApp().globalData.isLoggedIn = false; |
| | | getApp().globalData.userInfo = null; |
| | | getApp().globalData.vcId = ''; |
| | | getApp().globalData.operator = ''; |
| | | |
| | | // 清除存储中的登录状态 |
| | | try { |
| | | // 清除基本登录数据 |
| | | wx.removeStorageSync('sessionId'); |
| | | wx.removeStorageSync('clientId'); |
| | | wx.removeStorageSync('userData'); |
| | | wx.removeStorageSync('isLoggedIn'); |
| | | |
| | | // 清除之前项目的特定数据 |
| | | if (currentProject) { |
| | | wx.removeStorageSync(`${currentProject}_params`); |
| | | } |
| | | |
| | | // 清除其他可能的缓存数据 |
| | | wx.removeStorageSync('_attempted_login_redirect'); |
| | | |
| | | console.log('已清除登录相关的存储数据'); |
| | | } catch (e) { |
| | | console.error('清除存储数据失败:', e); |
| | | } |
| | | |
| | | // 重置UI显示状态 |
| | | if (projectConfig.needLogin === false) { |
| | | // 不需要登录的项目,显示项目名称作为userName |
| | | this.setData({ |
| | | userName: "请登录", |
| | | userName: projectConfig.displayName, |
| | | userPhone: "", |
| | | listData: [] |
| | | }); |
| | | } else { |
| | | // 需要登录的项目,显示"请点击登录" |
| | | this.setData({ |
| | | userName: "请点击登录", |
| | | userPhone: "", |
| | | listData: [] |
| | | }); |
| | | } |
| | | } |
| | | |
| | | // 保存项目选择到本地存储 |
| | |
| | | |
| | | // 通过配置对象统一设置项目参数 |
| | | getApp().globalData.tag = projectConfig.tag; |
| | | |
| | | // 设置用户界面显示的项目名称 |
| | | this.setData({ |
| | | userName: projectConfig.displayName |
| | | }); |
| | | |
| | | // 对于不需要登录的项目,直接设置operator和clientId |
| | | if (!projectConfig.needLogin && projectConfig.operatorId) { |
| | |
| | | }); |
| | | setTimeout(() => { |
| | | console.log('项目已切换,正在初始化数据'); |
| | | // 确保显示正确的用户名 |
| | | if (!projectConfig.needLogin) { |
| | | this.setData({ |
| | | userName: projectConfig.displayName |
| | | }); |
| | | } else { |
| | | this.setData({ |
| | | userName: "请点击登录" |
| | | }); |
| | | } |
| | | this.initData(); |
| | | }, 1000); |
| | | |
| | |
| | | wxLogin() { |
| | | // 检查当前项目是否需要登录 |
| | | const currentProject = getApp().globalData.selectedProject; |
| | | if (currentProject && PROJECT_CONFIG[currentProject] && !PROJECT_CONFIG[currentProject].needLogin) { |
| | | if (currentProject && PROJECT_CONFIG[currentProject]) { |
| | | const projectConfig = PROJECT_CONFIG[currentProject]; |
| | | |
| | | if (!projectConfig.needLogin) { |
| | | console.log('wxLogin: 当前项目不需要登录:', currentProject); |
| | | // 不需要登录的项目,显示项目名称 |
| | | this.setData({ |
| | | userName: projectConfig.displayName |
| | | }); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | if (!getApp().globalData.isLoggedIn) { |
| | |
| | | wx.hideLoading(); |
| | | if (response.code === "0001") { |
| | | if (response.content.client.clientId === "") { |
| | | // 未绑定账号,跳转到登录页面 |
| | | // wx.navigateTo({ |
| | | // url: `/pages/login/login?project=${this.data.selectedProject}` |
| | | // }); |
| | | // 未绑定账号,跳转到登录页面并传递当前项目信息 |
| | | const projectInfo = PROJECT_CONFIG[this.data.selectedProject]; |
| | | 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") { |
| | | // 未绑定账号,跳转到登录页面并传递当前项目信息 |
| | | const projectInfo = PROJECT_CONFIG[this.data.selectedProject]; |
| | | wx.navigateTo({ |
| | | url: `/pages/login/login?project=${this.data.selectedProject}&projectName=${projectInfo.displayName}` |
| | | }); |
| | | } else { |
| | | wx.showToast({ |
| | | title: '登录失败', |
| | | icon: 'error', |
| | | duration: 2000 |
| | | }); |
| | | // wx.navigateTo({ |
| | | // url: `/pages/login/login?project=${this.data.selectedProject}` |
| | | // }); |
| | | } |
| | | }).catch(error => { |
| | | wx.hideLoading(); |
| | | console.error('登录请求失败:', error); |
| | | if(error.code==="1003"){ |
| | | // 未绑定账号,跳转到登录页面并传递当前项目信息 |
| | | const projectInfo = PROJECT_CONFIG[this.data.selectedProject]; |
| | | wx.navigateTo({ |
| | | url: `/pages/login/login?project=${this.data.selectedProject}&projectName=${projectInfo.displayName}` |
| | | }); |
| | | }else{ |
| | | wx.showToast({ |
| | | title: '登录失败,请重试', |
| | | icon: 'none' |
| | | }); |
| | | // wx.redirectTo({ |
| | | // url: `/pages/login/login?project=${this.data.selectedProject}` |
| | | // }); |
| | | } |
| | | }); |
| | | } else { |
| | | wx.hideLoading(); |