wlzboy
4 天以前 06a17c236d4cb9b8da75fce43af938cb7ea510bf
app/utils/wechat.js
@@ -12,12 +12,13 @@
    try {
      // 获取系统信息
      const systemInfo = uni.getSystemInfoSync();
      console.log('系统信息:', systemInfo);
      // 检查environment字段是否为wxwork
      resolve(systemInfo.environment === 'wxwork');
      const isWxWork = systemInfo.environment === 'wxwork';
      console.log('环境检测结果:', isWxWork, systemInfo);
      resolve(isWxWork);
    } catch (e) {
      console.error('获取系统信息失败:', e);
      // fallback检测
      resolve(false);
    }
    // #endif
@@ -62,41 +63,61 @@
    if (isWxWork) {
      console.log('检测到企业微信环境,跳转到企业微信免登页面');
      // 构造带参数的URL
     redirectToQyLogin(options,tab);
      redirectToQyLogin(options, tab);
      return;
    } else {
      console.log('检测到普通微信环境,跳转到微信登录页面');
      redirectToLogin(options,tab);
      redirectToLogin(options, tab);
      return;
    }
  } catch (e) {
    console.error('环境检测失败:', e);
   redirectToLogin(options,tab);
    redirectToLogin(options, tab);
  }
  // #endif
  
  // #ifndef MP-WEIXIN
  // 非微信小程序环境,跳转到普通登录页面
  console.log('非微信小程序环境,跳转到普通登录页面');
  redirectToLogin(options,tab);
  redirectToLogin(options, tab);
  // #endif
}
export  function redirectToQyLogin(options,tab){
export function redirectToQyLogin(options, tab) {
  try {
    let url = '/pages/qylogin';
      if (options && options.query) {
        url = buildUrlWithParams(url, options.query);
      }
      tab.reLaunch(url);
    if (options && options.query) {
      url = buildUrlWithParams(url, options.query);
    }
    console.log('跳转到企业微信登录页面:', url);
    tab.reLaunch(url);
  } catch (e) {
    console.error('跳转到企业微信登录页面失败:', e);
    // fallback到普通登录页面
    redirectToLogin(options, tab);
  }
}
export  function redirectToLogin(options,tab){
export function redirectToLogin(options, tab) {
  try {
    let url = '/pages/login';
      if (options && options.query) {
        url = buildUrlWithParams(url, options.query);
      }
      tab.reLaunch(url);
    if (options && options.query) {
      url = buildUrlWithParams(url, options.query);
    }
    console.log('跳转到普通登录页面:', url);
    tab.reLaunch(url);
  } catch (e) {
    console.error('跳转到普通登录页面失败:', e);
    // 如果跳转失败,至少确保不会卡在当前页面
    try {
      tab.reLaunch('/pages/login');
    } catch (fallbackError) {
      console.error('fallback跳转也失败了:', fallbackError);
    }
  }
}
export default {
  isWxWorkEnvironment,
  buildUrlWithParams,