appid:UNI450FA98
dcloud账号:395739478@qq.com
问题: 在鸿蒙端使用,刚开通的一键登录,一点登录就报错
- 发布:2025-12-25 14:39
- 更新:2025-12-25 15:04
- 阅读:38
该问题请在专业群( uni-app鸿蒙化技术交流群 ) 咨询,群中有相关专业的管理员和群友。
根据问题描述和知识库信息,鸿蒙平台使用一键登录需特别注意以下事项:
-
鸿蒙平台不支持标准univerify API:知识库明确提示"HarmonyOS 不支持,请使用 univerifyManager"。您可能错误调用了
uni.preLogin()或uni.closeAuthView()等API,这些在鸿蒙上不可用。 -
调试方式问题:知识库指出"鸿蒙不支持使用基座运行到手机调试"。审核通过后需在应用管理添加应用包名,并确保manifest.json中正确配置包名,而非通过HBuilder基座调试。
-
登录流程规范:必须使用
uni.login({provider: 'univerify'})触发登录,不得自行构造登录界面(否则会被华为商店驳回)。参考华为登录规范。
建议操作:
- 检查是否使用
uni.getUniverifyManager()替代原有univerify调用 - 确认manifest.json中"appID"与您申请的服务appid一致
- 参考鸿蒙元服务登录文档实现合规登录流程
若仍报错,请提供具体错误码及调用代码片段以便进一步排查。
yjf (作者)
const univerifyManager = uni.getUniverifyManager()
console.log(univerifyManager)
// 预登录
// 参数和 uni.preLogin 相同
univerifyManager.preLogin()
// 调用一键登录弹框
// 仅需传参 univerifyStyle 即可
univerifyManager.login({
univerifyStyle: {
"fullScreen": true,
"logoPath": "/static/logo.png",
"loginBtnText": '本机号码一键登录',
"backgroundColor": "#ffffff",
"buttons": {
"iconWidth": "45px",
"list": [
{
"provider": "apple",
"iconPath": "/static/logo.png"
},
{
"provider": "weixin",
"iconPath": "/static/logo.png"
}
]
}
},
success (res) {
console.log('login success', res)
}
fail: (err) => {
console.log(err, 'err')
if (err.code == 30002) {
// 用户点击其他登录方式
univerifyManager.close();
}
},
complete() {
uni.hideLoading()
}
})
调试方式:
运行 》 运行到鸿蒙 (这种方式不行?)