// #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

- 发布:2025-09-18 20:28
- 更新:2025-09-18 20:28
- 阅读:13
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 26
HBuilderX类型: 正式
HBuilderX版本号: 4.76
手机系统: HarmonyOS NEXT
手机系统版本号: HarmonyOS 5.0.5
手机厂商: 华为
手机机型: nove14pro
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
真机调试 univerifyManager.login 没反应
真机调试 univerifyManager.login 没反应
预期结果:
返回token
返回token
实际结果:
没反应
没反应
bug描述:
点击一键登录没有反应 univerifyManager 打印状态:
{
"GYAppId": "5NX5LiiYAX6mgxMDzOn52",
"GyVersion": "GY-HM-1.0.8",
"checked": false,
"preLoginValid": false
}
0 个回复