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 的问题通常与系统兼容性或配置相关。以下是可能的原因和解决方案:
-
HarmonyOS NEXT 兼容性问题
HarmonyOS NEXT 是一个较新的系统版本,可能对 uni-app 一键登录功能支持不完善。建议检查 DCloud 官方文档或社区,确认该版本是否已完全适配。 -
配置缺失或错误
- 确保在
manifest.json中正确配置了一键登录(UniVerify)的相关设置,包括 AppID 和服务开通状态。 - 检查云端打包时是否勾选了一键登录模块,并配置了正确的签名信息。
- 确保在
-
代码逻辑问题
在success回调中,res.authResult可能因授权失败或数据解析错误返回undefined。建议添加错误处理:success(res) { if (res.authResult) { console.log(res.authResult.openid); } else { console.error("authResult is undefined", res); } }

