From c3f818ae608584717b3314933c9c94927d0a4d62 Mon Sep 17 00:00:00 2001
From: Sliverber <2622874537@qq.com>
Date: Thu, 1 Aug 2024 10:03:54 +0800
Subject: [PATCH] 11

---
 common/http.interceptor.js |   8 +-
 pages/bind_mac.vue         | 422 ++++++++++++++++++++-----------------
 pages/index/index.vue      |  94 +++++----
 pages/login/login.vue      |   2 +-
 4 files changed, 288 insertions(+), 238 deletions(-)

diff --git a/common/http.interceptor.js b/common/http.interceptor.js
index 01c029b..9898003 100644
--- a/common/http.interceptor.js
+++ b/common/http.interceptor.js
@@ -22,10 +22,10 @@ const install = (Vue, vm) => {
 	uni.setStorageSync('deptId', 100);
 	Vue.prototype.$u.http.setConfig({
 			// baseUrl: 'http://61.174.243.28:15861',
-			baseUrl: 'http://192.168.2.46:8080',
+			// baseUrl: 'http://192.168.2.46:8080',
 			// baseUrl: 'http://124.221.246.124:2289',
 			// baseUrl: 'https://dianche.chuantewulian.cn/prod-api',
-			// baseUrl: 'https://dche.ccttiot.com/prod-api',
+			baseUrl: 'https://dche.ccttiot.com/prod-api',
 			loadingText: '努力加载中~',
 			loadingTime: 50000,
 			
@@ -52,9 +52,9 @@ const install = (Vue, vm) => {
 
 		// 方式四,如果token放在了Storage本地存储中,拦截是每次请求都执行的
 		// 所以哪怕您重新登录修改了Storage,下一次的请求将会是最新值
-		// const token = uni.getStorageSync('token');
+		const token = uni.getStorageSync('token');
 
-		const token = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjQ0ZDljYzBlLThjZjEtNGFkOC05OGFjLThlNThjMWIxYjQ3OSJ9.v-aMkp9t7Z_QfjfsZy6d_1Ng76hPYa0A--SWScMJY9to7UlNv9IxHQnTJylLKdYKGrr8fRZ47Bu12UPm1DgMQg"
+		// const token = "Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjQ0ZDljYzBlLThjZjEtNGFkOC05OGFjLThlNThjMWIxYjQ3OSJ9.v-aMkp9t7Z_QfjfsZy6d_1Ng76hPYa0A--SWScMJY9to7UlNv9IxHQnTJylLKdYKGrr8fRZ47Bu12UPm1DgMQg"
 
 		// console.log("我是token", token)
 		config.header.Authorization = token; 
diff --git a/pages/bind_mac.vue b/pages/bind_mac.vue
index a0873f1..0691464 100644
--- a/pages/bind_mac.vue
+++ b/pages/bind_mac.vue
@@ -2,59 +2,61 @@
 	<view class="page">
 		<u-navbar title="添加设备" :border-bottom="false" :background="bgc" title-color='#262B37' title-size='38'
 			height='50'></u-navbar>
-			<view class="iptbox" @click="backpage()">
-				
-				<input type="text" class="ips" v-model="mac" placeholder=" " style="margin-left: 32rpx;" disabled
-					placeholder-class="my-placeholder" />
-					<view class="iconfont icon-xiangyou1 ">
-						
-					</view>
-			
+		<view class="iptbox" @click="backpage()">
+
+			<input type="text" class="ips" v-model="mac" placeholder=" " style="margin-left: 32rpx;" disabled
+				placeholder-class="my-placeholder" />
+			<view class="iconfont icon-xiangyou1 ">
+
 			</view>
+
+		</view>
 		<view class="iptbox">
 			<view class="qrcode" @click="qrcode()">
 				<image src="https://api.ccttiot.com/smartmeter/img/static/uy7BNwAMIKwvstqFnRhs" mode=""></image>
 			</view>
 			<input type="text" class="ips" v-model="sn" placeholder="请扫描设备上的二维码" style="margin-left: 32rpx;"
 				placeholder-class="my-placeholder" />
-				
+
 		</view>
 		<view class="iptbox" @click="show=true">
-			<view class="">
-				版本:   版本id:
+			<view class="" v-if="hardwareInfo.version">
+				版本:{{hardwareInfo.version}} 版本id:{{hardwareInfo.id}}
+			</view>
+			<view class="" v-else>
+				请点击选择版本
 			</view>
-				
 		</view>
-		<view class="tips">
-			版本介绍:
+		<view class="tips" v-if="hardwareInfo.version">
+			版本介绍:{{hardwareInfo.instructions}}
 		</view>
-			<u-select v-model="show" :list="list" title='选择运营区' @confirm="confirm"></u-select>
+		<u-select v-model="show" :list="list" title='选择运营区' @confirm="confirm"></u-select>
 		<view class="btn" @click="bind()">
 			确认添加
 		</view>
-		<view class="bot_btn"  >
-			
-			<view class="btn1"  @click="Binddevice()">
+		<view class="bot_btn">
+
+			<view class="btn1" @click="Binddevice()">
 				蓝牙链接
 			</view>
-			<view class="btn1"  @click="ring()" v-if="carstause">
+			<view class="btn1" @click="ring()" v-if="carstause">
 				响铃寻车
 			</view>
-			
-			<view class="btn1"  @click="open()" v-if="carstause">
+
+			<view class="btn1" @click="open()" v-if="carstause">
 				蓝牙开锁
 			</view>
-			<view class="btn1"  @click="close()" v-if="carstause">
+			<view class="btn1" @click="close()" v-if="carstause">
 				蓝牙关锁
 			</view>
-			<view class="btn1"  @click="reboot()" v-if="carstause">
+			<view class="btn1" @click="reboot()" v-if="carstause">
 				设备重启
 			</view>
-			<view class="btn1"  @click="Binddevice()" v-if="isbands">
+			<view class="btn1" @click="Binddevice()" v-if="isbands">
 				接口响铃
 			</view>
 		</view>
-		
+
 		<!-- <view class="bot">
 			<view class="btn">
 				退款
@@ -94,26 +96,27 @@
 				name: '',
 				orderinfo: {},
 				dl: 0,
-				czmoney:true,
-				iscz:true,
+				czmoney: true,
+				iscz: true,
 				bgc: {
 					backgroundColor: "#F7FAFE",
 				},
-				sn:'',
-				carstause:false,
-				isbands:false,
-				show:false,
-				list:[]
-				
-				
+				sn: '',
+				carstause: false,
+				isbands: false,
+				show: false,
+				list: [],
+				hardwareInfo: {}
+
+
 
 			}
 		},
 		onLoad(e) {
-			this.mac=e.mac
+			this.mac = e.mac
 			this.Binddevice()
-			this.isbands=false
-			this.carstause=false
+			this.isbands = false
+			this.carstause = false
 		},
 		onShow() {
 			this.getlist()
@@ -124,97 +127,117 @@
 				'isStart': false
 			});
 		},
