Apicloud 几个使用事项

栏目: IT技术 · 发布时间: 4年前

内容简介:在使用Apicloud的时候遇到的一些问题:

在使用Apicloud的时候遇到的一些问题:

  1. 如何避免 openWin() 的黑屏问题

    两种解决方式

    1. openWin() 参数中设置 bgColor:'#fff'
    2. config.xml 中设置 appBackgroundwindowBackground 的值为 #fff ;(当然您也可以顺手将, frameBackgroundColor 的值设置为 #fff ,解决某些情况下 frame 也黑屏的问题)
      当然以上黑屏问题就变成了白屏问题,:joy:哈哈哈。
  2. 少量持久化信息的存储

    持久化信息的存储,在 Apicloud 中给了明确的说明 也提供了三个方法来解决添加,获取,删除的问题。见以下代码:

    // 存储持久化数据
    api.setPrefs({
        key: 'userName',
        value: 'api'
    });
    // 获取持久化数据 只用同步就好了,因为大部分时候我们都是要同步获取数据来用的;异步还是要根据实际应用场景来选择使用,不建议用。
    //同步返回结果:
    var userName = api.getPrefs({
        sync: true,
        key: 'userName'
    });
    //删除持久化数据
    api.removePrefs({
        key: 'userName'
    });
    

    通过以上的三个方法可以解决用户登陆态的基本问题,但是有时候我们会遇到,明明已经设定了 prefs 为什么获取的时候获取不到?我猜测有两个方面:

    1. UIWebViewWKWebView 中混用,这是最常见的问题。
    2. 在设置的时候,窗口销毁。导致操作未完成。
      针对第一种情况,我们不需要做特殊处理,就是将原来设定的 framewindow 中的属性 useWKWebView 这里保留默认就好了。 苹果公司在 2020 年 4 月 20 日回将 UIWebview 设置内部 API ,所以这里默认就是使用了 WKWebview
      针对第二种情况,一般就是数据量较大,需要更换为 fs 或者 db 等方式处理数据。
      对于另一对方法 setGlobalDatagetGlobalData ,如果您的应用只需要当次打开用,退出应用后不记录任何状态,那么可以使用。这两个方法是记录临时数据的。
  3. 关闭到某个窗口 api.closeToWin({name:'root'})
    如果是使用 apicloud 云端打包,默认窗口的名字是 root ,这样有利于我们快速返回首页。

  4. 关于窗口交互 记住当存在一个窗口打开或者关闭操作时,其他的窗口的打开或者关闭指令是被忽略的,窗口关闭打开的交互时间延迟至少要 800ms 之前试过 500ms 不起作用,有兴趣的可以亲自去测试这个问题。

  5. 关于 tabBar 的监听,如何确认使用的事件是对的?

    1. 针对 tabitembtn 的事件监听,是用来确认点击某个按钮后,是否要执行页面展示操作。比如我们有一个页面登陆后才能看到,那么就可以用这个事件来监听登陆态是否存在,存在则打开页面,不存在则停止操作(或者打开登陆页面)
    2. 针对 tabframe 的事件监听,有两个方式回出发此事件,第一个是点击 tabBar ,第二个是左右划屏(这个需要在调用 openTabLayout 时设置 tabBarscrollEnabled 属性为 true )。 这种时候也可以通过这个判断登陆态 ,如果未登陆则 通过 方法 api.setTabBarAttr({index: 1}); 来让用户返回首页或者某个不需要登陆的页面。同样 这个方法还可以用于处理 navigationBar 的按钮问题,尤其是在 tabBar 不同的页面左上角和右上角有不同的按钮和触发事件的时候。
  6. 针对没有 tabBar 的页面 需要处理底部沉浸式问题,在适当的 div 或者 body 标签上要增加样式 document.querySelector('body').style.paddingBottom = api.safeArea.bottom ;如果本来就有那么需要在原基础上增加。

  7. 针对没有 navigationBar 的需要处理顶部沉浸式问题,在适当的 div 或者 body 标签上要增加样式 document.querySelector('body').style.paddingTop = api.safeArea.top ; 如果本来就有那么需要在原基础上增加。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

How Tomcat Works

How Tomcat Works

Budi Kurniawan、Paul Deck / BrainySoftware / 2004-4-1 / USD 54.95

A Guide to Developing Your Own Java Servlet Container一起来看看 《How Tomcat Works》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具