uni-app 一键登陆鸿蒙手机返回undefined 没有返回正确的openid

uni-app 一键登陆鸿蒙手机返回undefined 没有返回正确的openid

项目信息 详情
产品分类 uniapp/App
PC开发环境 Windows
PC开发环境版本 Win11
HBuilderX类型 正式
HBuilderX版本 4.86
手机系统 HarmonyOS NEXT
手机系统版本 HarmonyOS 6.0.0
手机厂商 华为
手机机型 nao11
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

示例代码:

univerifyManager.preLogin({
success(){  //预登录成功
// 显示一键登录选项
univerifyManager.login({
univerifyStyle: {
"fullScreen":true,
"backgroundColor": "#ffffff",  // 授权页面背景颜色,默认值:#ffffff
"logoPath":"/static/logo.png",
"loginBtnText":"本机号码一键登录"
},
success(res){ // 登录成功
console.log(res.authResult);  // {openid:'登录授权唯一标识',access_token:'接口返回的 token'}
univerifyManager.close()
if(res.authResult){
uni.showLoading({
title: '登录中',
mask:true
});  
}
}  
},  
fail(res){  // 登录失败  
console.log(res)  
console.log(res.errMsg)  
httpClient.showNone('请使用手机验证码登陆')  
univerifyManager.close()  
}  
})  
},  
fail(res){  // 预登录失败  
// 不显示一键登录选项(或置灰)  
// 根据错误信息判断失败原因,如有需要可将错误提交给统计服务器  
console.log(res)  
console.log(res.errMsg)  
}  
})

操作步骤:

  • 不知道怎么填

### 预期结果:

- 不知道怎么填

实际结果:

  • 返回一健登陆的参数

### bug描述:

一键登陆登陆的时候,点击手机一键登陆。没有返回结果。而是返回undefined
success(res){ // 登录成功
console.log(res.authResult);
结果为undefined 返回的结果怎么回事

更多关于uni-app 一键登陆鸿蒙手机返回undefined 没有返回正确的openid的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app 一键登陆鸿蒙手机返回undefined 没有返回正确的openid的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在 HarmonyOS NEXT 6.0.0 系统上,uni-app 一键登录返回 undefined 的问题通常与系统兼容性或配置相关。以下是可能的原因和解决方案:

  1. HarmonyOS NEXT 兼容性问题
    HarmonyOS NEXT 是一个较新的系统版本,可能对 uni-app 一键登录功能支持不完善。建议检查 DCloud 官方文档或社区,确认该版本是否已完全适配。

  2. 配置缺失或错误

    • 确保在 manifest.json 中正确配置了一键登录(UniVerify)的相关设置,包括 AppID 和服务开通状态。
    • 检查云端打包时是否勾选了一键登录模块,并配置了正确的签名信息。
  3. 代码逻辑问题
    success 回调中,res.authResult 可能因授权失败或数据解析错误返回 undefined。建议添加错误处理:

    success(res) {
      if (res.authResult) {
        console.log(res.authResult.openid);
      } else {
        console.error("authResult is undefined", res);
      }
    }
回到顶部