-		onHide(){
+		onHide() {
 			xBlufi.listenDeviceMsgEvent(false, this.funListenDeviceMsgEvent);
 			xBlufi.notifyStartDiscoverBle({
 				'isStart': false
 			});
 		},
-		onBeforeUnmount(){
+		onBeforeUnmount() {
 			xBlufi.listenDeviceMsgEvent(false, this.funListenDeviceMsgEvent);
 			xBlufi.notifyStartDiscoverBle({
 				'isStart': false
 			});
 		},
 		watch: {
-		
-		
-			
+
+
+
 		},
 		methods: {
-			confirm(e){
+			confirm(e) {
 				// console.log(e);
-				uni.setStorageSync('adminAreaid', e[0].value);
-				this.areaId= e[0].value
-			
+				uni.setStorageSync('hardwareVersionId', e[0].value);
+				this.hardwareVersionId = e[0].value
+				const hardwareVersionId =this.hardwareVersionId
 				
+				if (hardwareVersionId) {
+					const matchedVersion = this.Versionlist.find(version => version.id ===
+						hardwareVersionId);
+					if (matchedVersion) {
+						this.hardwareInfo = matchedVersion;
+					}
+				}
+	
 			},
-			getlist(){
+			getlist() {
 				this.$u.get('/app/hardwareVersion/list').then((res) => {
 					if (res.code === 200) {
+						this.Versionlist = res.data
+						const hardwareVersionId = uni.getStorageSync('hardwareVersionId');
+
+						if (hardwareVersionId) {
+							this.hardwareVersionId=hardwareVersionId
+							const matchedVersion = this.Versionlist.find(version => version.id ===
+								hardwareVersionId);
+							if (matchedVersion) {
+								this.hardwareInfo = matchedVersion;
+							}
+						}
+
 						this.list = res.data.map(item => ({
-						          value: item.id,
-						          label: item.version
-						      }));
-					}else{
-						uni.showToast({
-							title: res.msg,
-							icon: 'none',
-							duration: 2000
-						});
-					}
-				})
-			},
-			send(){
-				this.$u.post('/app/device/ring?sn=' + this.sn).then((res) => {
-					if (res.code === 200) {
-						
-					}else{
-						uni.showToast({
-							title: res.msg,
-							icon: 'none',
-							duration: 2000
-						});
-					}
-				})
-			},
-			backpage(){
-				uni.navigateBack({
-					delta: 1 // delta值为1时表示返回的页面层数
-				});
-			},
-			bind(){
-				this.$u.post(`/appVerify/band?sn=`+this.sn+'&mac='+this.mac).then((res) => {
-					
-					if (res.code == 200) {
-						
-						uni.showToast({
-							title: '绑定成功',
-							icon: 'none',
-							duration: 2000
-						});
-						setTimeout(()=>{
-							uni.navigateBack({
-								delta: 1 // delta值为1时表示返回的页面层数
-							});
-						},2000)
-						
+							value: item.id,
+							label: item.version
+						}));
 					} else {
 						uni.showToast({
 							title: res.msg,
 							icon: 'none',
 							duration: 2000
 						});
-						
 					}
 				})
 			},
-			qrcode(){
+			send() {
+				this.$u.post('/app/device/ring?sn=' + this.sn).then((res) => {
+					if (res.code === 200) {
+
+					} else {
+						uni.showToast({
+							title: res.msg,
+							icon: 'none',
+							duration: 2000
+						});
+					}
+				})
+			},
+			backpage() {
+				uni.navigateBack({
+					delta: 1 // delta值为1时表示返回的页面层数
+				});
+			},
+			bind() {
+				this.$u.post(`/appVerify/band?sn=` + this.sn + '&mac=' + this.mac+'&hardwareVersionId='+this.hardwareVersionId).then((res) => {
+
+					if (res.code == 200) {
+
+						uni.showToast({
+							title: '绑定成功',
+							icon: 'none',
+							duration: 2000
+						});
+						setTimeout(() => {
+							uni.navigateBack({
+								delta: 1 // delta值为1时表示返回的页面层数
+							});
+						}, 2000)
+
+					} else {
+						uni.showToast({
+							title: res.msg,
+							icon: 'none',
+							duration: 2000
+						});
+
+					}
+				})
+			},
+			qrcode() {
 				uni.scanCode({
 					onlyFromCamera: true,
 					scanType: ['qrCode'],
 					success: res => {
-				
+
 						let sn = null;
 						let queryParams = res.result.split('?')[1];
 						if (queryParams) {
@@ -226,13 +249,13 @@
 								}
 							});
 						}
-						
+
 						this.sn = sn
 						console.log(res.result);
 						if (this.sn != '') {
-							
+
 						}
-				
+
 					},
 					fail: err => {
 						console.error('扫描失败:', err);
@@ -243,10 +266,10 @@
 					}
 				});
 			},
