lilei il y a 4 ans
Parent
commit
213e99ac3d
2 fichiers modifiés avec 27 ajouts et 318 suppressions
  1. 0 317
      pages/bluetooth/bluetooth.vue
  2. 27 1
      pages/userAuth/userAuth.vue

+ 0 - 317
pages/bluetooth/bluetooth.vue

@@ -1,317 +0,0 @@
-<template>
-	<view style="width: 100%;">
-		<button @click="getBluetoothDevices">获取设备</button>
-		<view class="device-item" v-if="item.name=='FAYA'" @click="connectBlue(item)" v-for="item in deviceList" :key="item.name">
-			<text>{{item.name}}</text>
-			<text>点击连接</text>
-		</view>
-		<view>
-			状态:{{statusStr}}
-		</view>
-		<view>
-			结果:{{balanceData}}
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				deviceList:[], // 设备列表
-				deviceId: '',
-				connectedDeviceId: '',
-				services: [],
-				notifyCharacteristicsId:'',
-				notifyServicweId: '',
-				writeDatas: '',
-				balanceData: '',
-				hexstr: '',
-				statusStr: ''
-			};
-		},
-		onShow() {
-			let _this = this
-			// this.closeConnect()
-			const res = uni.getSystemInfoSync();
-			// 初始化蓝牙模块
-			uni.openBluetoothAdapter({
-			  success(res) {
-			    console.log(res)
-				_this.statusStr = '初始化蓝牙模块成功'
-				/* 获取本机的蓝牙状态 */
-				setTimeout(() => {
-					_this.init()
-				}, 1000)
-			  }
-			})
-			// 监听蓝牙适配器状态变化事件
-			uni.onBluetoothAdapterStateChange(function (res) {
-			  console.log(res,'适配器变化')
-			})
-			
-			if(!res.bluetoothEnabled){
-				uni.showModal({
-					title:'提示',
-					content:'请开启手机蓝牙',
-					complete(e) {
-						console.log(e)
-						_this.statusStr = '请开启手机蓝牙'
-					}
-				})
-			} 
-		},
-		methods: {
-			// 初始化蓝牙
-			init(){
-				let _this = this
-				uni.getBluetoothAdapterState({
-				  success(res) {
-				    console.log(res)
-					_this.statusStr = 'adapterState changed, now is'
-					// 开始搜寻附近的蓝牙外围设备
-					_this.startBluetoothDevicesDiscovery()
-				  },
-				  fail(res) {
-					  console.log(res)
-				  }
-				})
-			},
-			startBluetoothDevicesDiscovery(){
-				let _this = this
-				uni.startBluetoothDevicesDiscovery({
-				  services: [],
-				  success(res) {
-				    console.log(res)
-					// 监听寻找到新设备的事件
-					uni.onBluetoothDeviceFound(function (res) {
-					  _this.statusStr = '发现新设备'
-					  console.dir(res.devices)
-					  if(res.devices[0].name == 'FAYA'){
-						  _this.deviceId = res.devices[0].deviceId
-						  _this.deviceList = res.devices
-						  // _this.createBLEConnection()
-					  }
-					})
-				  }
-				})
-			},
-			// 获取在蓝牙模块生效期间所有已发现的蓝牙设备
-			getBluetoothDevices() {
-				let _this = this
-				uni.getBluetoothDevices({
-				  success(res) {
-				    console.log(res)
-				    if (res.devices.length) {
-					  _this.deviceList = res.devices
-				    }
-				  }
-				})
-			},
-			connectBlue(item){
-				this.deviceId = item.deviceId
-				this.createBLEConnection()
-			},
-			// 连接指定设备
-			createBLEConnection(){
-				let _this = this
-				uni.createBLEConnection({
-				  // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接
-				  deviceId:this.deviceId,
-				  success(res) {
-				    console.log(res)
-					_this.statusStr = '连接设备成功'
-					_this.connectedDeviceId = _this.deviceId
-					// 获取连接设备的service服务
-					setTimeout(()=>{
-						_this.getBLEDeviceServices()						  
-					},1000)
-				  }
-				})
-			},
-			// 获取连接设备的service服务
-			getBLEDeviceServices(){
-				let _this = this
-				uni.getBLEDeviceServices({
-				  // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接
-				  deviceId: _this.deviceId,
-				  success(res) {
-				    console.log('device services:', res.services)
-					_this.statusStr = '获取连接设备的service服务成功'
-					_this.services = res.services
-					/* 获取连接设备的所有特征值 */
-					setTimeout(()=>{
-						_this.getBLEDeviceCharacteristics()
-					},500)
-					// 停止搜索
-					uni.stopBluetoothDevicesDiscovery({
-						success: function(res) {
-							console.log(res, '停止搜索')
-						},
-						fail(res) {
-						}
-					})
-				  }
-				})
-			},
-			// 获取连接设备的所有特征值
-			getBLEDeviceCharacteristics(){
-				let _this = this
-				this.notifyServicweId = this.services[1].uuid
-				uni.getBLEDeviceCharacteristics({
-					deviceId: this.connectedDeviceId,
-					serviceId: this.notifyServicweId,
-					success: function(res) {
-						console.log(res)
-						_this.statusStr = '获取连接设备的所有特征值成功'
-						for (let i = 0; i < res.characteristics.length; i++) {
-							if ((res.characteristics[i].properties.notify || res.characteristics[i].properties.indicate) &&
-								(res.characteristics[i].properties.read && res.characteristics[i].properties.write)) {
-								console.log(res.characteristics[i].uuid, '蓝牙特征值 ==========')
-								/* 获取蓝牙特征值 */
-								_this.notifyCharacteristicsId = res.characteristics[i].uuid
-								// 启用低功耗蓝牙设备特征值变化时的 notify 功能
-								setTimeout(()=>{
-									_this.notifyBLECharacteristicValueChange()
-								},500)
-							}
-						}
-					},
-					fail: function(res) {
-						console.log(res)
-					}
-				})
-			},
-			// 启用低功耗蓝牙设备特征值变化时的 notify 功能
-			 notifyBLECharacteristicValueChange() { 
-				let that = this;
-				console.log(that.connectedDeviceId,that.notifyServicweId,that.notifyCharacteristicsId)
-				uni.notifyBLECharacteristicValueChange({
-					state: true,
-					deviceId: that.connectedDeviceId,
-					serviceId: that.notifyServicweId,
-					// characteristicId: that.notifyCharacteristicsId,
-					characteristicId: '49535343-1E4D-4BD9-BA61-23C647249616',
-					success(res) {
-						console.log(res,'notifyBLECharacteristicValueChange')
-						that.statusStr = '启用低功耗蓝牙设备特征值变化成功'
-						/*用来监听手机蓝牙设备的数据变化*/
-						uni.onBLECharacteristicValueChange(function(res) {
-							console.log(res,'read data')
-							that.balanceData = that.buf2string(res.value)
-							// that.hexstr = that.receiveData(res.value)
-						})
-					},
-					fail(res) {
-						console.log(res, '启用低功耗蓝牙设备监听失败')
-					}
-				})
-			},
-			/*转换成需要的格式*/
-		    buf2string(buffer) {
-				let arr = Array.prototype.map.call(new Uint8Array(buffer), x => x)
-				return arr.map((char, i) => {
-					return String.fromCharCode(char);
-				}).join('');
-			},
-			receiveData(buf) {
-					return this.hexCharCodeToStr(this.ab2hex(buf))
-			},
-			/*转成二进制*/
-			ab2hex (buffer) {
-			  let hexArr = Array.prototype.map.call(
-				  new Uint8Array(buffer), function (bit) {
-					  return ('00' + bit.toString(16)).slice(-2)
-				  }
-			  )
-			  return hexArr.join('')
-			},
-			/*转成可展会的文字*/
-			hexCharCodeToStr(hexCharCodeStr) {
-			  let trimedStr = hexCharCodeStr.trim();
-			  let rawStr = trimedStr.substr(0, 2).toLowerCase() === '0x' ? trimedStr.substr(2) : trimedStr;
-			  let len = rawStr.length;
-			  let curCharCode;
-			  let resultStr = [];
-			  for (let i = 0; i < len; i = i + 2) {
-				  curCharCode = parseInt(rawStr.substr(i, 2), 16);
-				  resultStr.push(String.fromCharCode(curCharCode));
-			  }
-			  return resultStr.join('');
-			},
-			// 发送数据
-			sendData(str) {
-			    let that = this;
-			    let dataBuffer = new ArrayBuffer(3)
-			    let dataView = new DataView(dataBuffer)
-			    // for (let i = 0; i < str.length; i++) {
-			    //     dataView.setUint8(i, str.charAt(i).charCodeAt())
-			    // }
-				dataView.setUint8(0, 0x02)
-				dataView.setUint8(1, 0x42)
-				dataView.setUint8(2, 0x03)
-			    let dataHex = that.ab2hex(dataBuffer);
-			    this.writeDatas = that.hexCharCodeToStr(dataHex);
-			    uni.writeBLECharacteristicValue({
-			        deviceId: that.connectedDeviceId,
-			        serviceId: that.notifyServicweId,
-			        characteristicId: that.notifyCharacteristicsId,
-					// characteristicId: '49535343-1E4D-4BD9-BA61-23C647249616',
-			        value: dataBuffer,
-			        success: function (res) {
-			            console.log('发送的数据:' + that.writeDatas)
-			            console.log('message发送成功')
-			        },
-			        fail: function (res) {
-						console.log('发送失败:' + res)
-			        },
-			        complete: function (res) {
-			        }
-			    })
-			},
-			 // 断开设备连接
-			closeConnect() {
-				let that = this;
-			    if (that.connectedDeviceId) {
-			        uni.closeBLEConnection({
-			            deviceId: that.connectedDeviceId,
-			            success: function(res) {
-			                that.closeBluetoothAdapter()
-			            },
-			            fail(res) {
-			            }
-			        })
-			    } else {
-			        that.closeBluetoothAdapter()
-			    }
-			},
-			// 关闭蓝牙模块
-			closeBluetoothAdapter() {
-				let that = this;
-			    uni.closeBluetoothAdapter({
-			        success: function(res) {
-						that.statusStr = '关闭蓝牙模块'
-						that.balanceData = ''
-						console.log(res,'closeBluetoothAdapter')
-			        },
-			        fail: function(err) {
-			        }
-			    })
-			},
-		},
-		onUnload() {
-			this.closeConnect()
-		}
-	}
-</script>
-
-<style lang="scss">
-	.device-item{
-		width: 100%;
-		padding: 20upx;
-		border-bottom: 2upx solid #eee;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-	}
-</style>

+ 27 - 1
pages/userAuth/userAuth.vue

@@ -43,7 +43,7 @@
 			</view>
 			<view class="form-row form-flex">
 				<view>用户乐豆余额</view>
-				<view><text class="nums">560</text></view>
+				<view><text>560</text></view>
 			</view>
 			<view class="form-row form-flex">
 				<view>投递类型</view>
@@ -66,6 +66,13 @@
 			<view v-if="current==1"><u-button shape="circle" @click="prev()">上一步</u-button></view>
 			<view v-if="current==1"><u-button shape="circle" @click="submit()" :custom-style="customStyle" type="primary">提交</u-button></view>
 		</view>
+		
+		<!-- 提交确认弹框 -->
+		<u-modal v-model="showOk" show-cancel-button @confirm="confirm" @cancel="cancel">
+			<view class="slot-content">
+				<rich-text :nodes="modelContent"></rich-text>
+			</view>
+		</u-modal>
 	</view>
 </template>
 
@@ -73,6 +80,8 @@
 	export default {
 		data() {
 			return {
+				showOk: false,
+				modelContent:'',
 				customStyle: {
 					background: '#00aaff'
 				},
@@ -150,6 +159,20 @@
 				this.current = this.current - 1
 			},
 			submit(){
+				this.showOk = true
+				this.modelContent = `
+				<div>
+					<div style="font-weight:bold;padding:10px 0;">投递重量:<span style="color:red">${this.balanceData}</span> g</div>
+					<div>提交后将为此用户计入本次投递数据,确认提交吗?</div>
+				</div>
+				`
+			},
+			cancel(){
+				this.showOk = false
+				this.modelContent = ''
+			},
+			// 确认提交
+			confirm(){
 				
 			}
 		}
@@ -234,5 +257,8 @@
 			padding: 0 5%;
 		}
 	}
+	.slot-content{
+		padding: 50rpx;
+	}
 }
 </style>