【FAQ】API6低代码开发问题汇总

发布时间 2023-07-14 10:31:48作者: Mayism123
参考文档:

低代码开发参考文档:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide-low-code-0000001158284713

基于景区模板开发元服务:

https://developer.huawei.com/consumer/cn/doc/distribution/app/agc-lowcode-templateoverview-0000001548015654

 

使用API6低代码开发遇到的问题汇总情况如下:

1、低代码环境下,如何实现box-shadow阴影效果的配置?

答:低码目前不支持box-shadow设置。

 

2、低代码环境下,是否支持元素的宽度或者高度在设置时由内容的多少来决定?

答:低码目前无法支持wrap-content,如果内容需要撑满全屏时,可以设置宽度或者高度为100%。

 

3、如何实现下图中金额数不固定但是整体内容无间隙的效果?

cke_1850.png

答:Text里面放三个Span即可实现。

 

4、打开visual文件后界面自带的canvas效果展示和打开的预览器效果以哪个为准?

答:canvas和预览器中实际数据加载时的效果都无法展示,请以真机调试运行时的效果为准。

 

5、visual文件中内容组件过多(如首页)时会导致在页面编辑时严重卡顿,这种情况有何优化方案呢?

答:①、目前的DevEco版本暂无具体的优化方案,只能关掉visual文件重新打开或者重启IDE;②、或者另外创建一个项目,在该项目中编辑一部分页面布局然后复制到原有项目中。

 

6、AppGallery Connect低代码平台中连接器的入参有什么作用?下面的HTTP配置又是什么?

答:HTTP连接器界面中上面的入参是定义了接口所需要的所有数据,下面的HTTP配置则是把数据对应到相应的Query Header Body里面去,简单理解就是上面是定义的入参结构,下面是设置入参的对应关系,入参的数据通过对应关系填入到各个字段里面。

 

7、使用连接器时报错:code=208011285,msg="function execute error",如何解决?

答:

问题排查:在AGC的云函数中手动调用连接器接口,然后会报同样的错误,定位到该问题是请求接口及参数等缓存数据超出了redis的云缓存限制引发了报错。

解决方案:目前是可以先拆分一下连接器,不要将所有的接口都放在同一个连接器中,将多个接口拆分到不同的连接器中使用,尽量一个连接器中创建一个接口方法。

 

8、如何通过一个网页地址在页面中直接嵌入网页进行展示(类似小程序的webview)?嵌入的网页如何交互?

答:

问题1:在页面中通过Java使用WebView控件加载页面URL,在低码页面中为按钮绑定点击事件,事件中实现通过JS调用Java能力。

问题2:添加以下代码:webview.getWebConfig().setJavaScriptPermit(true); //如果网页需要使用JavaScript,添加此行

可以参考以下内容:

https://developer.huawei.com/consumer/cn/forum/topic/0208121373041025092?fid=0102683795438680754

 

9、WebView中进行路由跳转时会打开浏览器然后在网页中打开要跳转的页面,如何让需要跳转的页面直接在WebView中展示?

答:可以通过设置自定义的WebAgent实现,代码如下:

cke_3343.png

 

10、WebView加载H5页面跳转二级页面后,无法播放语音如何解决?

答:通过排查WebView的相关配置,发现未调用setWebStoragePermit()方法,该方法用于开启H5 DOM存储,代码如下:

cke_4907.png

 

11、如何给别的手机安装测试版本?

答:可以通过发布开放性测试的方式,开放式测试的使用详情请参考官方文档:

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-betatest-introduction-0000001071477284

 

12、WebView页面加载H5如何实现拨打电话、定位及导航的相关功能?

答:实现以上功能的核心知识点是:JS跟Java的数据交互,关于上述功能的详细代码,请参考以下帖子:

https://developer.huawei.com/consumer/cn/forum/topic/0209122138104231108?fid=0101591351254000314

 

13、元服务中数据模型和连接器的数据加载较慢,通过数据打点发现加载时间较长,请问该如何优化?

答:通过定位发现端侧SDK版本为旧版本,因此在端侧修改lowcode sdk的版本号为1.5.0.301版本,另外连接器里面方法拆分到多个连接器,避免一个连接器方法过多,尽量一个连接器中只有一个方法。

 

14、景区模板的数据模型是否有可直接导入的文件?

答:目前没有可导入的文件,需要手动创建。

 

15、H5页面中如何判断当前H5运行环境是在HarmonyOS的WebView中?

答:通过JS调用Java代码的方式获取一个标识,如果标识存在且等于定义的值,则判断是鸿蒙系统,否则不是。

 

16、WebView中通过Java获取到当前位置后,需要怎么返回给H5?

答:H5页面的JS方法中添加两个参数function locationToApp(e,str),然后Java中onCallback方法的return后面跟上定位信息,js方法里的result就是Java返回的结果。在Java拿到定位信息后,写一个Java调JS的方法,然后JS方法中再去刷新一下页面。

 

17、Java获取到的位置在高德地图上显示的位置有偏差,请问Java获取到的坐标系是什么坐标系?

答:鸿蒙中Java获取定位得到的经纬度坐标系是WGS84坐标系,需要进行坐标转换。

 

18、提交开放性测试的新版本提审,并且也有更新代码中的版本号,审核通过之后在手机中看到的版本号是新版本号,内容依旧是旧版本,是什么原因呢?

答:开发者修改的是versionName字段,端侧是通过版本号versionCode来检测升级的,已经告知开发者端侧开发一般修改versionName的时候,versionCode也要同步修改的。

 

19、JS的本地存储如何实现,是否有可用的api?

答:本地存储可以参考轻量级数据存储开发指导,参考文档地址如下:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/database-storage-guidelines-0000001333321009

 

20、低码中Image组件如何设置圆角?

答:本地测试通过直接给图片设置border-radius可以显示圆角,但是开发者那边设置之后反馈无效,最后建议在外层容器设置radius属性解决。

 

21、连接器生成的返回参数数组,在项目引用的时候多了一层该怎么办?

答:这个问题需要在js文件中的data节点中重新定义正确的返参的数据结构,把多的对象那一层去除,针对该问题可以参考以下文章:https://blog.51cto.com/u_15687416/6571324

 

22、端侧自动生成代码爆红:Type {} is missing the following properties,如何解决?

答:该问题不影响运行效果,是TS的数据类型校验。

 

23、数据模型切换发布态之后,数据不能同步过去吗?

答:目前是无法同步的,草稿态相当于是为开发人员提供的一个测试环境,在该环境下进行调测,数据可以随意增删,发布态相当于是生产环境数据,草稿态和发布态的数据是隔离的,因此无法同步。

 

24、使用连接器返回数据报错:ReferenceError:getRet is not defined,如何解决?

答:检查MyApplication.java类中是否缺失以下代码:AGConnectInstance.initialize(this);如缺失需要添加这行初始化的代码。