-			
-			Binddevice(){
+
+			Binddevice() {
 				uni.showLoading({
-					title:'连接中..'
+					title: '连接中..'
 				})
 				xBlufi.initXBlufi(1);
 				console.log("xBlufi", xBlufi.XMQTT_SYSTEM);
@@ -254,14 +277,14 @@
 				xBlufi.notifyStartDiscoverBle({
 					'isStart': true
 				});
-				
-				
+
+
 				// 两秒后停止蓝牙搜索
 				setTimeout(() => {
 					xBlufi.notifyStartDiscoverBle({
 						'isStart': false
 					});
-					setTimeout(()=>{
+					setTimeout(() => {
 						uni.hideLoading()
 						if (this.devicesList.length == 0) {
 							uni.showToast({
@@ -270,14 +293,14 @@
 							});
 						} else {
 							let uniqueDevicesList = Array.from(new Set(this.devicesList));
-										
+
 							// 将去重后的数组重新赋值给 this.devicesList
 							this.devicesList = uniqueDevicesList;
 							// console.log(this.devicesList,'this.devicesListthis.devicesList');
 							this.devicesList.forEach(device => {
 								// 从设备名称中提取 MAC 地址(假设 MAC 地址是设备名称的后6个字符)
 								let macFromName = device.name.substring(device.name.length - 12);
-								console.log(macFromName,'macFromNamemacFromName');
+								console.log(macFromName, 'macFromNamemacFromName');
 								// 与 this.mac 进行比较
 								if (macFromName == this.mac) {
 									// 如果相同,则将 this.ishave 设置为 true
@@ -285,22 +308,22 @@
 									this.deviceInfoss = device
 									// this.ishave = true;
 									this.createBLEConnection(device)
-									
+
 									console.log('对比正确1111111111');
 								} else {
 									console.log('对比错误');
-									
+
 								}
 							});
 						}
-					},200)
+					}, 200)
 					// 判断是否存在浇花器设备
-					
+
 					// this.status = true
 				}, 2000)
-			
+
 			},
-			reboot(){
+			reboot() {
 				let vm = this; // 将外部的 this 绑定到 vm 上
 				uni.getNetworkType({
 					success(res) {
@@ -316,7 +339,7 @@
 									// vm.remakr()
 								},
 								fail(err) {
-										uni.hideLoading()
+									uni.hideLoading()
 									console.error('获取已连接蓝牙设备信息失败:', err);
 								}
 							});
@@ -326,7 +349,7 @@
 					}
 				});
 			},
