options: {
debug: false,
lockOrientation: 'landscape' //设置一直处于横屏
},
/**
* 当wap2app初始化完成时,会触发 onLaunch
*/
onLaunch: function() {
console.log('launch');
setTimeout(function() {
plus.screen.unlockOrientation();
//plus.screen.lockOrientation("landscape-primary");//锁定APP横屏
}, 5000)
// formatSize()
function formatSize() {
let that = this;
plus.cache.calculate(function(size) {
console.log(size)
let sizeCache = parseInt(size);
if (sizeCache == 0) {
that.fileSizeString = "0B";
} else if (sizeCache < 1024) {
that.fileSizeString = sizeCache + "B";
} else if (sizeCache < 1048576) {
that.fileSizeString = (sizeCache / 1024).toFixed(2) + "KB";
} else if (sizeCache < 1073741824) {
that.fileSizeString = (sizeCache / 1048576).toFixed(2) + "MB";
} else {
that.fileSizeString = (sizeCache / 1073741824).toFixed(2) + "GB";
}
});
}
//清除缓存
// clearCache()
function clearCache() {
let that = this;
let os = plus.os.name;
if (os == 'Android') {
console.log(1)
let main = plus.android.runtimeMainActivity();
let sdRoot = main.getCacheDir();
let files = plus.android.invoke(sdRoot, "listFiles");
let len = files.length;
for (let i = 0; i < len; i++) {
let filePath = '' + files[i]; // 没有找到合适的方法获取路径,这样写可以转成文件路径
plus.io.resolveLocalFileSystemURL(filePath, function(entry) {
if (entry.isDirectory) {
entry.removeRecursively(function(entry) { //递归删除其下的所有文件及子目录
console.log('清除缓存')
formatSize(); // 重新计算缓存
}, function(e) {
console.log(e.message)
});
} else {
entry.remove();
}
}, function(e) {
console.log('文件路径读取失败')
});
}
} else { // ios
plus.cache.clear(function() {
console.log('清除缓存')
formatSize();
});
}
}
var ua = navigator.userAgent;
console.log(ua)
if (ua.indexOf('Html5Plus') > -1 && ua.indexOf('StreamApp') == -1) {
var url = ""; //检查更新地址
var req = { //升级检测数据
"appType": "pad",
};
wap2app.ajax.get(url, req, function(rsp) {
if (rsp.success) {
plus.runtime.getProperty(plus.runtime.appid, function(inf) {
var wgtVer = inf.version;
if (rsp.result.appVersion && parseFloat(rsp.result.appVersion) > wgtVer && rsp.result.appUrl) {
plus.nativeUI.confirm("检测到新版本", function(event) {
if (0 == event.index) { //用户点击了“立即更新”按钮
plus.runtime.openURL(rsp.result.appUrl);
}
}, "更新提示", ["立即更新", "取 消"]);
} else if (rsp.result.contentVersion && parseFloat(rsp.result.contentVersion) > wgtVer && rsp.result.wgtUrl) {
downWgt(rsp.result.wgtUrl)
} else {
if (localStorage.getItem("version") && parseFloat(localStorage.getItem("version")) > wgtVer ) {
wgtVer = parseFloat(localStorage.getItem("version"))
}
if ((rsp.result.appVersion && parseFloat(rsp.result.appVersion) > wgtVer) || (rsp.result.contentVersion &&
parseFloat(rsp.result.contentVersion) > wgtVer)) {
//网页升级了要清缓存
clearCache()
//判断是否保存
localStorage.setItem("version", (rsp.result.appVersion ? rsp.result.appVersion : rsp.result.contentVersion))
}
}
})
}
});
}
// var wgtVer=null;
// function plusReady(){
// // ......
// // 获取本地应用资源版本号
// plus.runtime.getProperty(plus.runtime.appid,function(inf){
// wgtVer=inf.version;
// alert("当前应用版本:"+wgtVer)
// console.log("当前应用版本:"+wgtVer);
// });
// }
// if(window.plus){
// plusReady();
// }else{
// document.addEventListener('plusready',plusReady,false);
// }
// //检测更新
// var checkUrl="http://demo.dcloud.net.cn/test/update/check.php";
// checkUpdate()
// function checkUpdate(){
// plus.nativeUI.showWaiting("检测更新...");
// var xhr=new XMLHttpRequest();
// xhr.onreadystatechange=function(){
// console.log(xhr.readyState)
// switch(xhr.readyState){
// case 4:
// plus.nativeUI.closeWaiting();
// if(xhr.status==200){
// console.log("检测更新成功:"+xhr.responseText);
// var newVer=xhr.responseText;
// if(wgtVer&&newVer&&(wgtVer!=newVer)){
// downWgt(); // 下载升级包
// }else{
// plus.nativeUI.alert("无新版本可更新!");
// }
// }else{
// console.log("检测更新失败!");
// plus.nativeUI.alert("检测更新失败!");
// }
// break;
// default:
// break;
// }
// }
// xhr.open('GET',checkUrl);
// xhr.send();
// }
// 下载wgt文件
// var wgtUrl="http://demo.dcloud.net.cn/test/update/H5EF3C469.wgt";
function downWgt(wgtUrl) {
plus.nativeUI.showWaiting("下载wgt文件...");
plus.downloader.createDownload(wgtUrl, {
filename: "_doc/update/"
}, function(d, status) {
console.log("下载wgt成功:" + status);
if (status == 200) {
console.log("下载wgt成功:" + d.filename);
installWgt(d.filename); // 安装wgt包
} else {
console.log("下载wgt失败!");
plus.nativeUI.alert("下载wgt失败!");
}
plus.nativeUI.closeWaiting();
}).start();
}
// 更新应用资源
function installWgt(path) {
plus.nativeUI.showWaiting("安装wgt文件...");
plus.runtime.install(path, {}, function() {
plus.nativeUI.closeWaiting();
console.log("安装wgt文件成功!");
plus.nativeUI.alert("应用资源更新完成!", function() {
plus.runtime.restart();
});
}, function(e) {
plus.nativeUI.closeWaiting();
console.log("安装wgt文件失败[" + e.code + "]:" + e.message);
plus.nativeUI.alert("安装wgt文件失败[" + e.code + "]:" + e.message);
});
}
uni-app wap2app生成的APP检测更新,锁定竖屏
最新推荐文章于 2024-04-24 09:45:28 发布