管灌系统农户端微信小程序(嘉峪关应用)
pages/home/home.js
@@ -7,6 +7,35 @@
const {
  PROJECT_URLS
} = require('../../api/config.js');
// 项目配置,包含各项目的专有设置
const PROJECT_CONFIG = {
  JYG: {
    tag: 'ym',
    displayName: '嘉峪关项目',
    needLogin: true // 需要登录
  },
  MQ: {
    tag: 'mq',
    displayName: '民勤项目',
    operatorId: '2025033115305200006', // 统一ID用于operator和clientId
    needLogin: false // 不需要登录
  },
  TEST: {
    tag: 'ym',
    displayName: '测试项目',
    operatorId: '2025032411245000006', // 统一ID用于operator和clientId
    vcId: '2024122617295800009',
    needLogin: false // 不需要登录
  },
  SCHOOL: {
    tag: 'XX',
    displayName: '学校项目',
    operatorId: '2025040215305200006', // 统一ID用于operator和clientId
    needLogin: true // 不需要登录
  }
};
Page({
  /**
@@ -36,7 +65,8 @@
    selectedProject: '',
    avatarTapCount: 0,
    isFromLogin: false,
    showTipDialog:''
    showTipDialog: '',
    projectConfig: PROJECT_CONFIG // 添加项目配置到data中
  },
  openValve: function (e) {
@@ -61,28 +91,23 @@
    }).exec();
  },
  startPullDownRefresh() {
    if (!this.data.isWXRefreshing) {
      var self = this;
      console.log(this.data.isRefreshing);
      this.setData({
        isRefreshing: true
      });
      this.getOpenList();
    if (getApp().globalData.isLoggedIn) {
      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() {
    get('/items')
      .then((data) => {
        this.setData({
          items: data
        });
      })
      .catch((error) => {
        console.error('Failed to fetch data:', error);
      });
  },
@@ -92,12 +117,12 @@
   */
  onLoad(options) {
    console.log('home页面onLoad开始,参数:', options);
     //当开阀成功后调用刷新
    //当开阀成功后调用刷新
    if (options.param === "1" || options.param === "2") {
        this.setData({
          options: options
        })
      }
      this.setData({
        options: options
      })
    }
    // 检查是否从登录页面返回
    let fromLogin = false;
@@ -105,29 +130,6 @@
    if (options && options.fromLogin === 'true') {
      console.log('检测到URL参数fromLogin=true');
      fromLogin = true;
    }
    // 检查是否有临时标记
    try {
      const tempFromLogin = wx.getStorageSync('_temp_from_login');
      console.log('读取到的临时标记值:', tempFromLogin);
      if (tempFromLogin === 'true') {
        console.log('检测到临时fromLogin标记');
        fromLogin = true;
        // 延迟清除临时标记,确保其他地方有足够时间读取
        setTimeout(() => {
          try {
            wx.removeStorageSync('_temp_from_login');
            console.log('自动清除临时fromLogin标记');
          } catch (e) {
            console.error('清除临时标记失败:', e);
          }
        }, 10000); // 延长到10秒
      }
    } catch (e) {
      console.error('读取临时标记失败:', e);
    }
    console.log('home页面加载,fromLogin:', fromLogin, '参数:', options);
@@ -169,44 +171,39 @@
          getApp().globalData.selectedProject = project;
          // 根据项目设置对应的tag
          if (project === 'JYG') {
            getApp().globalData.tag = 'ym'; // 嘉峪关项目对应tag为ym
          const projectConfig = PROJECT_CONFIG[project];
          if (projectConfig) {
            getApp().globalData.tag = projectConfig.tag;
            this.setData({
              userName: "嘉峪关项目"
              userName: projectConfig.displayName
            });
          } else if (project === 'MQ') {
            getApp().globalData.tag = 'mq'; // 民勤项目对应tag为mq
            this.setData({
              userName: "民勤项目"
            });
            // 加载民勤项目持久化参数
            return storage.getItemSafe('MQ_params')
              .then(params => {
                if (params) {
                  getApp().globalData.operator = params.operator;
                  getApp().globalData.clientId = params.clientId;
                  getApp().globalData.isLoggedIn = params.isLoggedIn;
                  getApp().globalData.sessionId = params.sessionId;
                }
                return Promise.resolve();
              });
          } else if (project === 'TEST') {
            getApp().globalData.tag = 'ym'; // 测试项目对应tag为test
            this.setData({
              userName: "测试项目"
            });
            // 加载测试项目持久化参数
            return storage.getItemSafe('TEST_params')
              .then(params => {
                if (params) {
                  getApp().globalData.operator = params.operator;
                  getApp().globalData.clientId = params.clientId;
                  getApp().globalData.isLoggedIn = params.isLoggedIn;
                  getApp().globalData.sessionId = params.sessionId;
                  getApp().globalData.vcId = params.vcId;
                }
                return Promise.resolve();
              });
          }
          // 根据项目设置对应的operator和clientId
          if (projectConfig && projectConfig.operatorId) {
            getApp().globalData.operator = projectConfig.operatorId;
            getApp().globalData.clientId = projectConfig.operatorId;
            getApp().globalData.isLoggedIn = true;
            getApp().globalData.sessionId = projectConfig.operatorId;
            // 如果有vcId,也设置
            if (projectConfig.vcId) {
              getApp().globalData.vcId = projectConfig.vcId;
            }
            // 持久化存储项目参数
            const params = {
              operator: projectConfig.operatorId,
              clientId: projectConfig.operatorId,
              isLoggedIn: true,
              sessionId: projectConfig.operatorId
            };
            if (projectConfig.vcId) {
              params.vcId = projectConfig.vcId;
            }
            storage.setItem(`${project}_params`, params);
          }
          // 继续初始化页面
@@ -235,7 +232,7 @@
        console.log('获取存储数据中断:', error.message);
        // 如果是从登录页返回或已登录,不再跳转
        if (fromLogin || getApp().globalData.isLoggedIn) {
        if (fromLogin) {
          console.log('从登录页返回或已登录,继续初始化页面');
          this.continueInitPage(options);
          return;
@@ -289,22 +286,6 @@
      });
    }
    // 检查是否有临时标记
    try {
      const tempFromLogin = wx.getStorageSync('_temp_from_login');
      console.log('onShow: 读取到的临时标记值:', tempFromLogin);
      if (tempFromLogin === 'true') {
        console.log('onShow: 检测到临时fromLogin标记');
        fromLogin = true;
        this.setData({
          isFromLogin: true
        });
      }
    } catch (e) {
      console.error('onShow: 读取临时标记失败:', e);
    }
    // 初始化处理
    if (fromLogin || this.data.isFromLogin) {
      console.log('onShow: 从登录页返回,不进行登录检查');
@@ -322,12 +303,6 @@
    // 再次确认是否从登录页返回
    if (this.getFromLogin()) {
      console.log('检测到从登录页返回的标记,不进行登录检查');
      return;
    }
    // 再次检查全局登录状态
    if (getApp().globalData.isLoggedIn) {
      console.log('检测到全局登录状态,不进行登录检查');
      return;
    }
@@ -405,21 +380,49 @@
  },
  //解绑用户
  unbind() {
    wx.showModal({
      title: '解绑确认',
      content: '确定要解绑当前账号吗?',
      success: (res) => {
        if (res.confirm) {
          this.unBindPost()
    // 检查当前项目是否需要登录
    const currentProject = getApp().globalData.selectedProject;
    const projectConfig = PROJECT_CONFIG[currentProject];
    // 如果当前项目配置为不需要登录,则提示用户不可解绑
    if (projectConfig && !projectConfig.needLogin) {
      wx.showToast({
        title: '当前用户不可解绑',
        icon: 'none',
        duration: 2000
      });
      return;
    }
    if (getApp().globalData.isLoggedIn) {
      wx.showModal({
        title: '解绑确认',
        content: '确定要解绑当前账号吗?',
        success: (res) => {
          if (res.confirm) {
            this.unBindPost()
          }
        }
      }
    });
      });
    } else {
      wx.showToast({
        title: '还未绑定',
        icon: 'error'
      })
    }
  },
  //轮灌
  irrigation() {
    wx.navigateTo({
      url: '/pages/irrigation/irrigation',
    })
    if (getApp().globalData.isLoggedIn) {
      wx.navigateTo({
        url: '/pages/irrigation/irrigation',
      })
    } else {
      wx.showToast({
        title: '请先登录',
        icon: 'error'
      })
    }
  },
  handleChange(e) {
    const item = e.currentTarget.dataset.item;
@@ -497,7 +500,17 @@
   */
  getOpenList() {
    const app = getApp();
    if (!getApp().globalData.isLoggedIn) {
      wx.showToast({
        title: '请先登录',
        icon: 'error'
      })
      this.setData({
        isRefreshing: false, // 将triggered属性设置为false,表示下拉刷新已完成
        isWXRefreshing: false, // 将triggered属性设置为false,表示下拉刷新已完成
      });
      return;
    }
    // 检查是否从登录页返回
    const fromLogin = this.getFromLogin();
@@ -796,12 +809,25 @@
      return;
    }
    // 检查当前项目是否需要登录
    const currentProject = app.globalData.selectedProject;
    const projectConfig = PROJECT_CONFIG[currentProject];
    const needLogin = projectConfig && projectConfig.needLogin;
    // 尝试获取用户数据和已开阀记录
    try {
      // 优先检查全局变量中是否有sessionId
      if (app.globalData.sessionId) {
        console.log('initData: 使用全局sessionId获取数据');
        this.getUserDataBySession();
        // 只有需要登录的项目才调用getUserDataBySession
        if (needLogin) {
          console.log('initData: 当前项目需要登录,获取用户数据');
          this.getUserDataBySession();
        } else {
          console.log('initData: 当前项目不需要登录,跳过获取用户数据');
        }
        this.getOpenList();
        return;
      }
@@ -824,8 +850,15 @@
                console.error('userData解析失败:', e);
              }
            }
            // 无论如何都尝试获取用户信息和开阀列表
            this.getUserDataBySession();
            // 只有需要登录的项目才调用getUserDataBySession
            if (needLogin) {
              console.log('initData: 当前项目需要登录,获取用户数据');
              this.getUserDataBySession();
            } else {
              console.log('initData: 当前项目不需要登录,跳过获取用户数据');
            }
            this.getOpenList();
          })
          .catch((err) => {
@@ -836,7 +869,14 @@
              console.log('initData:catch: 检测到从登录页返回的标记,只获取开阀列表');
              this.getOpenList();
            } else {
              this.getUserDataBySession();
              // 只有需要登录的项目才调用getUserDataBySession
              if (needLogin) {
                console.log('initData:catch: 当前项目需要登录,获取用户数据');
                this.getUserDataBySession();
              } else {
                console.log('initData:catch: 当前项目不需要登录,跳过获取用户数据');
              }
              this.getOpenList();
            }
          });
