Apicloud 几个使用事项
source link: https://hexo.hainuo.info/posts/apicloud-h5-usefully-guidance/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
在使用Apicloud的时候遇到的一些问题:
-
如何避免
openWin()
的黑屏问题两种解决方式
-
openWin()
参数中设置bgColor:'#fff'
-
在
config.xml
中设置appBackground
和windowBackground
的值为#fff
;(当然您也可以顺手将,frameBackgroundColor
的值设置为#fff
,解决某些情况下frame
也黑屏的问题)
当然以上黑屏问题就变成了白屏问题,:joy:哈哈哈。
-
-
少量持久化信息的存储
持久化信息的存储,在
Apicloud
中给了明确的说明 也提供了三个方法来解决添加,获取,删除的问题。见以下代码:// 存储持久化数据 api.setPrefs({ key: 'userName', value: 'api' }); // 获取持久化数据 只用同步就好了,因为大部分时候我们都是要同步获取数据来用的;异步还是要根据实际应用场景来选择使用,不建议用。 //同步返回结果: var userName = api.getPrefs({ sync: true, key: 'userName' }); //删除持久化数据 api.removePrefs({ key: 'userName' });
通过以上的三个方法可以解决用户登陆态的基本问题,但是有时候我们会遇到,明明已经设定了
prefs
为什么获取的时候获取不到?我猜测有两个方面:-
在
UIWebView
和WKWebView
中混用,这是最常见的问题。 -
在设置的时候,窗口销毁。导致操作未完成。
针对第一种情况,我们不需要做特殊处理,就是将原来设定的frame
和window
中的属性useWKWebView
这里保留默认就好了。 苹果公司在 2020 年 4 月 20 日回将UIWebview
设置内部API
,所以这里默认就是使用了WKWebview
。
针对第二种情况,一般就是数据量较大,需要更换为fs
或者db
等方式处理数据。
对于另一对方法setGlobalData
和getGlobalData
,如果您的应用只需要当次打开用,退出应用后不记录任何状态,那么可以使用。这两个方法是记录临时数据的。
-
在
-
关闭到某个窗口
api.closeToWin({name:'root'})
如果是使用apicloud
云端打包,默认窗口的名字是root
,这样有利于我们快速返回首页。 -
关于窗口交互 记住当存在一个窗口打开或者关闭操作时,其他的窗口的打开或者关闭指令是被忽略的,窗口关闭打开的交互时间延迟至少要
800ms
之前试过500ms
不起作用,有兴趣的可以亲自去测试这个问题。 -
关于
tabBar
的监听,如何确认使用的事件是对的?-
针对
tabitembtn
的事件监听,是用来确认点击某个按钮后,是否要执行页面展示操作。比如我们有一个页面登陆后才能看到,那么就可以用这个事件来监听登陆态是否存在,存在则打开页面,不存在则停止操作(或者打开登陆页面) -
针对
tabframe
的事件监听,有两个方式回出发此事件,第一个是点击tabBar
,第二个是左右划屏(这个需要在调用openTabLayout
时设置tabBar
的scrollEnabled
属性为true
)。 这种时候也可以通过这个判断登陆态 ,如果未登陆则 通过 方法api.setTabBarAttr({index: 1});
来让用户返回首页或者某个不需要登陆的页面。同样 这个方法还可以用于处理navigationBar
的按钮问题,尤其是在tabBar
不同的页面左上角和右上角有不同的按钮和触发事件的时候。
-
针对
-
针对没有
tabBar
的页面 需要处理底部沉浸式问题,在适当的div
或者body
标签上要增加样式document.querySelector('body').style.paddingBottom = api.safeArea.bottom
;如果本来就有那么需要在原基础上增加。 -
针对没有
navigationBar
的需要处理顶部沉浸式问题,在适当的div
或者body
标签上要增加样式document.querySelector('body').style.paddingTop = api.safeArea.top
; 如果本来就有那么需要在原基础上增加。
Recommend
-
60
APICloud推出“亿元分账计划”,API生态实现移动开发技术全融合
-
77
360借壳重组事项获证监会核准批
-
51
错误提示页面 抱歉,出错啦! 页面不存在或者已被管理员删除! 返回首页
-
12
【APICloud系列|30】UILoading 模块demo源码的实现
-
7
导读:百度导航基础功能。d用到了bMap模块,baiduNavigation模块,UIListView模块。样式完全来自AUI。js用到了zepto.j 项目结构: index.html config.xml
-
4
APICloud平台使用融云模块实现音视频通话实践经验总结分享 原创 ffapi 2022-03-08 20:05:36...
-
1
使用APICloud开发物流仓储app项目实践 推荐 原创 一、前端思维导图
-
5
低代码开发的前后端联调——APICloud Studio 3 API管理工具结合数据云3.0使用教程 原创
-
2
一、功能介绍把消防检查过程中,需要手写填报的文档,在App端以表单填写进行实现。同时可以添加手写签名,关联照片,而且App端表单填报很多项目进行下拉选择,极大的提高了工作效率;表单填报完成之后可通过系统后台生成word模板文件,App端下载到...
-
5
使用融云SDK在APICloud平台实现单人多人音频通话 原创 API_Cloud 2022-06-...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK