kktt
kktt
  • 发布:2025-09-02 11:06
  • 更新:2025-09-02 11:32
  • 阅读:39

【报Bug】uni-app-runtime(V4.76.2025082101) 新版本在鸿蒙上面发送事件时,参数为空就会出现异常导致事件无法发送,报 Unexpected Text in JSON

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: windows11

HBuilderX类型: 正式

HBuilderX版本号: 4.76

手机系统: HarmonyOS NEXT

手机系统版本号: HarmonyOS 5.0.5

手机厂商: 华为

手机机型: Pura70

页面类型: vue

vue版本: vue3

打包方式: 离线

项目创建方式: HBuilderX

示例代码:

uni.sendNativeEvent('fcUniClose');

操作步骤:

"dependencies": {
// "@dcloudio/uni-app-runtime": "2.3.17",
"@dcloudio/uni-app-runtime": "4.76.2025082101",
},

预期结果:

事件发送支持data为undefined

实际结果:

目前不支持

bug描述:

【报Bug】使用uni-app-runtime(V4.76.2025082101) 新版本在鸿蒙上面 使用 uni.sendNativeEvent('fcUniClose');
发送事件时,参数为空就会出现异常导致事件无法发送。报错误 Unexpected Text in JSON

使用"@dcloudio/uni-app-runtime": "2.3.17",这个版本就是正常的。

E [default] [CallForNapi:3533] occur exception need return
E [(native_api.cpp:1234)(napi_call_function)] pending exception when js function called, print exception info:
E SyntaxError: Unexpected Text in JSON
at sendNativeEvent (oh_modules/.ohpm/@dcloudio+uni-app-runtime@4.76.2025082101/oh_modules/@dcloudio/uni-app-runtime/src/main/ets/uni-mp-sdk/sdk.js:1264:1)
at _invokeStoreReference (oh_modules/.ohpm/@dcloudio+uni-app-runtime@4.76.2025082101/oh_modules/@dcloudio/uni-app-runtime/src/main/ets/uni-mp-sdk/sdk.js:877:1)
at invokeStoreReference (oh_modules/.ohpm/@dcloudio+uni-app-runtime@4.76.2025082101/oh_modules/@dcloudio/uni-app-runtime/src/main/ets/uni-mp-sdk/sdk.js:881:1)
at anonymous (oh_modules/.ohpm/@dcloudio+uni-app-runtime@4.76.2025082101/oh_modules/@dcloudio/uni-app-runtime/src/main/ets/uni-mp-sdk/sdk.js:1054:1)
at anonymous (oh_modules/.ohpm/@dcloudio+uni-app-runtime@4.76.2025082101/oh_modules/@dcloudio/uni-app-runtime/src/main/ets/uni-mp-sdk/sdk.js:958:1)
at anonymous (oh_modules/.ohpm/@dcloudio+uni-app-runtime@4.76.2025082101/oh_modules/@dcloudio/uni-app-runtime/src/main/ets/uni-mp-sdk/sdk.js:4355:1)
at anonymous (oh_modules/.ohpm/@dcloudio+uni-app-runtime@4.76.2025082101/oh_modules/@dcloudio/uni-app-runtime/src/main/ets/uni-mp-sdk/sdk.js:4450:1)
at invokeCallback (oh_modules/.ohpm/@dcloudio+uni-app-runtime@4.76.2025082101/oh_modules/@dcloudio/uni-app-runtime/src/main/ets/uni-mp-sdk/sdk.js:4378:1)
at invokeSuccess (oh_modules/.ohpm/@dcloudio+uni-app-runtime@4.76.2025082101/oh_modules/@dcloudio/uni-app-runtime/src/main/ets/uni-mp-sdk/sdk.js:4605:1)
at resolve (oh_modules/.ohpm/@dcloudio+uni-app-runtime@4.76.2025082101/oh_modules/@dcloudio/uni-app-runtime/src/main/ets/uni-mp-sdk/sdk.js:4693:1)
at anonymous (oh_modules/.ohpm/@dcloudio+uni-app-runtime@4.76.2025082101/oh_modules/@dcloudio/uni-app-runtime/src/main/ets/uni-app-harmony/uni.api.ets:9674:17)
E napi_call_function failed SyntaxError: Unexpected Text in JSON
E Error: napi_call_function failed SyntaxError: Unexpected Text in JSON
I BlockMonitor event name: uv_io_cb, Duration Time: 241426 ms

2025-09-02 11:06 负责人:无 分享
已邀请:
DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

应用不应该报错,后面会做parse容错处理。这里的 sendUniMPEvent: (event: string, data: any) => void; 第二参数为必填,建议手动传递一个空对象或者为 null 规避此问题。

kktt

kktt (作者) - kktt

预计什么时候做parse容错处理呢,目前我们有很多页面使用sendUniMPEvent,data是空的,现在是不敢升级版本了

  • DCloud_UNI_OttoJi

    兼容代码是为了应用不报错,给出相关错误提示。你的问题是必填传输没有传递,请传递必填参数,后续参数可能会做进一步调整

    2025-09-02 11:47

要回复问题请先登录注册