@@ -848,7 +888,14 @@
          console.log('initData:else: 检测到从登录页返回的标记,只获取开阀列表');
          this.getOpenList();
        } else {
          this.getUserDataBySession();
          // 只有需要登录的项目才调用getUserDataBySession
          if (needLogin) {
            console.log('initData:else: 当前项目需要登录,获取用户数据');
            this.getUserDataBySession();
          } else {
            console.log('initData:else: 当前项目不需要登录,跳过获取用户数据');
          }
          this.getOpenList();
        }
      }
@@ -860,8 +907,14 @@
        console.log('initData:error: 检测到从登录页返回的标记,只获取开阀列表');
        this.getOpenList();
      } else {
        // 出错时仍尝试获取数据
        this.getUserDataBySession();
        // 只有需要登录的项目才调用getUserDataBySession
        if (needLogin) {
          console.log('initData:error: 当前项目需要登录,获取用户数据');
          this.getUserDataBySession();
        } else {
          console.log('initData:error: 当前项目不需要登录,跳过获取用户数据');
        }
        this.getOpenList();
      }
    }
@@ -912,9 +965,15 @@
    // 获取当前已选项目和新选择的项目
    const currentProject = getApp().globalData.selectedProject;
    const newProject = this.data.selectedProject;
    const projectName = newProject === 'JYG' ? '嘉峪关项目' :
                       newProject === 'MQ' ? '民勤项目' :
                       newProject === 'TEST' ? '测试项目' : '未知项目';
    const projectConfig = PROJECT_CONFIG[newProject];
    if (!projectConfig) {
      wx.showToast({
        title: '项目配置错误',
        icon: 'none'
      });
      return;
    }
    // 检查是否切换了项目(如果当前项目不同于新选择的项目)
    const isProjectChanged = currentProject && currentProject !== newProject;
