【每日学点鸿蒙知识】中间产物版本号问题、Toast应用外不生效、Dialog键盘问题、WebView cookie、本地缓存
1、业务bundle中间产物,import携带版本号问题?
业务bundle如果依赖一个产物B.har(版本0.0.1)在打包中间产物中可以看到import导入的B.har组件或者API的路径会直接带其对应的版本号@0.0.1 如果此时entry下有override B.har的其他的版本号。实际该B.har 在运行时应该会有问题,但是日志也没有报错。
希望编译对依赖的导入做优化,去除版本号的标记,或者有其他更好的方案,规避相关问题。
entry 引了 B.har 的1.0.0版本 中间产物是import路径是1.0.0 但是在工程级override为1.0.1之后; 中间产物import路径就会变为1.0.1
2、HarmonyOS promptAction.showToast设置弹窗在应用外不生效?
应用退出时,打开的toast会跟随组件的销毁而销毁,无法保留。
3、HarmonyOS Dialog存在输入控件时,键盘弹起后,dialog位移长度不等于键盘高度?
在Dialog中添加TextInput控件,控件获取到输入 焦点时,会被键盘顶起,但是顶起后,会相对键盘多出一段距离,期望弹起距离和键盘高度保持一致。
弹窗避让软键盘时,与软键盘之间默认存在16vp的安全间距,属于当前规格。
具体参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-common-components-custom-dialog-V5
4、HarmonyOS Webview写cookie部分字段丢失?
同样一个对象数据,如果使用 JSON.stringify(data) 后存入cookie就能存入完整。如果直接对象存入就会丢数据。
直接set对象数据,通过get拿到的是undefined,不支持直接设置对象;webview设置的cookie都是string,参考API:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-webview-V5#ZH-CN_TOPIC_0000001920279886__configcookiesync11
h5直接set对象时,在get获取的变量值为undefined;通过js-cookie库直接cookie.set需要是序列化之后的字符串。
5、HarmonyOS 本地缓存问题?
将一些业务存储在本地,下次冷启动的时候,也要能够使用
可以参考该链接的数据存储方案,并根据业务选择合适的持久化存储方案:
https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-arkdata-kit-V5