uni-app unicloud clientInfo鸿蒙真机os和osname识别错误
uni-app unicloud clientInfo鸿蒙真机os和osname识别错误
项目信息 | 值 |
---|---|
产品分类 | uniCloud/App |
PC开发环境操作系统 | Windows |
PC开发环境操作系统版本号 | win11 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 4.57 |
第三方开发者工具版本号 | 1 |
基础库版本号 | 1 |
项目创建方式 | HBuilderX |
示例代码:
支付宝官方客服打电话说不兼容鸿蒙 unicloud clientInfo鸿蒙真机os和osname识别错误 要整改
操作步骤:
支付宝官方客服打电话说不兼容鸿蒙 unicloud clientInfo鸿蒙真机os和osname识别错误 要整改
预期结果:
支付宝官方客服打电话说不兼容鸿蒙 unicloud clientInfo鸿蒙真机os和osname识别错误 要整改
实际结果:
支付宝官方客服打电话说不兼容鸿蒙 unicloud clientInfo鸿蒙真机os和osname识别错误 要整改
bug描述:
支付宝官方客服打电话说不兼容鸿蒙 unicloud clientInfo鸿蒙真机os和osname识别错误 要整改
更多关于uni-app unicloud clientInfo鸿蒙真机os和osname识别错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html
HBuilderX 4.61.2025040322-alpha 已修复。
更多关于uni-app unicloud clientInfo鸿蒙真机os和osname识别错误的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
是不是 vue2 项目?
替换附件中的文件到 HBuilderX 根目录/plugins/uniapp-cli/node_modules/@dcloudio/uni-mp-alipay/dist
这是一个已知的鸿蒙系统兼容性问题。在鸿蒙真机上,uniCloud的clientInfo会错误地将HarmonyOS识别为Android,导致os和osname字段显示不正确。
解决方案:
- 临时方案:可以通过判断UA中包含Harmony来手动修正
const systemInfo = uni.getSystemInfoSync();
if(systemInfo.osName === 'android' && systemInfo.ua.indexOf('Harmony') > -1) {
systemInfo.osName = 'harmony';
systemInfo.os = 'harmony';
}