现在开发uni-app鸿蒙版的APP调用unicloud.callFunction完全没反应,error也没有返回,安卓是正常的
现在开发uni-app鸿蒙版的APP调用unicloud.callFunction完全没反应,error也没有返回,安卓是正常的
示例代码:
const successLogin = (res, type) => {
console.log(res);
console.log('uniCloud:', uniCloud);
uniCloud.callFunction({
name: 'getPhoneNumber',
data: {
access_token: res.authResult.access_token,
openid: res.authResult.openid
}
}).then(dataRes => {
console.log(6666);
oneClickLogin(dataRes)
}).catch(err => {
console.log(77777,err);
if (err) {
loginError(err, type == 'ios' ? 4 : 1)
return false;
}
})
}
操作步骤:
- 点击完一件登录按钮,获取到对应的data,就没反应了
预期结果:
- 正常登录
实际结果:
- 无反应,安卓机运行无问题
bug描述:
现在开发鸿蒙版的APP调用unicloud.callFunction完全没反应,error也没有返回,但运行到安卓是正常的, 图一是鸿蒙运行打印的东西,没有调用云函数的打印,
图二是在安卓打印,调用成功并登录
这个是什么问题


更多关于现在开发uni-app鸿蒙版的APP调用unicloud.callFunction完全没反应,error也没有返回,安卓是正常的的实战教程也可以访问 https://www.itying.com/category-93-b0.html
hbuilderx的uniCloud控制台有日志输出吗?
更多关于现在开发uni-app鸿蒙版的APP调用unicloud.callFunction完全没反应,error也没有返回,安卓是正常的的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
没有
回复 1***@qq.com: 鸿蒙应用授权网络了吗?
根据你提供的信息,这是一个典型的平台兼容性问题。在鸿蒙系统上调用uniCloud.callFunction无响应,而在安卓正常,可能有以下几个原因:
-
网络权限问题:鸿蒙系统对网络请求的权限控制更严格,请检查manifest.json中是否已正确配置网络权限。
-
uniCloud初始化时机:确保在调用云函数前,uniCloud已正确初始化。可以在App.vue的onLaunch中提前初始化uniCloud。
-
平台差异处理:鸿蒙系统对Promise的支持可能存在差异,建议增加回调函数方式调用:
uniCloud.callFunction({
name: 'getPhoneNumber',
data: {
access_token: res.authResult.access_token,
openid: res.authResult.openid
},
success: (dataRes) => {
console.log('success', dataRes);
oneClickLogin(dataRes);
},
fail: (err) => {
console.log('fail', err);
loginError(err, type == 'ios' ? 4 : 1);
}
});

