当前位置:   article > 正文

uni-app wap2app生成的APP检测更新,锁定竖屏_wap2app 热更新

wap2app 热更新
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);
			});
		}


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/140984
推荐阅读
相关标签
  

闽ICP备14008679号