ccjgmwz 3 år sedan
förälder
incheckning
557ba8a720
6 ändrade filer med 257 tillägg och 56 borttagningar
  1. 68 0
      .gitignore
  2. 42 1
      App.vue
  3. 3 1
      common/helper.js
  4. 14 0
      main.js
  5. 41 12
      manifest.json
  6. 89 42
      pages/order/confirmLoading.vue

+ 68 - 0
.gitignore

@@ -0,0 +1,68 @@
+HELP.md
+
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**
+!**/src/test/**
+
+config/
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+#/build/
+
+### VS Code ###
+.vscode/
+
+### maven ###
+.mvn
+mvnw
+mvnw.cmd
+
+###properties###
+/unimall-launcher/src/main/resources/application-dev.properties
+/unimall-launcher/src/main/resources/application-prd.properties
+
+### target ###
+/target/
+/unpackage/cache/
+/unpackage/debug/
+/unpackage/dist/
+
+
+###node_modules###
+/node_modules/
+
+
+###logs###
+unimall.log
+unimall.log.*.gz
+unimall.log.*.tmp
+
+###templates###
+/templates/
+
+
+### plugins ###
+/plugins/
+/pages/plugins/
+/unimall-admin/src/views/plugins/

+ 42 - 1
App.vue

@@ -32,7 +32,48 @@
 			// },
 		},
 		onLaunch: function() {
+			
 			// #ifdef APP-PLUS
+			
+			var that = this
+			//判断该用户是否需要开启持续定位
+			this.$helper.fUN_AmapLocation.stop({}, result => {
+				console.log('====fUN_AmapLocation定位stop====', JSON.stringify(result));
+				this.$helper.fUN_AmapLocation.start(
+					{
+						intervalTime: 1000*60,
+						isReport: true,
+						reportInterval: 5,
+						url: 'http://192.168.0.66/fun/open/test_json.do',
+						params: { a: 1, B: '测试', c: true },
+						headers: { a: '123', B: 'abcd' }
+					},
+					res => {
+						//见下方定位返回示例
+						console.log('====确认装车开启连续定位====', JSON.stringify(res));
+						//判断缓存数据条数,超过reportInterval时清空缓存,重新存入缓存
+					}
+				); 
+			});
+			
+			// fUN_AmapLocation.permission({}, result => {
+			//     console.log('====fUN_AmapLocation定位====');
+			// });
+			// fUN_AmapLocation.hasLocationPermissions(function(result) {
+			//     console.log('====fUN_AmapLocation定位权限===='+ result)
+			// });
+			// startLocation与start均可
+			// this.$helper.fUN_AmapLocation.start(
+			// 	{
+			// 		intervalTime: 1000*10,
+			// 		isReport: false,
+			// 	},
+			// 	result => {
+			// 		//见下方定位返回示例
+			// 		console.log('====fUN_AmapLocation定位====', JSON.stringify(result));
+			// 	}
+			// ); 
+			
        // let  isOpenLocation= permision.checkSystemEnableLocation() 
 	   // console.log("isOpenLocation",isOpenLocation)
 	   // this.requestAndroidPermission('android.permission.ACCESS_FINE_LOCATION')
@@ -41,7 +82,6 @@
 			if (type == "android") {
 				appUpdate()
 			}
-			var that = this
 			// plus.push.getClientInfoAsync((info) => {
 			// 	var name = 'clientId'
 			// 	var value = info.clientid
@@ -132,6 +172,7 @@
 		},
 		onShow: function() {
 			console.log('App Show')
+			
 		},
 		onHide: function() {
 			console.log('App Hide')

+ 3 - 1
common/helper.js

@@ -38,6 +38,7 @@ const makeValidityPeriod = function(type) {
 	_list.push(_list1, _list2, _list3)
 	return _list
 }
+const fUN_AmapLocation = uni.requireNativePlugin('FUN-AmapLocation');
 
 const getListByUserId = function() {
 	let baseUrlNew = config.def().baseUrlNew
@@ -193,5 +194,6 @@ export default {
 	makeValidityPeriod,
 	getProvinceAbbreviation,
 	filterUrban,
-	filterArea
+	filterArea,
+	fUN_AmapLocation
 }

+ 14 - 0
main.js

@@ -46,3 +46,17 @@ const app = new Vue({
 // require('./util/request/index')(app)
 
 app.$mount()
+// #ifdef APP-PLUS
+let main = plus.android.runtimeMainActivity(); 
+plus.runtime.quit = function() {
+    main.moveTaskToBack(false);
+};
+
+plus.nativeUI.toast = (function(str) {
+    if (str == '再按一次退出应用') {
+
+        main.moveTaskToBack(false);
+        return false;
+    }
+});
+// #endif

+ 41 - 12
manifest.json

@@ -18,28 +18,34 @@
         },
         /* 模块配置 */
         "modules" : {
-            "Maps" : {}
+            "Maps" : {},
+            "Geolocation" : {},
+            "iBeacon" : {}
         },
         /* 应用发布信息 */
         "distribute" : {
             /* android打包配置 */
             "android" : {
                 "permissions" : [
-                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
-                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera\"/>",
                     "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
                     "<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.CAMERA\"/>",
+                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
                     "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
                     "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
                     "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
-                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera\"/>",
-                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
+                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
+                    "<uses-permission android:name=\"android.permission.BLUETOOTH\"/>",
+                    "<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>"
                 ]
             },
             /* ios打包配置 */
@@ -49,8 +55,15 @@
                 "ad" : {},
                 "maps" : {
                     "amap" : {
-                        "appkey_ios" : "64541bb9b52fe4d41d8ac5c1959cf4b9",
-                        "appkey_android" : "8a601d5716a812aaf65291da18dae719"
+                        "appkey_ios" : "450806e9eef29de257faad3a06ec7e9a",
+                        "appkey_android" : "dc40c1be0513c1c8e01eb560318dbc68"
+                    }
+                },
+                "geolocation" : {
+                    "amap" : {
+                        "__platform__" : [ "ios", "android" ],
+                        "appkey_ios" : "450806e9eef29de257faad3a06ec7e9a",
+                        "appkey_android" : "dc40c1be0513c1c8e01eb560318dbc68"
                     }
                 }
             },