@@ -951,9 +1010,6 @@
    // 保存项目选择到本地存储
    storage.setItem('selectedProject', newProject).then(() => {
      // 更新 BASEURL
      const {
        PROJECT_URLS
      } = require('../../api/config.js');
      const baseUrl = PROJECT_URLS[newProject];
      // 更新全局变量
@@ -961,49 +1017,43 @@
      getApp().globalData.baseUrl = baseUrl;
      getApp().globalData.selectedProject = newProject;
      // 根据项目设置对应的tag和clientId
      if (newProject === 'JYG') {
        getApp().globalData.tag = 'ym'; // 嘉峪关项目对应tag为ym
        this.setData({
          userName: "嘉峪关项目"
        });
      } else if (newProject === 'MQ') {
        getApp().globalData.tag = 'mq'; // 民勤项目对应tag为mq
        getApp().globalData.operator = '2025030517095000006';
        getApp().globalData.clientId = '2025030517095000006';
      // 通过配置对象统一设置项目参数
      getApp().globalData.tag = projectConfig.tag;
      // 设置用户界面显示的项目名称
      this.setData({
        userName: projectConfig.displayName
      });
      // 对于不需要登录的项目,直接设置operator和clientId
      if (!projectConfig.needLogin && projectConfig.operatorId) {
        const operatorId = projectConfig.operatorId;
        getApp().globalData.operator = operatorId;
        getApp().globalData.clientId = operatorId;
        getApp().globalData.isLoggedIn = true;
        getApp().globalData.sessionId = '2025030517095000006';
        this.setData({
          userName: "民勤项目"
        });
        // 持久化存储民勤项目参数
        storage.setItem('MQ_params', {
          operator: '2025030517095000006',
          clientId: '2025030517095000006',
        getApp().globalData.sessionId = operatorId;
        // 如果有vcId,也设置
        if (projectConfig.vcId) {
          getApp().globalData.vcId = projectConfig.vcId;
        }
        // 持久化存储项目参数
        const params = {
          operator: operatorId,
          clientId: operatorId,
          isLoggedIn: true,
          sessionId: '2025030517095000006'
        });
      } else if (newProject === 'TEST') {
        getApp().globalData.tag = 'ym'; // 测试项目对应tag为test
        getApp().globalData.operator = '2025032411245000006';
        getApp().globalData.clientId = '2025032411245000006';
        getApp().globalData.isLoggedIn = true;
        getApp().globalData.sessionId = '2025032411245000006';
        getApp().globalData.vcId = '2024122617295800009';
        this.setData({
          userName: "测试项目"
        });
        // 持久化存储测试项目参数
        storage.setItem('TEST_params', {
          operator: '2025032411245000006',
          clientId: '2025032411245000006',
          isLoggedIn: true,
          sessionId: '2025032411245000006',
          vcId: '2024122617295800009'
        });
          sessionId: operatorId
        };
        if (projectConfig.vcId) {
          params.vcId = projectConfig.vcId;
        }
        storage.setItem(`${newProject}_params`, params);
      }
      console.log('已切换到项目:', projectName, '域名:', baseUrl, 'tag:', getApp().globalData.tag);
      console.log('已切换到项目:', projectConfig.displayName, '域名:', baseUrl, 'tag:', getApp().globalData.tag);
      this.setData({
        showProjectDialog: false
@@ -1011,16 +1061,15 @@
      // 显示切换成功提示
      wx.showToast({
        title: `已选择${projectName}`,
        title: `已选择${projectConfig.displayName}`,
        icon: 'success',
        duration: 2000
      });
      // 直接初始化数据
      setTimeout(() => {
        console.log('项目已切换,正在初始化数据');
        this.initData();
      }, 1000);
    }).catch(err => {
      console.error('保存项目选择失败:', err);
      wx.showToast({
@@ -1035,20 +1084,6 @@
  checkLoginStatus() {
    const app = getApp();
    // 首先,强制再次检查是否从登录页返回
    try {
      const tempFromLogin = wx.getStorageSync('_temp_from_login');
      if (tempFromLogin === 'true') {
        console.log('checkLoginStatus: 检测到临时存储_temp_from_login=true,不执行跳转');
        this.setData({
          isFromLogin: true
        });
        return;
      }
    } catch (e) {
      console.error('checkLoginStatus: 读取临时标记失败:', e);
    }
    // 检查是否已登录
    if (app.globalData.isLoggedIn && app.globalData.sessionId) {
      console.log('已从全局变量检测到登录状态');
@@ -1059,6 +1094,13 @@
    const fromLogin = this.getFromLogin();
    if (fromLogin) {
      console.log('从登录页返回,不再重定向');
      return;
    }
    // 检查当前项目是否需要登录
    const currentProject = app.globalData.selectedProject;
    if (currentProject && PROJECT_CONFIG[currentProject] && !PROJECT_CONFIG[currentProject].needLogin) {
      console.log('当前项目不需要登录:', currentProject);
      return;
    }
@@ -1092,18 +1134,6 @@
        storage.getItemSafe('isLoggedIn')
      ])
      .then(([sessionId, clientId, isLoggedIn]) => {
        // 最后一次检查临时标记
        try {
          const tempFromLogin = wx.getStorageSync('_temp_from_login');
          if (tempFromLogin === 'true') {
            console.log('Promise内部: 检测到临时存储_temp_from_login=true,不执行跳转');
            this.setData({
              isFromLogin: true
            });
            return;
          }
        } catch (e) {}
        if (sessionId) {
          // 从存储中恢复登录状态
          app.globalData.sessionId = sessionId;
@@ -1134,6 +1164,12 @@
            return;
          }
          // 检查项目是否需要登录
          if (currentProject && PROJECT_CONFIG[currentProject] && !PROJECT_CONFIG[currentProject].needLogin) {
            console.log('最终检查: 当前项目不需要登录:', currentProject);
            return;
          }
          console.log('确认需要跳转到登录页');
          // 跳转前再次检查登录页面临时标记
@@ -1141,11 +1177,11 @@
            wx.setStorageSync('_attempted_login_redirect', 'true');
          } catch (e) {}
          wx.redirectTo({
            url: `/pages/login/login?project=${this.data.selectedProject}`,
            success: () => console.log('成功跳转到登录页'),
            fail: (err) => console.error('跳转到登录页失败:', err)
          });
          // wx.navigateTo({
          //   url: `/pages/login/login?project=${this.data.selectedProject}`,
          //   success: () => console.log('成功跳转到登录页'),
          //   fail: (err) => console.error('跳转到登录页失败:', err)
          // });
        }
      })
      .catch(err => {
@@ -1162,40 +1198,23 @@
          return;
        }
        // 检查项目是否需要登录
        if (currentProject && PROJECT_CONFIG[currentProject] && !PROJECT_CONFIG[currentProject].needLogin) {
          console.log('错误处理: 当前项目不需要登录:', currentProject);
          return;
        }
        // 出错时也跳转到登录页
        wx.redirectTo({
          url: `/pages/login/login?project=${this.data.selectedProject}`,
          success: () => console.log('错误后成功跳转到登录页'),
          fail: (err) => console.error('错误后跳转到登录页失败:', err)
        });
        // wx.navigateTo({
        //   url: `/pages/login/login?project=${this.data.selectedProject}`,
        //   success: () => console.log('错误后成功跳转到登录页'),
        //   fail: (err) => console.error('错误后跳转到登录页失败:', err)
        // });
      });
  },
  // 辅助函数:检查是否从登录页返回
  getFromLogin() {
    // 先检查全局变量(作为备用方案)
    if (getApp().globalData && getApp().globalData._tempFromLogin === true) {
      console.log('getFromLogin: 检测到全局变量_tempFromLogin=true');
      // 设置标志,确保下次检查时能识别
      this.setData({
        isFromLogin: true
      });
      // 清除全局标记,防止重复识别
      setTimeout(() => {
        getApp().globalData._tempFromLogin = false;
        console.log('已清除全局变量_tempFromLogin标记');
      }, 100);
      return true;
    }
    // 检查是否有设置fromLogin标志
    if (this.data.isFromLogin) {
      console.log('getFromLogin: 检测到this.data.isFromLogin=true');
      return true;
    }
    // 检查当前页面的options
    const pages = getCurrentPages();
    const currentPage = pages[pages.length - 1];
@@ -1207,24 +1226,6 @@
      });
      return true;
    }
    // 检查临时标记
    try {
      const tempFromLogin = wx.getStorageSync('_temp_from_login');
      console.log('getFromLogin: 读取到的临时标记值:', tempFromLogin);
      if (tempFromLogin === 'true') {
        console.log('getFromLogin: 检测到临时存储_temp_from_login=true');
        // 设置标志,确保下次检查时能识别
        this.setData({
          isFromLogin: true
        });
        return true;
      }
    } catch (e) {
      console.error('getFromLogin: 读取临时标记失败:', e);
    }
    console.log('getFromLogin: 未检测到从登录页返回的标记');
    return false;
  },
