uniapp的一款app

发布流程:
1.在manifest.json中填写版本号
在这里插入图片描述
2.点击 “发行” >> “ 原生app-制作应用wgt包 ”;打包好的.wgt文件上传至后台服务器。
3.每次代码更新,重复2。

检查更新–热更新: 使用原生的plus.runtime获取运行信息,拿后台版本号与当前版本号进行对比,下载更新包。

			// 应用热更新  
			upDate() {
				var self = this
				plus.runtime.getProperty(plus.runtime.appid, function(wgtinfo) {
					self.$request(getApp().globalData.requestUrl.checkUniUpdate, 'get', {
						type: 10
					}, (res) => {
						if (res.status === 1) {
							console.log("后台版本" + res.result.version)
							console.log('运行版本' + wgtinfo.version)
							if (res.result.version !== wgtinfo.version) {
								self.isUpdate = true
								const downloadTask = uni.downloadFile({
									url: res.result.packageUrl,
									success: (downloadResult) => {
										plus.runtime.install(downloadResult.tempFilePath, {
											force: false
										}, function() {
											console.log('install success...');
											self.isUpdate = false
											plus.runtime.restart();
										
										}, function(e) {  
											console.error(e)
											self.isUpdate = false
										})
									},
									fail(res) {
										// console.log(res)
										self.isUpdate = false
									}
								})
								downloadTask.onProgressUpdate((res) => {
									self.progress = res.progress
									self.hasDownLoad = res.totalBytesWritten
									self.allDownLoad = res.totalBytesExpectedToWrite
									// console.log('下载进度' + res.progress);
									// console.log('已经下载的数据长度' + res.totalBytesWritten);
									// console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);
								});
							} else {
								self.isUpdate = false
							}
						} else {
							self.isUpdate = false
						}
					}, (failRes) => {
						console.log(failRes)
						self.isUpdate = false
					})
				})
			},
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