Sfoglia il codice sorgente

PDA端软件更新

aleyds 3 anni fa
parent
commit
0acb06bf4a
5 ha cambiato i file con 110 aggiunte e 11 eliminazioni
  1. 5 1
      App.vue
  2. 2 0
      common/apiurl.js
  3. 4 1
      common/http.api.js
  4. 3 9
      manifest.json
  5. 96 0
      utils/update.js

+ 5 - 1
App.vue

@@ -1,11 +1,15 @@
 <script>
 	//#ifdef APP-PLUS
-	var AndroidLog = uni.requireNativePlugin("AndroidLog")
+	var alog = uni.requireNativePlugin("AndroidLog")
 	var device = uni.requireNativePlugin("DeviceInfo")
+	import update from '@/utils/update.js';
 	//#endif
 	export default {
 		onLaunch: function() {
+			
 			//#ifdef APP-PLUS
+			
+			update(this);
 			//判断客户端类别
 			const _handlePush = function(message) {
 				//{"message":{"__UUID__":"androidPushMsg222631973","appid":"__UNI__29ECCC8","content":"{\"type\":2,\"jumpTo\":\"pages/login/login\"}","payload":{"jumpTo":"pages/login/login","type":2},"title":"智慧停车PDA"}}

+ 2 - 0
common/apiurl.js

@@ -57,6 +57,8 @@ const apiurl = {
 	deviceReg: '/device/pda/accept',
 	
 	printIn: '/payee/orderinfo/parkIn/print/',
+	
+	version: '/payee/appversion/update'
 }
 
 export {

+ 4 - 1
common/http.api.js

@@ -49,6 +49,8 @@ const install = (Vue, vm) => {
 	
 	let payQuery = (params = {}) => vm.$u.get(apiurl.payQueryUrl+params.polyOrderId);
 	
+	let appveriosn = (params = {}) => vm.$u.post(apiurl.version, params);
+	
 	// 将各个定义的接口名称,统一放进对象挂载到vm.$u.api(因为vm就是this,也即this.$u.api)下
 	vm.$u.api = {
 		login,
@@ -73,7 +75,8 @@ const install = (Vue, vm) => {
 		gzbankPolypay,
 		modifyRoad,
 		vehicleList,
-		payQuery
+		payQuery,
+		appveriosn
 	};
 }
 

+ 3 - 9
manifest.json

@@ -3,7 +3,7 @@
     "appid" : "__UNI__29ECCC8",
     "description" : "",
     "versionName" : "1.5.0",
-    "versionCode" : "100",
+    "versionCode" : 100,
     "transformPx" : false,
     /* 5+App特有相关 */
     "app-plus" : {
@@ -21,9 +21,7 @@
         "modules" : {
             "Push" : {},
             "Geolocation" : {},
-            "Maps" : {},
-            "iBeacon" : {},
-            "Speech" : {}
+            "Maps" : {}
         },
         /* 应用发布信息 */
         "distribute" : {
@@ -36,8 +34,6 @@
                     "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
                     "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
                     "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.BLUETOOTH\"/>",
-                    "<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>",
                     "<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
                     "<uses-permission android:name=\"android.permission.CAMERA\"/>",
                     "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
@@ -55,9 +51,7 @@
                     "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
                     "<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
                     "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
-                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
-                    "<uses-permission android:name=\"android.permission.BLUETOOTH\"/>",
-                    "<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>"
+                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
                 ]
             },
             /* ios打包配置 */

+ 96 - 0
utils/update.js

@@ -0,0 +1,96 @@
+
+var alog = uni.requireNativePlugin("AndroidLog")
+var apk = uni.requireNativePlugin("ApkPlug")
+function update(vue){	
+	plus.runtime.getProperty(plus.runtime.appid, function(wgtInfo){
+	  vue.$u.api.appveriosn({
+			appid: wgtInfo.appid,
+			name: wgtInfo.name,
+			versionName: wgtInfo.version,
+			versionCode: wgtInfo.versionCode
+		})
+		.then(res => {
+			let data = res.data;
+			if(data.isUpload && data.wgtUrl){
+				wgtUpdate(data)
+			}else if (data.isUpload && data.pkgUrl){
+				pkgUpdate(data);
+			}else{
+				updateNone();
+			}
+		})
+		.catch(err => {
+			
+		});
+	});
+}
+
+function updateNone(){
+	plus.nativeUI.toast('已经是最新版本');
+}
+
+function wgtUpdate(data){
+	uni.showModal({ 
+				title: "更新提示",  
+				content: '有新版本:' + data.note,  
+				success: (res) => {  
+					if (res.confirm) {  
+						uni.downloadFile({
+							url: data.wgtUrl,  
+							success: (downloadResult) => {  
+								if (downloadResult.statusCode === 200) {  
+									plus.runtime.install(downloadResult.tempFilePath, {  
+										force: false  
+									}, function() {  
+										plus.runtime.restart();  
+									}, function(e) {
+										plus.nativeUI.toast('更新版本失败');
+									});  
+								}else {
+									plus.nativeUI.toast('下载版本失败');
+								}
+							}  
+						});
+					}  
+				}  
+			})
+}
+
+function pkgUpdate(data){
+	alog.info({msg: '全量更新' + JSON.stringify(data)})
+	 uni.showModal({   
+			title: "更新提示",  
+			content: '有新版本:' + data.note,  
+			success: (res) => {  
+				if (res.confirm) {  
+					// plus.runtime.openURL(data.pkgUrl);  
+					let downloadTask = uni.downloadFile({
+						url: data.pkgUrl,  
+						success: (downloadResult) => {  
+							if (downloadResult.statusCode === 200) {  
+								alog.info({msg: 'apk下载完成:' + JSON.stringify(downloadResult)})
+								// plus.runtime.install(downloadResult.tempFilePath, {  
+								// 	force: false  
+								// }, function() {  
+								// 	plus.runtime.restart();  
+								// }, function(e) {
+								// 	plus.nativeUI.toast('更新版本失败');
+								// });  
+								// apk.instll(downloadResult.tempFilePath);
+								
+							}else {
+								plus.nativeUI.toast('下载版本失败');
+							}
+						}  
+					});
+					downloadTask.onProgressUpdate((res) => {
+						alog.info({msg: '下载进度' + res.progress});
+						alog.info({msg: '已经下载的数据长度' + res.totalBytesWritten});
+						alog.info({msg: '预期需要下载的数据总长度' + res.totalBytesExpectedToWrite});
+					});
+				}  
+			}  
+		})  
+}
+
+export default update