@@ -1243,20 +1244,6 @@
      this.setData({
        isFromLogin: true
      });
    }
    // 从临时标记中检查
    try {
      const tempFromLogin = wx.getStorageSync('_temp_from_login');
      if (tempFromLogin === 'true') {
        console.log('continueInitPage: 检测到临时标记_temp_from_login=true');
        fromLogin = true;
        this.setData({
          isFromLogin: true
        });
      }
    } catch (e) {
      console.error('continueInitPage: 读取临时标记失败:', e);
    }
    // 从页面数据中检查
@@ -1289,12 +1276,6 @@
    if (!fromLogin) {
      console.log('不是从登录页返回,延迟检查登录状态');
      setTimeout(() => {
        // 再次检查是否已从登录页返回(可能在初始化过程中状态已变)
        if (this.getFromLogin()) {
          console.log('延迟检查:检测到从登录页返回的标记,不再检查登录状态');
          return;
        }
        // 仅在未登录且不是从登录页返回时检查登录状态
        if (!getApp().globalData.isLoggedIn) {
          console.log('延迟检查:未登录且不是从登录页返回,执行登录状态检查');
@@ -1308,6 +1289,13 @@
  // 微信登录
  wxLogin() {
    // 检查当前项目是否需要登录
    const currentProject = getApp().globalData.selectedProject;
    if (currentProject && PROJECT_CONFIG[currentProject] && !PROJECT_CONFIG[currentProject].needLogin) {
      console.log('wxLogin: 当前项目不需要登录:', currentProject);
      return;
    }
    if (!getApp().globalData.isLoggedIn) {
      wx.showLoading({
        title: '正在登录请稍候...',
@@ -1328,9 +1316,9 @@
              if (response.code === "0001") {
                if (response.content.client.clientId === "") {
                  // 未绑定账号,跳转到登录页面
                  wx.redirectTo({
                    url: `/pages/login/login?project=${this.data.selectedProject}`
                  });
                  // wx.navigateTo({
                  //   url: `/pages/login/login?project=${this.data.selectedProject}`
                  // });
                } else {
                  this.setData({
                    userName: response.content.client.clientName,
@@ -1346,8 +1334,10 @@
                  getApp().globalData.isLoggedIn = true;
                  // 设置正确的项目tag
                  const tag = this.data.selectedProject === 'JYG' ? 'ym' : 'mq';
                  getApp().globalData.tag = tag;
                  const projectConfig = PROJECT_CONFIG[this.data.selectedProject];
                  if (projectConfig) {
                    getApp().globalData.tag = projectConfig.tag;
                  }
                  // 保存到存储
                  storage.setItem("sessionId", sessionId);
@@ -1357,14 +1347,14 @@
                  // 保存userData信息,包含sessionId和tag
                  const userData = JSON.stringify({
                    sessionId: sessionId,
                    tag: tag,
                    tag: projectConfig ? projectConfig.tag : 'ym',
                    project: this.data.selectedProject,
                    userName: response.content.client.clientName,
                    userPhone: response.content.client.userPhone
                  });
                  storage.setItem("userData", userData)
                    .then(() => {
                      console.log('用户数据保存成功,包含项目信息:', this.data.selectedProject, 'tag:', tag);
                      console.log('用户数据保存成功,包含项目信息:', this.data.selectedProject, 'tag:', projectConfig ? projectConfig.tag : 'ym');
                      this.initData();
                    })
                    .catch(err => {
@@ -1379,9 +1369,9 @@
                  icon: 'error',
                  duration: 2000
                });
                wx.redirectTo({
                  url: `/pages/login/login?project=${this.data.selectedProject}`
                });
                // wx.navigateTo({
                //   url: `/pages/login/login?project=${this.data.selectedProject}`
                // });
              }
            }).catch(error => {
              wx.hideLoading();
@@ -1390,9 +1380,9 @@
                title: '登录失败,请重试',
                icon: 'none'
              });
              wx.redirectTo({
                url: `/pages/login/login?project=${this.data.selectedProject}`
              });
              // wx.redirectTo({
              //   url: `/pages/login/login?project=${this.data.selectedProject}`
              // });
            });
          } else {
            wx.hideLoading();
@@ -1419,19 +1409,7 @@
  cleanupTempMarkers() {
    // 只有在isFromLogin为true时才进行清理
    if (this.data.isFromLogin) {
      console.log('清理临时标记');
      // 清理存储标记
      try {
        wx.removeStorageSync('_temp_from_login');
      } catch (e) {
        console.error('清理存储标记失败:', e);
      }
      // 清理全局变量标记
      if (getApp().globalData) {
        getApp().globalData._tempFromLogin = false;
      }
      // 重设isFromLogin为false,但添加延迟,避免影响当前页面的返回逻辑
      setTimeout(() => {
@@ -1510,4 +1488,18 @@
      })
    });
  },
  onShareAppMessage: function (options) {
    // 设置分享内容
    return {
      title: '大禹灌溉助手', // 分享标题
      path: '/pages/home/home', // 分享路径,该路径需要是当前小程序存在的页面路径
      imageUrl: '/images/logo2.jpg', // 分享图标,可以是网络图片路径或本地图片路径
      success: function (res) {
        // 分享成功的回调函数
      },
      fail: function (res) {
        // 分享失败的回调函数
      }
    };
  }
})