模式1打包和模式2打包资源更新的差异

模式1,异步更新,意思就是APP第一次启动时,向服务器(异步)发送个请求,比较版本,APP正常运行本地资源 如果版本变化后,第二次打开APP,会把服务器的资源下载到本地(异步),APP还是运行的本地页面资源 第三次启动APP的时候, 如果,上次启动APP下载资源压缩包没下载完,这个时候会重新去下载资源压缩包,并且运行的单个页面资源是会单独请求服务器的!(如果此时网络断了,就会报错的) 如果,上传启动APP下载的资源压缩包,下载完了,则运行打开本地最新的资源(上次服务器下载下来的)   模式2打包,重新部署资源后,如果APP一直处于开启状态,页面切换过程中,还是使用的本地资源(缓存),如果本地没有就会请求服务器最新资源。 当APP重启后,会(同步)请求服务器最新资源,并且(异步)下载最新资源的压缩包,解压到本地(这个时候有可能会出现打开页面慢) 注意: 因为模式1发送请求都是异步的,所以APP运行不会出现卡的情况,一直运行根本资源 模式2打包,每次启动APP都会发送(同步)请求,比较版本号,所以,保证网络必须是正常的!否则会报错或卡死

百度地图插件案例

我们的百度地图提供了两种cordova插件, 1.插件位置:com.justep.cordova.plugin.baiduMapBase 文档:http://docs.wex5.com/com-justep-cordova-plugin-baidumapbase/ 案例:/UI2/demo/plugin/baiduMap/main.w ,这个案例必须在综合演示中打开才行,可以appLoader直接运行/UI2/portal/sample/index.w 进行演示 这个插件是官方原生开发的cordova插件!完全是自己的原生页面,它的扩展插件有:com.justep.cordova.plugin.baiduMapSearch   2. 插件位置com.justep.cordova.plugin.bmap 案例 : /UI2/system/components/justep/bmap/demo/mainActivity.w 这个插件是为了调用百度APP,如果手机上装了百度APP 就用百度打开!否则用web页面打开!可以看外卖案例 3.自己集成web版地图还可以看下http://docs.wex5.com/integrate-map/ 另外还可以查看百度API 的文档,实现功能! http://lbsyun.baidu.com/jsdemo.htm?#a1_2

如何确定cordova插件是否真的打包在APP中

js  使用require 引入插件,打包时勾选自定选择插件,要求打包的时候必须勾选资源,必须勾选重新编译资源,才会识别这些插件,并打包在apk 或ipa 中,也可以手动勾选插件进行打包,否则不会打包进去   检查插件是否真的打包在APP 中 1.如果app运行时,调用cordova插件提供的方法保存undefind ,就有可能是插件没打包进去导致的! 2.打包后,使用压缩工具,将apk文件打开 看下这个路径:\assets\www\plugins  是否存在对应的插件目录? 如果没有成功打包进去,就只好重新打包了

APP版本更新优先级

关于代码更新,有两中方法 1.如果你没有自己接管代码更新,默认使用的是:UI2/system/components/justep/versionChecker/versionChecker.js 2.如果你自己在index首页的同级目录写了:appVersionChecker.js 和 appVersion_in_server.js,并且js引入 :require(['./appVersionChecker']); (可以参考:/UI2/portal/sample/appVersionChecker.js) 并且修改 /UI2/system/components/justep/window/main.html  将  版本检查的代码去掉,搜下:  versionChecker    相关的字符串,删除,就不会使用平台默认的更新机制了! 那么APP的资源更新代码就会使用,自定义版本更新!你可以在appVersionChecker.js 中写自己的代码实现! 还可以看下:http://docs.wex5.com/app-version-update-v3-3/

极光推送与百度定位geolocation冲突问题

这个问题是因为极光推送集合了64位的so文件,而baidulocation当时考虑了手机兼容性问题,没有把64位so文件打进去。同时使用极光推送和baidulocation插件会导致找不到baidulocation的64位so文件的问题。修改极光推送的配置文件:WeX5_5113-mac/model/Native/plugins/cn.jpush.phonegap.JPushPlugin/plugin.xml,注释掉导入64位so文件那句话,重新打包即可。 注释掉导入64位so文件: <!-- <source-file src="src/android/arm64-v8a/libjpush215.so" target-dir="libs/arm64-v8a"/> -->   64位so文件会导致部分手机无法正确使用插件,所有的插件,自己定义的也要注释掉64位so文件的导入,避免部分手机出现问题

获取浏览手机所有文件权限的配置,以及浏览器文件的代码

可以打包的时候再你应用的config.xml 中配置 : <preference name="AndroidPersistentFileLocation" value="Compatibility" /> 这样所有的文件就可以有访问权限了!!   参考综合演示的:“文件系统” 案例 源码就是:/UI2/system/components/justep/docCommon/demo/mainActivity.w 关于文件的操作你看下源码吧! 最初始的,就是点击的时候调用了openEntry方法!!调用fileApi.browse 打开的文件!!这个就可以得到文件的url地址 js代码:/UI2/system/components/justep/docCommon/fileSystem.js

APP操作时长判断,超时弹出手势解锁

在index.w 首页的onLoad事件中添加一个setinterval ,可以每隔一秒执行一次方法! 在方法中判断一个全局变量的值(int类型)!如果等于0则弹出手势解锁的页面! 否则这个变量减1,就是依次递减 在其他操作中,只需要将这个全局变量的值复原即可!,可以写在某个公共的事件中!比如BaasServer请求的ajax 请求时 或者 index.w的contents组件onActiveChange 事件中,还可以是touch时间中。判断用户操作APP的依据是什么,就在相应代码中将变量的值复原!!!