uni-app univerifyManager 没反应

uni-app univerifyManager 没反应

开发环境 版本号 项目创建方式
Mac 26 HBuilderX

产品分类:uniapp/App

PC开发环境操作系统:Mac

HBuilderX类型:正式

HBuilderX版本号:4.76

手机系统:HarmonyOS NEXT

手机系统版本号:HarmonyOS 5.0.5

手机厂商:华为

手机机型:nove14pro

页面类型:vue

vue版本:vue3

打包方式:云端

示例代码:

// #ifdef APP-HARMONY  
console.log('=== HarmonyOS 平台:使用 univerifyManager ===');  
let timeoutId = null;  
let isResolved = false;  

try {  
  const univerifyManager = uni.getUniverifyManager();  

  // 按照官方文档的HarmonyOS用法  
  console.log('? 按照官方文档调用HarmonyOS一键登录');  

  // HarmonyOS只支持有限的univerifyStyle参数  
  const harmonyStyle = {  
    "fullScreen": false,  // 是否全屏显示一键登录弹框  
    "logoPath": "static/logo.png",  // 一键登录弹框顶部 logo 图片路径  
    "loginBtnText": "本机号码一键登录"  // 一键登录按钮文案  
  };  

  console.log('? 使用HarmonyOS专用样式:', harmonyStyle);  

  try {  
    univerifyManager.login({  
      univerifyStyle: harmonyStyle,  
      success: async (res) => {  
        if (isResolved) return;  
        isResolved = true;  
        clearTimeout(timeoutId);  
        try {  
          console.log('✅ HarmonyOS 一键登录成功');  
          console.log('authResult:', res.authResult);  
          await this.handleLoginSuccess(res.authResult);  
          resolve(res);  
        } catch (error) {  
          console.error('❌ HarmonyOS 处理登录成功时出错:', error);  
          reject(error);  
        }  
      },  
      fail: (res) => {  
        if (isResolved) return;  
        isResolved = true;  
        clearTimeout(timeoutId);  
        console.error('❌ HarmonyOS 一键登录失败:', res);  
        console.error('错误详情:', JSON.stringify(res));  
        this.handleLoginError('一键登录失败');  
        reject(res);  
      }  
    });  

    console.log('? login方法调用完成,等待回调...');  

  } catch (loginError) {  
    console.error('❌ 调用login方法时出错:', loginError);  
    if (!isResolved) {  
      isResolved = true;  
      clearTimeout(timeoutId);  
      this.handleLoginError('调用登录方法失败');  
      reject(loginError);  
    }  
  }  

} catch (error) {  
  if (isResolved) return;  
  isResolved = true;  
  clearTimeout(timeoutId);  
  console.error('❌ HarmonyOS univerifyManager 调用异常:', error);  
  console.error('异常详情:', JSON.stringify(error));  
  reject(error);  
}  
#endif

操作步骤:

  • 真机调试 univerifyManager.login 没反应

预期结果:

  • 返回token

实际结果:

  • 没反应

bug描述:

点击一键登录没有反应 univerifyManager 打印状态:

{
"GYAppId": "5NX5LiiYAX6mgxMDzOn52",
"GyVersion": "GY-HM-1.0.8",
"checked": false,
"preLoginValid": false
}

更多关于uni-app univerifyManager 没反应的实战教程也可以访问 https://www.itying.com/category-93-b0.html

回到顶部