-			open(){
+			open() {
 				let vm = this; // 将外部的 this 绑定到 vm 上
 				uni.getNetworkType({
 					success(res) {
@@ -342,7 +365,7 @@
 									// vm.remakr()
 								},
 								fail(err) {
-										uni.hideLoading()
+									uni.hideLoading()
 									console.error('获取已连接蓝牙设备信息失败:', err);
 								}
 							});
@@ -352,7 +375,7 @@
 					}
 				});
 			},
-			close(){
+			close() {
 				let vm = this; // 将外部的 this 绑定到 vm 上
 				uni.getNetworkType({
 					success(res) {
@@ -368,7 +391,7 @@
 									// vm.remakr()
 								},
 								fail(err) {
-										uni.hideLoading()
+									uni.hideLoading()
 									console.error('获取已连接蓝牙设备信息失败:', err);
 								}
 							});
@@ -378,7 +401,7 @@
 					}
 				});
 			},
-			ring(){
+			ring() {
 				let vm = this; // 将外部的 this 绑定到 vm 上
 				uni.getNetworkType({
 					success(res) {
@@ -394,7 +417,7 @@
 									// vm.remakr()
 								},
 								fail(err) {
-										uni.hideLoading()
+									uni.hideLoading()
 									console.error('获取已连接蓝牙设备信息失败:', err);
 								}
 							});
@@ -407,32 +430,32 @@
 			btnyc() {
 				this.titleflag = false
 			},
-			
+
 			// 解析自定义数据
-			
+
 			funListenDeviceMsgEvent: function(options) {
 				switch (options.type) {
 					case xBlufi.XBLUFI_TYPE.TYPE_GET_DEVICE_LISTS:
 						if (options.result) {
 							let devicesarr = options.data
 							// this.devicesList = options.data
-							
+
 							devicesarr.forEach(device => {
-								
-								
-									// this.$u.get(`/app/device/${mac}/isBind`, data).then((res) => {
-									// if (res.data == false) {
-									this.devicesList.push(device);
-									
-									let uniqueDevicesList = Array.from(new Set(this.devicesList));
-			
-									// 将去重后的数组重新赋值给 this.devicesList
-									this.devicesList = uniqueDevicesList;
-								
+
+
+								// this.$u.get(`/app/device/${mac}/isBind`, data).then((res) => {
+								// if (res.data == false) {
+								this.devicesList.push(device);
+
+								let uniqueDevicesList = Array.from(new Set(this.devicesList));
+
+								// 将去重后的数组重新赋值给 this.devicesList
+								this.devicesList = uniqueDevicesList;
+
 							});
 						}
 						break;
-			
+
 					case xBlufi.XBLUFI_TYPE.TYPE_CONNECTED:
 						console.log("连接回调:" + JSON.stringify(options));
 						if (options.result) {
@@ -441,13 +464,13 @@
 								title: '连接成功',
 								icon: 'none'
 							}); {
-			
+
 								xBlufi.notifyInitBleEsp32({
 									deviceId: options.data.deviceId
 								});
-								
+
 								xBlufi.listenDeviceMsgEvent(true, this.funListenDeviceMsgEvents);
-			
+
 								this.deviceIds = options.data.deviceId
 								this.name = options.data.name
 								// 连接成功绑定设备
@@ -458,7 +481,7 @@
 								let systemInfo = uni.getSystemInfoSync();
 								if (systemInfo.platform === 'android') {
 									// 当前设备是 Android  
-			
+
 								} else if (systemInfo.platform === 'ios') {
 									// 当前设备是 iOS  
 									// uni.navigateTo({
@@ -468,27 +491,27 @@
 								}
 							}
 						}
-			
+
 						break;
 					case xBlufi.XBLUFI_TYPE.TYPE_RECIEVE_CUSTON_DATA:
-			
+
 						// this.ver_data = this.parseCustomData(options.data)
-						if(options.data){
-							this.carstause=true
+						if (options.data) {
+							this.carstause = true
 						}
 						// console.log("1收到设备发来的自定义数据结果:", this.ver_data);
 						break;
 					case xBlufi.XBLUFI_TYPE.TYPE_GET_DEVICE_LISTS_STOP:
 						if (options.result) {
 							let uniqueDevicesList = Array.from(new Set(this.devicesList));
-			
+
 							// 过滤出名称字段的前五个字母为 "CTPOW" 的项
 							let filteredDevices = uniqueDevicesList.filter(device => device.name.substring(0, 4) ===
 								"BBLE");
-			
+
 							// 将过滤后的数组重新赋值给 this.devicesList
 							this.devicesList = filteredDevices;
-						
+
 							// console.log('蓝牙停止搜索ok',this.devicesList);
 						} else {
 							//蓝牙停止搜索失败
@@ -498,12 +521,12 @@
 						// _this.setData({
 						// 	searching: false
 						// });
-			
+
 						break;
 				}
 			},
-			
-			
+
+
 			//4、建立连接
 			createBLEConnection(e) {
 				console.log('调用了');
@@ -523,7 +546,7 @@
 				});
 				// for (var i = 0; i < this.devicesList.length; i++) {
 				// 	if (e.deviceId === this.devicesList[i].deviceId) {
-			
+
 				// 		uni.showLoading({
 				// 			title: '连接蓝牙设备中...'
 				// 		});
@@ -567,16 +590,16 @@
 						}
 					}, 2000)
 				}
