细数mui框架走过的坑

一、2018.06.21mui.alert()、mui.confirm()等弹窗系列

mui会根据ua判断,弹出原生对话框还是h5绘制的对话框,在基座中默认会弹出原生对话框,可以配置type属性,使得弹出h5模式对话框

两者区别:1.原生对话框可以跨webview,2.h5对话框样式统一而且可以修改对话框属性或样式

这是mui开发文档ui部分中对dialog的一句描述,其实不难理解,在离线打包app后,如果你使用mui.alert("66"),打印的是android原生系统自带的黑不溜秋的弹窗;但使用mui.alert("66","提示","是",function(){},"div");你会惊人的发现,嗯~样式变为和苹果差不多的显示效果了。

好了,问题有了:

function(){}表示的是你点击按钮后,触发的函数,如果你在function中加了mui.back(),不好意思,你悲剧了!!!

大家在使用mui开发文档中的UI组建中dialog时,下面有一句话,是这么说的

创建并显示对话框,弹出的对话框为非阻塞模式,用户点击对话框上的按钮后关闭( h5模式的对话框也可通过 closepopup关闭 ),并通过callback函数返回用户点击按钮的索引值或输入框中的值。

说的是   非阻塞式,什么叫阻塞什么叫非阻塞,阻塞就是点击确定按钮后,弹窗立马消失,我不晓得说的对不对,我这么理解的,既然说了非阻塞式的对话框,你在function中添加了mui.back()后,不好意思,绝对阻塞,我测试了的,一般阻塞2分多钟,控制台不断打印为点击按钮的日志,但弹窗不会关闭!!!

对于这个问题,官方文档没有做说明,本宝宝在这指出来。

二、位置获取的坑

我之前博客说到了百度地图定位偏差大的问题,这里不做阐述,这里只说H5+的获取位置信息回调问题,详情请见我的另外一篇博客     传送门

三、2018.06.29关于mui中的mui.alert()和plus.nativeUI.alert()的区别

    mui.alert()作为mui框架中的弹窗方式,离线打包后,如何让手机弹窗风格和苹果手机类似,具有美化的效果?官方文档有一项很小的显示,是这么说的

mui会根据ua判断,弹出原生对话框还是h5绘制的对话框,在基座中默认会弹出原生对话框,可以配置type属性,使得弹出h5模式对话框

两者区别:1.原生对话框可以跨webview,2.h5对话框样式统一而且可以修改对话框属性或样式

说白了,格式就是这样子滴:mui.alert("显示内容","标题","按钮名",function(){},"div");抛开这些我们切入正题,mui.alert经过个人使用只能在当前页面实现弹窗效果,如果是在父级页面实现mui.alert方式进行弹窗,嘿嘿 你们可以试试。

plus.nativeUI.alert()弹窗方式是Hubuilder基于H5+实现类原生判断,层级上面可以实现父类弹窗显示在子级页面之上(就是可以让你看得到!),对于这点,官方文档中未做说明,是我个人测试总结出,如有异议,请大家留言评论!!!

四、今天开发新的app遇到了定位的问题

        mui框架的定位是默认使用百度地图,离线打包需要配置百度地图的库文件(.so文件),楼主使用的是高德地图,今天做新的app,更改了包名,想到获取经纬度信息是H5+框架封装方法获取,采用的旧的key(高德地图KEY),结果直接走了失败回调。

        打印失败回调的状态值code和回调信息值message,此时的code为4,message为geolocation-7,意思说明key无效,经过一上午的分析,发现是key是与经纬度获取相关联的!!

        重新申请相关的app包所对应的key,测试能正常显示!!

时间有限,先写这么多,后期会逐渐添加

猜你喜欢

转载自blog.csdn.net/qq_38322527/article/details/80766983