带导航条的Window
在打开新的window的时候,为了给用户更好的体验,可以打开保留原生头的window页面,然后再加载内容,这样避免加载内容过多的时候页面空白。
使用方法:
使用openWin方法,设置参数create为false.
示例:
summer.openWin({id : 'main',url : "html/userdetail.html", //此处设置要打开的window路径pageParam: { //通过pageParam来传递需要的参数username: title,email:email},create: "false", //保留原生的headertype: "actionBar",actionBar: {title: title,titleColor: "#333333",backgroundColor: "#ffffff",leftItem:{ //设置导航来左侧显示的内容image: "img/go_back.png", //此处设置左侧显示为一个返回箭头的图片method:"" //此处不需要回调方法,所以设置为空}}});
效果图:

预加载
对于应用内有多个frame的情况,为了保证各个frame之间相互切换更加流畅,可以使用预加载方法,在用户打开应用时提前加载出所有的frame页面,这样在用户进入应用使用时切换各页面将不会出现白屏现象。
使用方法:
使用openFrameGroup方法,提前打开多个frame页面,然后通过setFrameAttr方法来显示需要的frame页面。
示例:
var top = $summer.offset($summer.byId('header')).h;var bottom = $summer.offset($summer.byId('footer')).h;summer.openFrameGroup({id: 'group1',background: '#ffffff',scrollEnabled: false,position: {top: top,bottom: bottom,left: 0,right: 0,},index: 1,frames: [{id: 'message',url: 'html/message.html',bgColor: '#ffffff',hidden: true}, {id: 'connect',url: 'html/connect.html',bgColor: '#ffffff',hidden: false}, {id: 'application',url: 'html/application.html',bgColor: '#ffffff',hidden: true}, {id: 'my',url: 'html/my.html',bgColor: '#ffffff',hidden: true}]}, function(ret, err) {var index = ret.index;alert(index);});}//通过setFrameGroupAttr方法设置frame的索引值来显示页面function openTab(index){summer.setFrameGroupAttr({id : 'group1',index : index //set显示页面的index值});}
热更新
和EMM平台相结合,采取服务端更新版本方式,不需要用户手动更新应用,用户点击应用时会自行判断是否需要安装或更新,使用静默升级的方式。
步骤:
1.配置emm server信息:emm.writeConfig()
2.注册设备:emm.registerDevice()
3.获取用户列表:emm.getUserCommonApps()
4.获取系统列表:emm.getSystemApps()
5.点击app做判断:
1)判断是否安装:如果未安装,进行安装: emm.installWebApp()
2)若已安装,判断是否需要升级:如果需要升级,进行升级:emm.upgradeWebApp()
3)若不需要升级,打开应用:emm.openWebApp()
示例:
function init(){emm.writeConfig({ //设置emm server host和port"host": "https://emm.yonyoucloud.com","port": "443"});emm.registerDevice({ //注册device"username" : "xxx","password" : "xxxxxxxx","companyId":'xxxx'},function(ret){//alert("注册设备成功:" + $summer.jsonToStr(ret));},function(ret){alert("注册设备失败:" + $summer.jsonToStr(ret));});}/*获取常用app*/function getUserCommonApps(){emm.getUserCommonApps({"userid": "xxx", //用户名"companyId":'xxx', //租户id"categoryname":'常用应用' //该分类是指在emm server上创建的分类名称}, function userAppsS(res){alert(res.result);},function userAppsE(res){$summer.alert(res);alert('获取用户app列表失败!!!');});}/*获取全部app*/function getSystemApps(){emm.getSystemApps({"userid": "xxx","companyId":'xxx'},function sysAppsS(res){alert(res.result);},function sysAppE(res){$summer.alert(res);alert('获取系统app列表失败!!!');});}/*点击应用*/function clickApp(obj) {var title=$(obj).parents('.um-sortable').prev('.modal-title');var groupId=title.text();var appid = $(obj).attr('data-id');var isInstall = $(obj).attr('data-installed');var isupdate=$(obj).attr('data-isupdate');var version=$(obj).attr('data-version');var downloadURL=$(obj).attr('data-downloadURL');/*新添加字段,启动页*/var homepage=$(obj).attr('data-homepage');/*给列表添加选择类*/$(obj).addClass('click-target');if(groupId != ""){if (isInstall == 'true') {if(isupdate=='true'){upgrade(appid,version,downloadURL);}else{openApp(appid,homepage);}} else if(isInstall=='false'){appInstall(appid,version,downloadURL);}}}/*安装应用*/function appInstall(appid,version,downloadURL) {emm.installWebApp({"appid": appid,"version":version,"downloadURL":downloadURL,}, "installS()", "instllE()")}/*安装成功*/function installS(ret) {console.log(ret);if (ret.isfinish == 1) {summer.toast({msg:'安装完成'});}}/*安装失败*/function instllE(res) {$summer.alert(res);}/*升级应用*/function upgrade(appid,version,downloadURL){emm.upgradeWebApp({"appid":appid,"version":version,"downloadURL":downloadURL,},"upgradeS()","upgradeE()")}/*升级应用成功*/function upgradeS(ret){if (ret.isfinish == 1) {summer.toast({msg:'升级完成'});}}/*升级应用失败*/function upgradeE(res){$summer.alert(res);}/*打开应用*/function openApp(appid,homepage) {emm.openWebApp({"appid": appid,"homepage":homepage,"params": {}}, "openS()", "openE()")}/*打开应用成功*/function openS(ret) {alert($summer.jsonToStr(ret));}/*打开应用失败*/function openE(ret) {alert($summer.jsonToStr(ret));}
[用例github下载地址]
文档更新时间: 2018-06-06 13:54