apicloud相关资料

1. tac深坑 ,tac根据当前 宽度,进行文本的自适应水平居中,但是在移动端,屏幕大小变化的,无法同步自适应。导致文字剧中,解决方法,div包裹,文本,转化为div在div中水平,垂直剧中即可在浏览器环境下,window.onresize事件中,可以动态添加div行内属性,textAlign='center'.

2. 利用jq的序列化方法serializeArray ,封装了一个serializeObject方法,并重新挂在jQuery.prototype上。

3. 入口文件index.html 首先应该判断是否登陆,如果登陆,在初始化页面,打开首页main.html对应的页面,如果没有登陆就应该显示login.html对应的页面,配合localStorage进行验证 这里如果要用到token会好一些,可以在登录时,给后台发送token,判断token是否过期。更好的控制登录。

4. apicloud中5大ui 组件之间的关系是, app>(启动页)>widget(一个或者多个项目包)>window(每一个项目包对应默认打开一个window)>frame/frameGroup的关系,最开始打开应用的时候默认打开的文件就是一个window 。基本是window+frame的布局方式在子frame会依赖在父frame上。

5 在apicloud中,尽量使用padding去设置,大的木块如header,main边距,否则,会增高#wrap的高度,高出一个api.frameHeight的高度就会出现留白。

6 在apiready中才能够访问到api,引入外部ui组件的时候,需要创建实例,实例的回调需要用到api方法,如openframe时应该把实例定义apiready中,其实即 ‘’ ‘’实际上也就挂载在api上,$api也能够访问。也可以把window.apiread挂载window上把ui对象实例化对象也挂载window上。

7 tapmode属性,解决300毫秒延迟

8 页面之间反向传值,可以在下一个页面frame定义一个api.sendEvent({})name 定义事件名称, extra 传递参数,在监听事件addEventListener时,回调函数function(ret,err) 分部获取参数,和报错。传递参数有一个小坑,出现2中取值情况。ret.value.key 或者ret.value.key.index 暂时不明白机制,做了兼容性处理。

9 布局中,将main部分当做是新的frame打开区域,打开main是在原来frame的情形下打开的,仍然会占据位置如果需要底部的tabbar,并不能用定位定到底部。

10 实现底部按钮的时候,不能够直接定位到底部,app里面是不支持的,一般需要两端去头去尾,开辟一个frame空间,设置高度之后,能够让底部botton站在底部位置。但是如果中间不需要新的frame的时候就不能够很好的让botton,居于底部这里直接,在打开window的时候就在底部打开一个frame只用来装botton.html这样的话就能够实现了。

11 键盘弹出时, 盖住输入框。 ios可以监听事件keybordshow,回到中ret.h表示是键盘的高度,通过判断,输入框的高度,来进行判断是否需要操作页面。

12 常识: apicloud中想要去操作dom,外面去获取,apiready中不一定能拿到dom出现问题 ,时机可能是不对的

13 使用api.bringFrameFont 方法是需要frame先打开的。为了节省资源,我判断了是否打开。如果没打开,则openFrame,如果已经打开了,选择api.bringFrameFont ,判断依据比较拙劣,使用的是var frames = api.frames()返回一个包含已打开frame名的的动态数组。数组包含对像{ name: }的形式。使用了filter筛选出的名称相等的数组,进行了长度判断。比较劣质,欢迎讨论

14 关于api.bringFrameFont另外一个坑。不能够操作FrameGroup中的frame,通过frameGroup中的frame出现的形式,应该是左右排列的所有不太生效。

15 小技巧,如果在操作按钮时,如果不想去操作dom注册事件,可以定义事件,然后再行内式注册事件,免去操作dom的麻烦。

16 header部分,因为需要title居中显示,通过会用到自觉父相的定位,导致back后退图片,在底下无法点到。记得给后退图标的元素,加相对定位!这就是为什么,无法调用api.closeWin关闭窗口的原因。

