管灌系统农户端微信小程序(嘉峪关应用)
pages/login/login.js
@@ -185,12 +185,11 @@
      manualNavigate: false // 标记是否是通过编程方式导航的
    });
    
    // 获取选择的项目 - 优先使用URL参数
    // 从URL参数获取项目信息
    if (options && options.project) {
      const project = options.project;
      const projectName = project === 'JYG' ? '嘉峪关项目' :
                         project === 'MQ' ? '民勤项目' :
                         project === 'TEST' ? '测试项目' : '未知项目';
      // 直接使用传入的项目名称,不再手动转换
      const projectName = options.projectName || '默认项目';
      
      console.log(`从URL参数获取项目信息: ${project} (${projectName})`);
      
@@ -218,30 +217,8 @@
          console.error('设置baseUrl失败:', e);
        }
      }
      // 保存项目选择到本地存储,确保项目信息一致
      storage.setItem('selectedProject', project)
        .then(() => console.log('成功保存项目选择到存储'))
        .catch(err => console.error('保存项目选择到存储失败:', err));
    } else {
      // 从本地存储获取已选择的项目
      storage.getItemSafe('selectedProject').then(project => {
        if (project) {
          const projectName = project === 'JYG' ? '嘉峪关项目' :
                            project === 'MQ' ? '民勤项目' :
                            project === 'TEST' ? '测试项目' : '未知项目';
          console.log(`从存储获取项目信息: ${project} (${projectName})`);
          this.setData({
            selectedProject: project,
            projectName: projectName
          });
        } else {
          console.log('未找到已选择的项目,使用默认项目');
        }
      }).catch(err => {
        console.error('获取已选择项目失败:', err);
      });
      console.log('未从URL获取到项目信息,使用默认值');
    }
  },
@@ -304,31 +281,6 @@
    if (!this.data.manualNavigate) {
      console.log('页面卸载时未设置manualNavigate,假定是返回按钮操作');
      
      // 立即写入临时标记,以便首页检测到
      try {
        // 多种方式确保写入成功
        wx.setStorageSync('_temp_from_login', 'true');
        console.log('立即写入_temp_from_login标记为true');
        // 创建一个全局对象,作为备用方案
        if (!getApp().globalData) {
          getApp().globalData = {};
        }
        getApp().globalData._tempFromLogin = true;
        console.log('同时设置全局变量_tempFromLogin=true');
        // 检查写入是否成功
        const check = wx.getStorageSync('_temp_from_login');
        console.log('检查临时标记是否写入成功:', check);
      } catch (e) {
        console.error('写入标记失败:', e);
        // 备用方式写入
        wx.setStorage({
          key: '_temp_from_login',
          data: 'true'
        });
      }
      // 尝试使用wx.navigateBack返回上一页(如果可行)
      const pages = getCurrentPages();
      if (pages.length > 1) {
@@ -352,41 +304,9 @@
    }
  },
  
  // 备用的返回首页方法
  backupReturnToHome() {
    console.log('使用备用方法返回首页');
    
    // 尝试使用switchTab(如果首页在tabBar中)
    const useReLaunch = () => {
      console.log('使用reLaunch返回首页');
      wx.reLaunch({
        url: '/pages/home/home?fromLogin=true',
        success: () => console.log('reLaunch成功返回首页'),
        fail: (err) => {
          console.error('reLaunch返回首页失败:', err);
          // 最后的备用方案:使用redirectTo
          setTimeout(() => {
            console.log('延迟使用redirectTo尝试返回首页');
            wx.redirectTo({
              url: '/pages/home/home?fromLogin=true',
              success: () => console.log('redirectTo成功返回首页'),
              fail: (err) => console.error('所有返回方法都失败:', err)
            });
          }, 100);
        }
      });
    };
    // 先尝试使用switchTab(某些版本可能将首页设置为tabBar)
    wx.switchTab({
      url: '/pages/home/home',
      success: () => console.log('switchTab成功返回首页'),
      fail: (err) => {
        console.log('switchTab失败(可能首页不在tabBar中):', err);
        useReLaunch();
      }
    });
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
@@ -494,11 +414,6 @@
        getApp().globalData.clientId = String(data.content.clientId);
        storage.setItem("clientId", String(data.content.clientId));
        
        // 设置当前项目的tag
        const tag = this.data.selectedProject === 'JYG' ? 'ym' :
                   this.data.selectedProject === 'MQ' ? 'mq' :
                   this.data.selectedProject === 'TEST' ? 'test' : 'unknown';
        getApp().globalData.tag = tag;
        
        // 保存用户信息
        const userInfo = {
@@ -506,8 +421,7 @@
          clientId: String(data.content.clientId),
          phone: this.data.phone,
          token: data.content.token || '',
          project: this.data.selectedProject,
          tag: tag
          project: this.data.selectedProject
        };
        
        // 保存到全局变量
@@ -565,12 +479,6 @@
    // 设置全局登录状态
    getApp().globalData.isLoggedIn = true;
    
    // 确保清除临时标记
    try {
      wx.removeStorageSync('_temp_from_login');
    } catch(e) {
      console.warn('清除临时标记失败', e);
    }
    
    wx.showToast({
      title: '绑定成功',
@@ -582,10 +490,10 @@
        setTimeout(() => {
          console.log('登录成功,准备跳转到首页');
          // 跳转到首页,使用reLaunch而不是redirectTo
          wx.reLaunch({
          wx.redirectTo({
            url: '/pages/home/home'
          });
        }, 1500);
        });
      }
    });
  },