1,鸿蒙next 前端获取到token和openid(前端通过uniCloud.callFunction的方式可以拿到手机号)
2,我们自己服务端拿到参数后,通过URL方式调用云函数报错
yjf
- 发布:2025-12-26 13:35
- 更新:2025-12-26 14:06
- 阅读:137
该问题请在专业群( uni-app鸿蒙化技术交流群 ) 咨询,群中有相关专业的管理员和群友。
根据问题描述,您在鸿蒙Next平台上使用URL方式调用云函数获取手机号时遇到报错。结合知识库内容,分析如下:
鸿蒙平台与通用uniapp平台实现方式不同,不能直接套用univerify方案。鸿蒙元服务获取手机号需遵循特定流程:
-
前端部分:应使用鸿蒙特有的
<button open-type="getPhoneNumber">方式获取code(不是直接获取access_token)<button open-type="getPhoneNumber" @getphonenumber="getPhone">获取手机号</button>getPhone(e) { console.log(e.detail.code); // 将此code传给您的服务端 } -
服务端调用:您的服务端应使用获取的code向华为服务器请求access_token,再通过access_token获取手机号
- 参考获取用户级凭证
- 再通过其他场景获取用户信息
-
关键区别:
- 鸿蒙平台不能直接使用
uniCloud.getPhoneNumber({provider: 'univerify'}) - 必须通过华为官方API链路完成认证流程
- 需确保已在开发者后台申请手机号权限
- 鸿蒙平台不能直接使用
建议检查:
- 是否已正确配置鸿蒙应用的Client ID
- 服务端是否正确实现了华为OAuth2.0流程
- 是否遗漏了签名证书配置(需在AGC控制台配置指纹)
详细流程请参考:鸿蒙元服务登录文档
内容为 AI 生成,仅供参考