-			
-			
+
+
 			},
 			funListenDeviceMsgEvents: function(options) {
 				let that = this;
 				switch (options.type) {
 					case xBlufi.XBLUFI_TYPE.TYPE_STATUS_CONNECTED: {
 						console.log('状态', options.result)
-						if( options.result==false){
-							this.carstause=false
+						if (options.result == false) {
+							this.carstause = false
 							uni.showToast({
 								title: '设备断开链接,请重新点击蓝牙链接',
 								icon: 'none'
@@ -592,11 +615,11 @@
 							// 	}
 							// });
 							// this.statusflag = false
-								uni.hideLoading();
+							uni.hideLoading();
 						}
 					}
 					break;
-			
+
 					case xBlufi.XBLUFI_TYPE.TYPE_RECIEVE_MY_DATA:
 						this.loadPercent = options.data;
 						this.loadText = '文件读取中'
@@ -606,19 +629,19 @@
 						// this.isband = true
 						// this.ver_data = this.parseCustomData(options.data)
 						console.log("1收到设备发来的自定义数据结果:", options.data);
-						if(options.data){
-							this.carstause=true
+						if (options.data) {
+							this.carstause = true
 						}
 						break;
-			
+
 					case xBlufi.XBLUFI_TYPE.TYPE_INIT_ESP32_RESULT:
 						uni.hideLoading();
 						if (options.result) {
 							console.log('初始化成功');
 						} else {
 							console.log('初始化失败');
-							
-							
+
+
 						}
 						break;
 				}
@@ -627,25 +650,25 @@
 			btnhd() {
 				this.tishiflag = false
 			},
-			
-			
-			
-			
-			
-			
-			
-			
-			
-			
-			
-			
-			
-			
-			
-			
-			
-			
-			
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 		}
 	}
 </script>
@@ -659,7 +682,8 @@
 	.page {
 		padding-bottom: 250rpx;
 		width: 750rpx;
-		.btn{
+
+		.btn {
 			margin: 160rpx auto;
 			// position: fixed;
 			display: flex;
@@ -671,15 +695,17 @@
 			height: 88rpx;
 			background: #FFCC25;
 			border-radius: 20rpx 20rpx 20rpx 20rpx;
-			
+
 			font-weight: 500;
 			font-size: 32rpx;
 			color: #FFFFFF;
 		}
-		.tips{
+
+		.tips {
 			margin: 28rpx auto 0;
 			width: 658rpx;
 		}
+
 		.iptbox {
 			display: flex;
 			align-items: center;
@@ -691,31 +717,35 @@
 			background: #FFFFFF;
 			box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(0, 0, 0, 0.15);
 			border-radius: 20rpx 20rpx 20rpx 20rpx;
-			.qrcode{
+
+			.qrcode {
 				padding-right: 20rpx;
 				border-right: 2rpx solid #D8D8D8;
-				image{
+
+				image {
 					width: 54rpx;
 					height: 54rpx;
 				}
 			}
+
 			.ips {
 				width: 630rpx;
-		
+
 			}
-		
+
 			image {
 				width: 18rpx;
 				height: 32rpx;
 			}
-		
+
 			.my-placeholder {
 				font-weight: 400;
 				font-size: 32rpx;
 				color: #808080;
 			}
 		}
-		.bot_btn{
+
+		.bot_btn {
 			position: fixed;
 			bottom: 0;
 			display: flex;
@@ -725,12 +755,14 @@
 			// height: 330rpx;
 			background: #fff;
 			// background: linear-gradient( 180deg, #FFFFFF 0%, rgba(255,255,255,0) 100%);
-			box-shadow: 0rpx 10rpx 64rpx 0rpx rgba(0,0,0,0.08);
+			box-shadow: 0rpx 10rpx 64rpx 0rpx rgba(0, 0, 0, 0.08);
 			border-radius: 0rpx 0rpx 0rpx 0rpx;
+
 			.btn:nth-child(4n) {
-			    margin-right: 0;
+				margin-right: 0;
 			}
-			.btn1{
+
+			.btn1 {
 				margin-top: 10rpx;
 				margin-right: 12rpx;
 				display: flex;
@@ -746,8 +778,8 @@
 				color: #3D3D3D;
 			}
 		}
-		
-		
-		
+
+
+
 	}
 </style>
\ No newline at end of file
diff --git a/pages/index/index.vue b/pages/index/index.vue
index d453b5b..e1f989a 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -42,13 +42,13 @@
 				<view class="iconfont icon-xiangzuo" v-if="isCollapsed" @click="toggleOrderTips"></view>
 
 			</view>
-			<view class="swiper_tips"  style="background: rgba(255, 197, 197, 0.7);" v-if="netonlines==false">
+			<view class="swiper_tips" style="background: rgba(255, 197, 197, 0.7);" v-if="netonlines==false">
 				<view class="cont">
 					<image src="https://lxnapi.ccttiot.com/bike/img/static/uJ4bst6OYzPYD8iEtyCJ" mode=""></image>
 					<view class="scroll-container" ref="scrollContainer">
-						<text class="txt" 
-							 style="font-weight: 400;font-size: 28rpx;color: #444444;">当前网络不可用,请检查你的网络设置</text>
-					
+						<text class="txt"
+							style="font-weight: 400;font-size: 28rpx;color: #444444;">当前网络不可用,请检查你的网络设置</text>
+
 						<!-- Duplicate the text for seamless scrolling -->
 					</view>
 				</view>
@@ -321,7 +321,7 @@
 
 						<view class="changebiketip" @click="tochange()">
 							换车骑行 <view class="iconfont icon-xiangyou1">
-						
+
 							</view>
 						</view>
 						<view class="btn" style="	margin-right: 16rpx;"
@@ -1056,7 +1056,7 @@
 				isupload: false,
 				showparkinfo: false,
 				parkinfo: {},
-				netonlines:false
+				netonlines: false
 			}
 		},
 		watch: {
@@ -1181,14 +1181,14 @@
 			});
 
 			if (this.seeDetail == false) {
-					let that = this
+				let that = this
 				uni.getNetworkType({
 					success: function(res) {
 						console.log(res.networkType); // 输出网络类型,如 "wifi", "4g", "3g", "2g", "none"
 						if (res.networkType == 'none') {
 							that.netonlines = false
-							
-						
+
+
 						} else {
 							that.netonlines = true
 							uni.getLocation({
@@ -1198,16 +1198,16 @@
 									// that.longitude = 117.074552
 									// that.gps.latitude = 23.440359
 									// that.gps.longitude = 117.074552;
-														
-														
-														
+
+
+
 									that.gps.latitude = lb.latitude;
 									that.gps.longitude = lb.longitude;
-														
+
 									that.latitude = lb.latitude;
 									that.longitude = lb.longitude;
-														
-														
+
+
 									console.log(that.areaInfo, 'that.areaInfo');
 									that.getArea()
 									if (that.qParam != 'null' && that.showagre == false) {
@@ -1215,7 +1215,7 @@
 										console.log(qParam, 'qParamqParamqParam');
 										// 第2步: URL解码q参数
 										let decodedUrl = decodeURIComponent(qParam);
-														
+
 										// 第3步: 使用正则表达式解析解码后的URL并提取查询参数
 										let sn = null;
 										let queryParams = decodedUrl.split('?')[1];
@@ -1230,10 +1230,10 @@
 										}
 										that.sn = sn
 										if (that.sn != '') {
-														
-														
+
+
 											setTimeout(() => {
-														
+
 												if (!that.orderinfo.status) {
 													that.deviceInfo(1)
 													that.qParam = null
@@ -1244,13 +1244,13 @@
 													// this.showtcs=true
 												}
 											}, 700)
-														
-														
+
+
 										}
 									}
 									// that.getmarks()
-														
-														
+
+
 									//
 								},
 								fail: function(error) {
@@ -1262,19 +1262,19 @@
 									// that.getmarks()
 									// 在这里处理获取位置信息失败的情况
 								}
-														
+
 							})
-														
-							
-												
-							
+
+
+
+
 							// console.log('有网络连接');\
-							
+
 						}
 					}
 				});
-				
-				
+
+
 
 
 			} else {
@@ -4354,7 +4354,9 @@
 						this.gps.sn = this.sn
 					}
 				}
-
+				if (this.sn != '') {
+					this.gps.sn = this.sn
+				}
 				setTimeout(() => {
 					this.setMapScale()
 				}, 300)
@@ -4811,10 +4813,17 @@
 										duration: 4000
 									});
 								} else if (this.deviceInfos.status == 1) {
+
+									if (this.areaId != res.data.areaId) {
+										this.getArea()
+									}
 									// this.routePlanning(res.data.latitude, res.data.longitude)
-									this.showdevice = true
-									this.type = 1;
-									this.deviceIndex = 1;
+									setTimeout(() => {
+										this.showdevice = true
+										this.type = 1;
+										this.deviceIndex = 1;
+									}, 500)
+
 								}
 							}
 						} else {
@@ -4937,9 +4946,16 @@
 																	// this.routePlanning(res.data
 																	// 	.latitude, res.data
 																	// 	.longitude)
-																	this.showdevice = true;
-																	this.type = 1;
-																	this.deviceIndex = 1;
+																	if (this.areaId != res.data
+																		.areaId) {
+																		this.getArea()
+																	}
+																	// this.routePlanning(res.data.latitude, res.data.longitude)
+																	setTimeout(() => {
+																		this.showdevice = true
+																		this.type = 1;
+																		this.deviceIndex = 1;
+																	}, 500)
 																}
 															}
 														} else {
@@ -6241,6 +6257,7 @@
 						box-shadow: 0rpx 10rpx 64rpx 0rpx rgba(0, 0, 0, 0.08), 0rpx 10rpx 64rpx 0rpx rgba(0, 0, 0, 0.08);
 						border-radius: 0rpx 0rpx 0rpx 0rpx;
 						padding-top: 30rpx;
+
 						.changebiketip {
 							bottom: 40rpx;
 							left: 320rpx;
@@ -6252,6 +6269,7 @@
 							font-size: 28rpx;
 							color: #3D3D3D;
 						}
+
 						.btn {
 							display: flex;
 							justify-content: center;
diff --git a/pages/login/login.vue b/pages/login/login.vue
index c4dac13..31edcc8 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -18,7 +18,7 @@
 		</view> -->
 		<view class="pages2" v-if="deptId==100&&pageindex==0">
 			<view class="imgbox">
-				<image src="https://lxnapi.ccttiot.com/bike/img/static/uX6A5Dlyr4lvGFNuqfPK" mode=""></image>
+				<image src="https://lxnapi.ccttiot.com/bike/img/static/umJTSzDVtnfpyYrZY0VJ" mode=""></image>
 			</view>
 			<button class="button" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber"
 				style="margin-top: 30rpx;">