Bladeren bron

删除 'code/HBX/pages/webview/bluetooth.vue'

曹礼松 2 jaren geleden
bovenliggende
commit
862d102449
1 gewijzigde bestanden met toevoegingen van 0 en 330 verwijderingen
  1. 0 330
      code/HBX/pages/webview/bluetooth.vue

+ 0 - 330
code/HBX/pages/webview/bluetooth.vue

@@ -1,330 +0,0 @@
-<template>
-	<view class="wrapper">
-		<view class="footer">
-			<!-- <button type="primary" size="mini" @click="reset">重新搜索</button> -->
-			<!-- <button type="primary" size="mini" @click="getBluetoothDevices">获取蓝牙设备信息</button> -->
-			<!-- <button type="primary" size="mini" @click="getBLEDeviceServices">获取服务</button> -->
-<!-- 			<button type="primary" size="mini" @click="getBLEDeviceCharacteristics">进入特征</button> -->
-			<button type="primary" size="mini" @click="stopBluetoothDevicesDiscovery">停止搜索蓝牙</button>
-		</view>
-		<view class="list">
-			
-		</view>
-		<view v-for="(item, index) in list" :key="index" class="list">
-			<view class="item">
-				<text>设备名称:{{ item.name }}</text>
-				<!-- <button class="button" type="default" size="mini" @click="createBLEConnection(item)">{{item.connected ? '断开' :'连接'}}</button> -->
-			</view>
-			<view  class="item">
-				<text>设备deviceId:{{ item.deviceId }}</text>
-			</view>
-			<view  class="item">
-				<text>信号强度RSSI:{{ item.RSSI }}</text>
-			</view>
-			<!-- <view  class="item">
-				<text>距离:{{ item.RSSI | RSSI }}m</text>
-				<button  class="button" type="default" size="mini" @click="getRssi(item)">刷新</button>
-			</view> -->
-		</view>
-	</view>
-</template>
-
-<script>
-	//定位需要根据算法 RSSI的值莱确定
-	let timeoff = null
-	import {bluetoothInt,bluetoothLoc} from '@/common/api.js'
-	export default {
-		data() {
-			return {
-				list:[],
-				deviceId:'',
-				serviceId:'',
-				characteristics:[],
-				characteristicId:'',
-				blueObj:{},
-				times:'',
-				location:{
-					
-				}
-			}
-		},
-		filters:{
-			RSSI(val){
-				if(val){  //A为距离设备1米时的rssi 绝对值。 n为环境衰减因子。
-					let A = 40
-					let n = 6
-					return Math.pow(10,((Math.abs(val) - A) / (10 * n))).toFixed(2)
-				}
-			}
-		},
-		watch:{
-			list(val){
-				
-			}
-		},
-		destroyed(){
-			this.stopBluetoothDevicesDiscovery()
-			
-			clearInterval(timeoff)
-		},
-		onLoad(){
-			uni.openBluetoothAdapter({
-				success:(res)=> { 
-					uni.getBluetoothAdapterState({//蓝牙的匹配状态
-						success:(res1)=>{
-							console.log(res1,'本机设备的蓝牙已打开')
-							bluetoothInt().then(res =>{
-								console.log(res)
-								this.blueObj = res.data
-								this.startBluetoothDeviceDiscovery()
-								this.getLocation()
-								this.startInt()
-							}).catch(e =>{
-								
-							})
-							
-						},
-						fail(error) {
-							uni.showToast({icon:'none',duration:3000,title: '查看手机蓝牙是否打开'});
-						}
-					});
-					
-				},
-				fail:err=>{ 
-					uni.showToast({icon:'none',title: '查看手机蓝牙是否打开'});
-				}
-			})
-		},
-		methods: {
-			reset(){
-				clearInterval(timeoff)
-				uni.openBluetoothAdapter({
-					success:(res)=> { 
-						uni.getBluetoothAdapterState({//蓝牙的匹配状态
-							success:(res1)=>{
-								this.startInt()
-							},
-							fail(error) {
-								uni.showToast({icon:'none',duration:3000,title: '查看手机蓝牙是否打开'});
-							}
-						});
-						
-					},
-					fail:err=>{ 
-						uni.showToast({icon:'none',title: '查看手机蓝牙是否打开'});
-					}
-				})
-			},
-			stopBluetoothDevicesDiscovery(){
-				clearInterval(timeoff)
-				uni.stopBluetoothDevicesDiscovery({
-					success: e => {
-						uni.closeBluetoothAdapter()
-						console.log('停止搜索蓝牙设备:' + e.errMsg);
-					},
-					fail: e => {
-						console.log('停止搜索蓝牙设备失败,错误码:' + e.errCode);
-					}
-				});
-			},
-			 startInt(){
-				if(this.blueObj.flag == 1) return
-				timeoff = setInterval( async () =>{
-					this.list = Array.from(new Set(this.list))
-					let str = ''
-					this.list.map((item) =>{
-						str+=item.name+','+item.RSSI+";"
-					})
-					str+=uni.getStorageSync('storage_users').uid+";"+this.location.latitude+','+this.location.longitude
-					console.log(str)
-					try{
-						let data = await bluetoothLoc({rssis:str})
-						uni.stopBluetoothDevicesDiscovery()
-						setTimeout(() =>{
-							this.getLocation()
-							this.startBluetoothDeviceDiscovery()
-						},1000)
-					}
-					catch(e){
-						console.log(e)
-						clearInterval(timeoff)
-					}
-				},this.blueObj.seconds*1000)
-			},
-			getLocation(){
-				uni.getLocation({
-					type: 'gcj02 ',
-					geocode: true,
-					success:async (res)  => {
-						this.location = res
-					},
-					fail: (e) => {
-						console.log(e)
-						plus.nativeUI.toast("获取位置失败")
-					}
-				});
-			},
-			getRssi(item){
-				if(item.connected){
-					uni.getBLEDeviceRSSI({
-						deviceId:item.deviceId,
-						success(res) {
-							console.log(res)
-							item.RSSI = res.RSSI
-						},
-					})
-				}
-				else{
-					uni.createBLEConnection({
-					  deviceId:item.deviceId,
-					  success(res) {
-						console.log(res)
-						uni.getBLEDeviceRSSI({
-							deviceId:item.deviceId,
-							success(res) {
-								console.log(res)
-								item.RSSI = res.RSSI
-							},
-						})
-						console.log("蓝牙连接成功")
-					  },fail(res) {
-						uni.showToast({icon:'none',title: '蓝牙连接失败'});
-						console.log("蓝牙连接失败",res)
-					  }
-					})
-				}
-			},
-			startBluetoothDeviceDiscovery(){
-				this.list = []
-				uni.startBluetoothDevicesDiscovery({
-					success: (res) => {
-						console.log('startBluetoothDevicesDiscovery success', res)
-						// 发现外围设备
-						this.onBluetoothDeviceFound()
-					},fail:err=>{
-						console.log(err,'错误信息')
-					}
-				})
-			},
-			// 发现外围设备
-			onBluetoothDeviceFound() {
-				uni.onBluetoothDeviceFound((res) => {
-					if(res.devices[0].localName.indexOf(this.blueObj.preName) != '-1'){
-						if(this.list.indexOf(res.devices[0].deviceId)==-1){
-							this.list.push({
-								name:res.devices[0].name,
-								deviceId:res.devices[0].deviceId,
-								RSSI:res.devices[0].RSSI,
-								connected:false
-							})
-						}
-						this.list = Array.from(new Set(this.list))
-					}
-					
-				})
-			},
-			//获取在蓝牙模块生效期间所有已发现的蓝牙设备。包括已经和本机处于连接状态的设备。
-			getBluetoothDevices() {
-				console.log("获取蓝牙设备");
-				uni.getBluetoothDevices({
-					success: res => {
-						console.log('获取蓝牙设备成功:');
-						console.log(res.devices);
-					}
-				});
-			},
-			//选择设备连接吧deviceId传进来
-			createBLEConnection(item){
-				//连接蓝牙
-				this.deviceId = item.deviceId
-				if(item.connected){
-					uni.closeBLEConnection({
-						deviceId:item.deviceId,
-					})
-				}
-				else{
-					uni.createBLEConnection({
-					  deviceId:this.deviceId,
-					  success(res) {
-						console.log(res)
-						console.log("蓝牙连接成功")
-					  },fail(res) {
-						console.log("蓝牙连接失败",res)
-					  }
-					})
-				}
-				
-			},
-			// 停止搜寻蓝牙设备
-			
-			//获取蓝牙特征
-			getBLEDeviceCharacteristics(){
-				console.log("进入特征");
-				setTimeout(()=>{
-					uni.getBLEDeviceCharacteristics({
-					  // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接
-					  deviceId:this.deviceId,
-					  // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取
-					  serviceId:this.serviceId,
-					  success:(res)=>{
-						console.log(res,'特征getBLEDeviceCharacteristics')
-						this.characteristics = res.characteristics
-						console.log(this.characteristics)
-						res.characteristics.forEach((item)=>{
-								this.characteristicId = item.uuid
-								//console.log('characteristicId:', item.uuid)
-								//利用传参的形势传给下面的notify,这里的uuid如果都需要用到,就不用做判断了,建议使用setTimeout进行间隔性的调用此方法
-						})
-					  },
-					  fail:(res)=>{
-						console.log(res)
-					  }
-					})
-				},1000)
-			},
-			//获取蓝牙的所有服务
-			getBLEDeviceServices(){
-				setTimeout(()=>{
-					uni.getBLEDeviceServices({
-					  // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接
-					  deviceId:this.deviceId,
-					  success:(res)=>{
-						console.log('device services:', res)
-						//res.services.forEach((item)=>{
-							//if(item.uuid.indexOf("00001803")!=-1){
-								this.serviceId = res.services[3].uuid;
-						//		console.log(this.serviceId)
-								//获取特征
-								this.getBLEDeviceCharacteristics()
-					//		}
-					//	})
-					  }
-					})
-				},1000)
-			},
-		}
-	}
-</script>
-
-<style scoped lang="scss">
-	.wrapper{
-		padding: 50rpx;
-		.footer{
-			display: flex;
-		}
-		.list{
-			margin:30rpx 0;
-			.item{
-				display: flex;
-				border: 1px solid #F5F5F5;
-				box-sizing: border-box;
-				padding:10px 10px; 
-				justify-content: space-between;
-				align-items: center;
-				.button{
-					margin:0;
-				}
-			}
-		}
-	}
-</style>