``` Image($r('app.media.refresh'))
.width(16)
.height(16)
.margin(8)
.onClick(() => {
postCardAction(this, {
action: 'call',
abilityName: 'EntryAbility',
params: {
formId: this.formId,
method: 'updateStorageInfoCall',
}
})
}) ``` - 发布:2025-10-14 04:22
- 更新:2025-10-16 02:14
- 阅读:209
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11
HBuilderX类型: 正式
HBuilderX版本号: 4.82
手机系统: HarmonyOS NEXT
手机系统版本号: HarmonyOS 5.1.1
手机厂商: 华为
手机机型: p70 pro
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
用uniapp引入鸿蒙原生桌面小部件
用uniapp引入鸿蒙原生桌面小部件
预期结果:
小部件可以正常刷新
小部件可以正常刷新
实际结果:
小部件刷新的时候报错了
小部件刷新的时候报错了
bug描述:
Image($r('app.media.refresh'))
.width(16)
.height(16)
.margin(8)
.onClick(() => {
postCardAction(this, {
action: 'call',
abilityName: 'EntryAbility',
params: {
formId: this.formId,
method: 'updateStorageInfoCall',
}
})
})比这个刷新小部件的按钮 就会提示这个错误
04:08:03.449 Callee onRemoteMessageRequest code [number 1]
04:08:03.453 Use new start up rule, check caller permission.
04:08:03.459 Callee onRemoteMessageRequest code proc
04:08:03.459 Callee onRemoteMessageRequest method [updateBatteryInfoCall]
04:08:03.475 Callee onRemoteMessageRequest error, get func is undefined
4 个回复
2***@qq.com (作者)
求助解决!
DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信
这个方法并不特殊,是不是 module.json 里没有配置,请提供复现工程和操作步骤,提供更多信息,有助于定位和解答你的问题。
2***@qq.com (作者)
那个鸿蒙官方的小部件示例包私发您了 ,直接在uniapp中的harmony-configs导入entry文件 然后运行到真机 添加小部件 然后点击右上角的刷新就报错了。
2025-10-14 12:15
DCloud_UNI_OttoJi
回复 2***@qq.com: 你是把整个 entry 都导进去了吗?
2025-10-14 16:29
2***@qq.com (作者)
回复 DCloud_UNI_OttoJi: 是的
2025-10-14 16:58
2***@qq.com (作者)
。。。
2***@qq.com (作者)
定位到了 ,就是因为uniapp鸿蒙编译的时候会重置EntryAbility.ets 所以自定义的方法不能写到这个里面。可以使用其他替代方案。
DCloud_UNI_OttoJi
ok,不建议放整个 entry,默认的入口是 uniapp 继承并重写的,建议需要什么就修改什么。
2025-10-16 11:18
2***@qq.com (作者)
回复 DCloud_UNI_OttoJi: 你好,现在我在EntryAbility.ets 中自定义方法 编译都会被覆盖,像鸿蒙桌面小部件的call和route事件都需要在EntryAbility.ets 写方法,这个EntryAbility.ets不能自己来定义吗?
2025-10-16 11:55
DCloud_UNI_OttoJi
回复 2***@qq.com: 参考这个 https://uniapp.dcloud.net.cn/tutorial/harmony/runbuild.html#config-dir ,编译产物重新放回到 configs 里。或者你可以编写 vite 插件每次 build 之后操作 fs 修改指定文件。经过我测试编写 ets 组件使用 postCardAction 是正常的
2025-10-16 12:01
2***@qq.com (作者)
回复 DCloud_UNI_OttoJi: ok
2025-10-16 12:12
2***@qq.com (作者)
回复 DCloud_UNI_OttoJi: 编译产物(EntryAbility.ets )修改之后再放回harmony-configs, 依然会被覆盖。
2025-10-16 14:14
DCloud_UNI_OttoJi
回复 2***@qq.com: 可能是你放错了,或者目前编译不支持你这种写法。你可以描述明确你的做法
2025-10-16 14:45
2***@qq.com (作者)
回复 DCloud_UNI_OttoJi: 存放路径: harmony-configs\entry\src\main\ets\entryability\EntryAbility.ets 编译后的路径\unpackage\dist\dev\app-harmony\entry\src\main\ets\entryability\EntryAbility.ets 完全一致,那看来目前编译不支持这种写法,总会被替换。
2025-10-17 09:39