mui app更新代码

参考网站:http://ask.dcloud.net.cn/article/182

document.addEventListener('plusready', function() {

// 检测更新
var checkUrl = " http://demo.dcloud.net.cn/test/update/check.php";//填写实际的更新接口’
function checkUpdate(wgtVer) {
if(sessionStorage['checkedVersion']) return;
console.log(wgtVer);
//plus.nativeUI.showWaiting("检测更新...");
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
switch(xhr.readyState) {
case 4:
plus.nativeUI.closeWaiting();
if(xhr.status == 200) {
console.log(Trim(xhr.responseText));
var newVer = Trim(xhr.responseText);
if(newVer != "") {
sessionStorage['checkedVersion'] = 1;
if(wgtVer && newVer && cpr_version(newVer, wgtVer)) {


plus.nativeUI.confirm("检测到新版本,确定要下载吗?", function(e) {
if(e.index == 0) {
downWgt(); // 下载升级包
}
}, "版本更新", ["下载", "取消"]);
} else {
console.log("无新版本可更新!");
}
} else {
console.log("新版本获取失败!");
}
} else {
console.log("检测更新失败!");
}
break;
default:
break;
}
}
xhr.open('POST', checkUrl);
xhr.send();
}


// 下载wgt文件
var wgtUrl = " http://demo.dcloud.net.cn/test/update/H5EF3C469.wgt";//填写实际的资源地址
function downWgt() {
plus.nativeUI.showWaiting("下载升级更新文件,请稍候...");
plus.downloader.createDownload(wgtUrl, {
filename: "_doc/update/"
}, function(d, status) {
if(status == 200) {
console.log("下载升级更新文件成功:" + d.filename);
installWgt(d.filename); // 安装wgt包
} else {
console.log("下载升级更新文件失败!");
plus.nativeUI.alert("下载升级更新文件失败!");
}
plus.nativeUI.closeWaiting();
}).start();
}


// 更新应用资源
function installWgt(path) {
plus.nativeUI.showWaiting("安装更新文件,请稍候...");
plus.runtime.install(path, {
force: true
}, function() {
plus.nativeUI.closeWaiting();
console.log("安装更新文件成功!");
plus.nativeUI.alert("安装更新文件成功!", function() {
plus.runtime.restart();
});
}, function(e) {
plus.nativeUI.closeWaiting();
console.log("安装更新文件失败[" + e.code + "]:" + e.message);
plus.nativeUI.alert("安装更新文件失败[" + e.code + "]:" + e.message);
});
}


function LTrim(str) {
var whitespace = new String(" \t\n\r");
var s = new String(str);
if(whitespace.indexOf(s.charAt(0)) != -1) {
var j = 0,
i = s.length;
while(j < i && whitespace.indexOf(s.charAt(j)) != -1) {
j++;
}
s = s.substring(j, i);
}
return s;
}


function RTrim(str) {
var whitespace = new String(" \t\n\r");
var s = new String(str);
if(whitespace.indexOf(s.charAt(s.length - 1)) != -1) {
var i = s.length - 1;
while(i >= 0 && whitespace.indexOf(s.charAt(i)) != -1) {
i--;
}
s = s.substring(0, i + 1);
}
return s;
}


function Trim(str) {
return RTrim(LTrim(str));
}


function toNum(a) {
var a = a.toString();
//也可以这样写 var c=a.split(/\./);
var c = a.split('.');
var num_place = ["", "0", "00", "000", "0000"],
r = num_place.reverse();
for(var i = 0; i < c.length; i++) {
var len = c[i].length;
c[i] = r[len] + c[i];
}
var res = c.join('');
return res;
}


function cpr_version(a, b) {
var _a = toNum(a),
_b = toNum(b);
return _a > _b;
}
if(window.plus) {
plus.runtime.getProperty(plus.runtime.appid, function(inf) {
wgtVer = inf.version;
console.log(wgtVer);
checkUpdate(wgtVer);
});
}
})
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mui是一个基于HTML5+的移动应用开发框架,用于开发跨平台的移动应用程序。下面是一个使用mui开发的app完整示例。 示例app是一个简单的待办事项管理应用,具有创建、编辑和删除待办事项的功能。首先,我们需要在HTML页面中引入mui的样式和脚本文件。 <body> <!-- 引入mui样式 --> <link rel="stylesheet" type="text/css" href="mui.css"> <!-- 引入mui脚本文件 --> <script src="mui.js"></script> </body> 接下来,我们需要创建一个列表用于显示待办事项。列表使用mui的list组件,并使用模板引擎生成动态的列表项。 <ul class="mui-table-view"> <!-- 使用模板引擎生成列表项 --> {{#each todos}} <li class="mui-table-view-cell"> {{this}} </li> {{/each}} </ul> 在页面的底部,我们添加一个输入框和按钮,用于创建新的待办事项。 <div class="mui-input-row"> <input type="text" id="todo-input" class="mui-input-clear" placeholder="请输入待办事项内容"> <button id="add-todo" class="mui-btn mui-btn-blue">添加</button> </div> 在JavaScript代码中,我们需要监听按钮点击事件,并根据输入框中的内容创建新的待办事项。 var addButton = document.getElementById('add-todo'); addButton.addEventListener('tap', function() { var input = document.getElementById('todo-input'); var value = input.value; // 根据输入创建新的待办事项 // 更新列表 }); 当用户点击添加按钮后,我们将从输入框中获取待办事项的内容,并根据该内容创建新的待办事项对象。然后,我们需要更新列表,将新的待办事项添加到列表中。 这是一个简单的使用mui开发的app完整示例。通过上述代码,可以实现待办事项的创建、编辑和删除功能。当用户点击添加按钮时,新的待办事项将显示在列表中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值