17 在使用api.execScript方法时,需要注意的是,当参数数据为复杂数据类型时,如果不转化为jSON类型的话,会报语法错误。其用法类似于JSONP,通过调用函数,实参传递给形参得方式,在另外一个页面拿到当前页面的数据。注意,外层引号为单引,避免与JSON数据类型双引号冲突。

18  apicloud打包IOS和Android 是有兼容性问题的,对于键盘 弹起判断的api只能够在config.xml文件中配置,并且无法作用于安卓,安卓可以自适应。且重点来了z-index 属性,在 苹果中如果使用负值,IOS是不支持的。Android的absolute 在IOS中如果父元素使用了flex布局,也是无效的。

18 移除外部引入css样式中默认设置的伪元素样式,可以通过伪元素diaplay :none;进行覆盖移除

19 frameGroup 中的坑非常多, 首先frameGroup整体应该是相当于 一个win ,依附在上面的frames能够正常的切换,且不互相遮盖,需要win的的模块,比如就是这个坑爹的arcmenu 就是,依然能够正常显示,但是在每一个frame中再次打开frame时,就会出现层叠情况。所以,应该避免。

20 setFrameGroupIndex 需要事件是一个异步过程 ,页面呈现之后,类似于打开的frameGroup的页面才能接受到监听的机制会有一个时间上的,变差。在完成之前,如果关闭当前页面跳转到,制定index的页面,由于页面关闭比回调快,会出现设置index无效的情况。因此,可以以后在回调中,监听,如果完成index的切换,再进行关闭跳转操作。

21 关闭某个win 和当前win之间的所有win ,跳转到某个win的时候,用api.closeToWin()

22 用doT模板的是后,如果在循环数组中,判断条件是表达式,那么已经把表达式括号包起来,否则天坑!!!实际测试并不用包裹,起来,但是不能够使用&& 语法,进行多条件的判断,而且分嵌套判断也是必须经的,已经会造成语法编译的混乱。 目前处理方法是手动,提前改变数据

23 简单数据类型,字符串类型,是可以直接通过$api.getStorage('等等') 是可以获取到的,单是复杂的数据类型,还是的JSON.parse,目前集成的说法,正确的理解,应该是,已经封装的storgae可以直接存储对象等,那么久在存储的时候避免是用stringify进行转化-------------先验证 - ---------------- 验证结果:验证成功,直接进行存储记得,如果存储的时候使用了stringify进行,存储在获取的时候就必须进行JSON.parse() 的转化。

24 如果表示 变量数据类型为{ } 一个空的对象,那么出现一个问题。如果判断if(data == {}) 的时候,改条件是不成立的,

最好判断其属性。

25 关于网络问题,利用你conectionType进行判断,细分为2g,3g,4g,无网络,以太网等等,由此判断,连接网络的类型,而且网络监听,只在网络连接环境发生变化的时候才能够触发。

26 获取偏好设置成同步获取就好了,apicloud中,异步获取,添加自己的操作难度。

27 因为frameGroup特殊的缓存机制,在apicloud中,如果使用的是,注册点击事件进行的点击跳转。如果在framegroup中其他页面,跳转到新的win时,frameGroup中的其他方法不会执行。因此点击事件不会被注册。

28 apicloud 打包的Android app ,打开frame页面时,配置rect时(窗口的大小位置描述),发现,‘auto’的宽度,约有15px的右边留白。目前不知道具体原因。详细描述一下问题,即openFrame的时候,设置rect: { w:'auto' }(其他配置省略描述)时,在新frame中,设置div宽度为100%,不能够充满通栏。右侧有约15px的留白,目前比拙劣的使用了,api.frameWidth+15进行了通栏操作,但是,div右侧会有15px进入到右边向左滑动才会出现的间隙留白。因此给了右边一个15px的内边距padding解决了。(非常想说是15公分),不知道是否是常见问题,apicloud社区没有搜到相关问题有知道的大佬,烦请告知。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349

推荐阅读更多精彩内容