@@ -86,6 +99,22 @@
                     }
                 }
             }
+        },
+        "nativePlugins" : {
+            "FUN-AmapLocation" : {
+                "__plugin_info__" : {
+                    "name" : "持续定位、后台定位、高德定位 - [试用版,仅用于自定义调试基座]",
+                    "description" : "持续定位、后台定位、高德定位, 后台保活,购前先测是否符合需求[反馈819589789@qq.com] ",
+                    "platforms" : "Android",
+                    "url" : "https://ext.dcloud.net.cn/plugin?id=2018",
+                    "android_package_name" : "",
+                    "ios_bundle_id" : "",
+                    "isCloud" : true,
+                    "bought" : 0,
+                    "pid" : "2018",
+                    "parameters" : {}
+                }
+            }
         }
     },
     /* 快应用特有相关 */

+ 89 - 42
pages/order/confirmLoading.vue

@@ -140,57 +140,89 @@
 					title: '获取定位中',
 					mask: true
 				})
-				uni.getLocation({
-					type: 'gcj02',
-					geocode: true,
-					success: res => {
-						console.log('定位地址')
-						console.log(res)
+				this.$helper.fUN_AmapLocation.start(
+					{
+						intervalTime: 1000*3,
+						isReport: false,
+					},
+					res => {
+						//见下方定位返回示例
+						console.log('====fUN_AmapLocation定位====', JSON.stringify(res));
 						if (res.latitude) {
 							this.detailData.carrierInfo.loadingAreaLongitude = res.longitude;
 							this.detailData.carrierInfo.loadingAreaLatitude = res.latitude;
-							this.detailData.carrierInfo.sendCity = this.$helper.filterUrban(res.address.city)
-							this.detailData.carrierInfo.sendArea = this.$helper.filterArea(res.address
+							this.detailData.carrierInfo.sendCity = this.$helper.filterUrban(res.city)
+							this.detailData.carrierInfo.sendArea = this.$helper.filterArea(res
 								.district);
 							console.log(this.detailData.carrierInfo.sendCity)
 							console.log(this.detailData.carrierInfo.sendArea)
 							this.$forceUpdate()
-							uni.hideLoading()
-						} else {
-							if (uni.getSystemInfoSync().platform == 'android') {
-								var context = plus.android.importClass("android.content.Context");
-								var locationManager = plus.android.importClass(
-									"android.location.LocationManager");
-								var main = plus.android.runtimeMainActivity();
-								var mainSvr = main.getSystemService(context.LOCATION_SERVICE);
-								this.bool = mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER)
-							}
-							if (this.bool === false) {
-								uni.showModal({
-									title: '提示',
-									content: '请打开定位服务',
-									success: ({
-										confirm,
-										cancel
-									}) => {
-										if (confirm) {
-											if (uni.getSystemInfoSync().platform == 'android') {
-												var Intent = plus.android.importClass(
-													'android.content.Intent');
-												var Settings = plus.android.importClass(
-													'android.provider.Settings');
-												var intent = new Intent(Settings
-													.ACTION_LOCATION_SOURCE_SETTINGS);
-												var main = plus.android.runtimeMainActivity();
-												main.startActivity(intent); // 打开系统设置GPS服务页面
-											}
-										}
-									}
-								});
-							}
+							
 						}
+						uni.hideLoading()
+						
+						this.$helper.fUN_AmapLocation.stop({}, result => {
+							console.log('====fUN_AmapLocation定位stop====', JSON.stringify(result));
+						});
 					}
-				});
+				); 
+			// 	uni.getLocation({
+			// 		type: 'gcj02',
+			// 		geocode: true,
+			// 		success: res => {
+			// 			console.log('定位地址')
+			// 			console.log(res)
+			// 			if (res.latitude) {
+			// 				this.detailData.carrierInfo.loadingAreaLongitude = res.longitude;
+			// 				this.detailData.carrierInfo.loadingAreaLatitude = res.latitude;
+			// 				this.detailData.carrierInfo.sendCity = this.$helper.filterUrban(res.address.city)
+			// 				this.detailData.carrierInfo.sendArea = this.$helper.filterArea(res.address
+			// 					.district);
+			// 				console.log(this.detailData.carrierInfo.sendCity)
+			// 				console.log(this.detailData.carrierInfo.sendArea)
+			// 				this.$forceUpdate()
+			// 				uni.hideLoading()
+			// 			} else {
+			// 				if (uni.getSystemInfoSync().platform == 'android') {
+			// 					var context = plus.android.importClass("android.content.Context");
+			// 					var locationManager = plus.android.importClass(
+			// 						"android.location.LocationManager");
+			// 					var main = plus.android.runtimeMainActivity();
+			// 					var mainSvr = main.getSystemService(context.LOCATION_SERVICE);
+			// 					this.bool = mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER)
+			// 				}
+			// 				if (this.bool === false) {
+			// 					uni.showModal({
+			// 						title: '提示',
+			// 						content: '请打开定位服务',
+			// 						success: ({
+			// 							confirm,
+			// 							cancel
+			// 						}) => {
+			// 							if (confirm) {
+			// 								if (uni.getSystemInfoSync().platform == 'android') {
+			// 									var Intent = plus.android.importClass(
+			// 										'android.content.Intent');
+			// 									var Settings = plus.android.importClass(
+			// 										'android.provider.Settings');
+			// 									var intent = new Intent(Settings
+			// 										.ACTION_LOCATION_SOURCE_SETTINGS);
+			// 									var main = plus.android.runtimeMainActivity();
+			// 									main.startActivity(intent); // 打开系统设置GPS服务页面
+			// 								}
+			// 							}
+			// 						}
+			// 					});
+			// 				}
+			// 			}
+			// 		},
+			// 		fail: res => {
+			// 			console.log('定位失败')
+			// 			console.log(res)
+						
+			// 		}
+			// 	});
+			
 			},
 			alertBtn() {
 				// uni.navigateTo({
@@ -276,6 +308,21 @@
 							} else {
 								_title = '提交成功!'
 							}
+							this.$helper.fUN_AmapLocation.start(
+								{
+									intervalTime: 1000*60,
+									isReport: true,
+									reportInterval: 5,
+									url: 'http://192.168.0.66/fun/open/test_json.do',
+									params: { a: 1, B: '测试', c: true },
+									headers: { a: '123', B: 'abcd' }
+								},
+								res => {
+									//见下方定位返回示例
+									console.log('====确认装车开启连续定位====', JSON.stringify(res));
+									//判断缓存数据条数,超过reportInterval时清空缓存,重新存入缓存
+								}
+							); 
 							this.$refs.uToast.show({
 								type: 'success',
 								message: _title,