uniapp 鸿蒙平台 Echarts 无法使用的解决方案

uniapp 鸿蒙平台 Echarts 无法使用的解决方案

最近不少开发者反馈在 uniapp 鸿蒙平台上, Echarts 无法使用,现经过排查,不能使用的原因公布如下:

在 echats源码中 经过 build 之后的产物 :

含有wx对象:

if (typeof wx === 'object' && typeof wx.getSystemInfoSync === 'function') {  
    env.wxa = true;  
    env.touchEventsSupported = true;  
}

在非鸿蒙平台,之前对 wx 对象做了兼容,因此能够在 uniapp 上运行,在鸿蒙平台上未做兼容,导致了 Echarts 无法在 uniapp 的鸿蒙平台上使用。

解决方案:

  1. 等待 HbuilderX 更新,在修复之后更新版本即可解决, 更新后版本在本帖同步
  2. 手动修改Echarts源码,将wx对象,改为uni对象

在下方提供了替换文件

可以更新到 4.65 解决无法使用的问题

echarts.zip


更多关于uniapp 鸿蒙平台 Echarts 无法使用的解决方案的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

感谢大佬!!!

更多关于uniapp 鸿蒙平台 Echarts 无法使用的解决方案的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对uniapp鸿蒙平台Echarts无法使用的问题,解决方案如下:

  1. 官方修复方案: 建议开发者优先等待HBuilderX官方更新(预计4.65版本修复),这是最稳定的解决方案。更新后请关注本帖的版本同步信息。

  2. 临时手动解决方案: 若需立即使用,可手动修改Echarts源码中的wx对象为uni对象。具体修改位置为检测微信环境的代码段:

// 修改前
if (typeof wx === 'object' && typeof wx.getSystemInfoSync === 'function')
// 修改后
if (typeof uni === 'object' && typeof uni.getSystemInfoSync === 'function')
回到顶部