From 1703ff1a7c893771b00dcca3c7e8cd8f0cb0521c Mon Sep 17 00:00:00 2001
From: qiaocl <3189782663@qq.com>
Date: Thu, 24 Nov 2022 15:24:48 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8C=BA=E5=88=86F01PRO?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app.json | 2 +-
pages/{PCF01B => PCF01pro}/index.js | 0
pages/{PCF01B => PCF01pro}/index.json | 0
pages/{PCF01B => PCF01pro}/index.wxml | 0
pages/{PCF01B => PCF01pro}/index.wxss | 0
pages/PCH0809/index.js | 863 +++++++++++++-------------
pages/index/index.js | 12 +-
pages/index/index.wxml | 4 +-
project.config.json | 106 ++--
9 files changed, 493 insertions(+), 494 deletions(-)
rename pages/{PCF01B => PCF01pro}/index.js (100%)
rename pages/{PCF01B => PCF01pro}/index.json (100%)
rename pages/{PCF01B => PCF01pro}/index.wxml (100%)
rename pages/{PCF01B => PCF01pro}/index.wxss (100%)
diff --git a/app.json b/app.json
index 2b5a8ef..186f83d 100644
--- a/app.json
+++ b/app.json
@@ -4,7 +4,7 @@
"pages/PCD01PRO/index",
"pages/H01PRO/index",
"pages/PCH0809/index",
- "pages/PCF01B/index",
+ "pages/PCF01pro/index",
"pages/PCF01proFRK/index",
"pages/PCF08/index",
"pages/L08/index",
diff --git a/pages/PCF01B/index.js b/pages/PCF01pro/index.js
similarity index 100%
rename from pages/PCF01B/index.js
rename to pages/PCF01pro/index.js
diff --git a/pages/PCF01B/index.json b/pages/PCF01pro/index.json
similarity index 100%
rename from pages/PCF01B/index.json
rename to pages/PCF01pro/index.json
diff --git a/pages/PCF01B/index.wxml b/pages/PCF01pro/index.wxml
similarity index 100%
rename from pages/PCF01B/index.wxml
rename to pages/PCF01pro/index.wxml
diff --git a/pages/PCF01B/index.wxss b/pages/PCF01pro/index.wxss
similarity index 100%
rename from pages/PCF01B/index.wxss
rename to pages/PCF01pro/index.wxss
diff --git a/pages/PCH0809/index.js b/pages/PCH0809/index.js
index 91baf22..aa64555 100644
--- a/pages/PCH0809/index.js
+++ b/pages/PCH0809/index.js
@@ -1,443 +1,442 @@
const util = require("../../utils/util");
const {
- inArray,
- ab2hex
+ inArray,
+ ab2hex
} = util
Page({
- data: {
- devices: [],
- connected: false,
- cmd: '',
- name: '',
- weight: "",
- text: "",
- imp: "",
- height: '',
- isType: false,
- sendVal: true,
- pwdModal: false,
- uuid1: null,
- uuid2: null,
- uuid3: null,
- deviceId: null,
- serviceId: null
- },
- onLoad: function() {
- // let value = "A90026051401020001439A";
- // let num = value.substring(18, 19)
- // let type = value.substring(8, 10)
- // let imp = parseInt(value.substring(10, 14), 16)
- // console.log("16进制转化:", value, num, type, imp);
- },
- // 初始化蓝牙模块
- openBluetoothAdapter() {
- wx.openBluetoothAdapter({
- success: (res) => {
- console.log('openBluetoothAdapter success', res)
- wx.showToast({
- title: '蓝牙连接中',
- icon: "none"
- })
- this.startBluetoothDevicesDiscovery()
- },
- fail: (res) => {
- if (res.errCode === 10001) {
- wx.showToast({
- title: '请打开蓝牙',
- icon: "none"
- })
- // 监听本机蓝牙状态变化的事件
- wx.onBluetoothAdapterStateChange((res) => {
- console.log('onBluetoothAdapterStateChange', res)
- if (res.available) {
- this.startBluetoothDevicesDiscovery()
- }
- })
- }
- }
- })
- },
+ data: {
+ devices: [],
+ connected: false,
+ cmd: '',
+ name: '',
+ weight: "",
+ text: "",
+ imp: "",
+ height: '',
+ isType: false,
+ sendVal: true,
+ pwdModal: false,
+ uuid1: null,
+ uuid2: null,
+ uuid3: null,
+ deviceId: null,
+ serviceId: null
+ },
+ onLoad: function() {
+ // let value = "A90026051401020001439A";
+ // let num = value.substring(18, 19)
+ // let type = value.substring(8, 10)
+ // let imp = parseInt(value.substring(10, 14), 16)
+ // console.log("16进制转化:", value, num, type, imp);
+ },
+ // 初始化蓝牙模块
+ openBluetoothAdapter() {
+ wx.openBluetoothAdapter({
+ success: (res) => {
+ console.log('openBluetoothAdapter success', res)
+ wx.showToast({
+ title: '蓝牙连接中',
+ icon: "none"
+ })
+ this.startBluetoothDevicesDiscovery()
+ },
+ fail: (res) => {
+ if (res.errCode === 10001) {
+ wx.showToast({
+ title: '请打开蓝牙',
+ icon: "none"
+ })
+ // 监听本机蓝牙状态变化的事件
+ wx.onBluetoothAdapterStateChange((res) => {
+ console.log('onBluetoothAdapterStateChange', res)
+ if (res.available) {
+ this.startBluetoothDevicesDiscovery()
+ }
+ })
+ }
+ }
+ })
+ },
- // 开始搜寻附近的蓝牙外围设备
- startBluetoothDevicesDiscovery() {
- if (this._discoveryStarted) {
- return
- }
- this._discoveryStarted = true
- wx.startBluetoothDevicesDiscovery({
- allowDuplicatesKey: true,
- interval: 1000, //上报设备的间隔
- services: [
- "FFE0",
- ],
- success: (res) => {
- console.log('startBluetoothDevicesDiscovery success', res)
- this.onBluetoothDeviceFound()
- },
- })
- },
- // 停止搜寻附近的蓝牙外围设备
- stopBluetoothDevicesDiscovery() {
- wx.stopBluetoothDevicesDiscovery()
- },
+ // 开始搜寻附近的蓝牙外围设备
+ startBluetoothDevicesDiscovery() {
+ if (this._discoveryStarted) {
+ return
+ }
+ this._discoveryStarted = true
+ wx.startBluetoothDevicesDiscovery({
+ allowDuplicatesKey: true,
+ interval: 1000, //上报设备的间隔
+ services: [
+ "FFE0",
+ ],
+ success: (res) => {
+ console.log('startBluetoothDevicesDiscovery success', res)
+ this.onBluetoothDeviceFound()
+ },
+ })
+ },
+ // 停止搜寻附近的蓝牙外围设备
+ stopBluetoothDevicesDiscovery() {
+ wx.stopBluetoothDevicesDiscovery()
+ },
- // 找到新设备的事件
- onBluetoothDeviceFound() {
- wx.onBluetoothDeviceFound((res) => {
- res.devices.forEach(device => {
- if (device.name.indexOf('AiLink_') != -1) {
- wx.stopBluetoothDevicesDiscovery() //搜索到名称为“AiLink_”的蓝牙后,停止搜寻附近的蓝牙
- const foundDevices = this.data.devices
- const idx = inArray(foundDevices, 'deviceId', device.deviceId)
- const data = {}
- let buff = device.advertisData.slice(-6)
- device.mac = new Uint8Array(buff) // 保存广播数据中的mac地址,这是由于iOS不直接返回mac地址
- let tempMac = Array.from(device.mac)
- tempMac.reverse()
- device.macAddr = ab2hex(tempMac, ':').toUpperCase()
- if (idx === -1) {
- data[`devices[${foundDevices.length}]`] = device
- } else {
- data[`devices[${idx}]`] = device
- }
- console.log("131", data)
- this.setData(data)
- }
- })
- })
- },
- // 连接低功耗蓝牙设备
- createBLEConnection(e) {
- this._connLoading = true
- wx.showLoading({
- title: '连接中',
- })
- setTimeout(() => {
- if (this._connLoading) {
- this._connLoading = false
- wx.hideLoading()
- }
- }, 6000)
- const ds = e.currentTarget.dataset
- const index = ds.index
- this._device = this.data.devices[index]
- const deviceId = ds.deviceId
- const name = ds.name
- this.mac = ds.mac
- wx.createBLEConnection({
- deviceId,
- success: (res) => {
- this.setData({
- connected: true,
- name,
- deviceId,
- })
- console.log("createBLEConnection:success")
- this.onBLEConnectionStateChange()
- this.getBLEDeviceServices(deviceId)
- },
- fail: res => {
- this._connLoading = false
- wx.showToast({
- title: '连接失败',
- duration: 2000,
- icon: 'none'
- })
- }
- })
- },
- //监听蓝牙连接状态
- onBLEConnectionStateChange() {
- wx.onBLEConnectionStateChange((res) => {
- if (!res.connected) {
- setTimeout(() => {
- wx.showToast({
- title: '连接已断开',
- duration: 2000,
- icon: 'none'
- })
- }, 500)
- this.setData({
- connected: false,
- isType: false,
- devices: [],
- weight: "",
- height: "",
- text: "",
- imp: ""
- })
- }
- })
- },
+ // 找到新设备的事件
+ onBluetoothDeviceFound() {
+ wx.onBluetoothDeviceFound((res) => {
+ res.devices.forEach(device => {
+ if (device.name.indexOf('AiLink_') != -1) {
+ wx.stopBluetoothDevicesDiscovery() //搜索到名称为“AiLink_”的蓝牙后,停止搜寻附近的蓝牙
+ const foundDevices = this.data.devices
+ const idx = inArray(foundDevices, 'deviceId', device.deviceId)
+ const data = {}
+ let buff = device.advertisData.slice(-6)
+ device.mac = new Uint8Array(buff) // 保存广播数据中的mac地址,这是由于iOS不直接返回mac地址
+ let tempMac = Array.from(device.mac)
+ tempMac.reverse()
+ device.macAddr = ab2hex(tempMac, ':').toUpperCase()
+ if (idx === -1) {
+ data[`devices[${foundDevices.length}]`] = device
+ } else {
+ data[`devices[${idx}]`] = device
+ }
+ console.log("131", data)
+ this.setData(data)
+ }
+ })
+ })
+ },
+ // 连接低功耗蓝牙设备
+ createBLEConnection(e) {
+ this._connLoading = true
+ wx.showLoading({
+ title: '连接中',
+ })
+ setTimeout(() => {
+ if (this._connLoading) {
+ this._connLoading = false
+ wx.hideLoading()
+ }
+ }, 6000)
+ const ds = e.currentTarget.dataset
+ const index = ds.index
+ this._device = this.data.devices[index]
+ const deviceId = ds.deviceId
+ const name = ds.name
+ this.mac = ds.mac
+ wx.createBLEConnection({
+ deviceId,
+ success: (res) => {
+ this.setData({
+ connected: true,
+ name,
+ deviceId,
+ })
+ console.log("createBLEConnection:success")
+ this.onBLEConnectionStateChange()
+ this.getBLEDeviceServices(deviceId)
+ },
+ fail: res => {
+ this._connLoading = false
+ wx.showToast({
+ title: '连接失败',
+ duration: 2000,
+ icon: 'none'
+ })
+ }
+ })
+ },
+ //监听蓝牙连接状态
+ onBLEConnectionStateChange() {
+ wx.onBLEConnectionStateChange((res) => {
+ if (!res.connected) {
+ setTimeout(() => {
+ wx.showToast({
+ title: '连接已断开',
+ duration: 2000,
+ icon: 'none'
+ })
+ }, 500)
+ this.setData({
+ connected: false,
+ isType: false,
+ devices: [],
+ weight: "",
+ height: "",
+ text: "",
+ imp: ""
+ })
+ }
+ })
+ },
- // 获取蓝牙设备的 serviceId
- getBLEDeviceServices(deviceId) {
- wx.getBLEDeviceServices({
- deviceId,
- success: (res) => {
- for (let i = 0; i < res.services.length; i++) {
- if (res.services[i].isPrimary && res.services[i].uuid.indexOf('FFE0') > -1) {
- this.data.serviceId = res.services[i].uuid
- this.data.deviceId = deviceId
- this.getBLEDeviceCharacteristics(deviceId, res.services[i].uuid)
- wx.showToast({
- title: '获取设备的UUID成功',
- duration: 2000,
- icon: 'none'
- })
- return
- }
- }
- }
- })
- },
+ // 获取蓝牙设备的 serviceId
+ getBLEDeviceServices(deviceId) {
+ wx.getBLEDeviceServices({
+ deviceId,
+ success: (res) => {
+ for (let i = 0; i < res.services.length; i++) {
+ if (res.services[i].isPrimary && res.services[i].uuid.indexOf('FFE0') > -1) {
+ this.data.serviceId = res.services[i].uuid
+ this.data.deviceId = deviceId
+ this.getBLEDeviceCharacteristics(deviceId, res.services[i].uuid)
+ wx.showToast({
+ title: '获取设备的UUID成功',
+ duration: 2000,
+ icon: 'none'
+ })
+ return
+ }
+ }
+ }
+ })
+ },
- // 获取蓝牙设备某个服务中所有特征值(characteristic)
- /**
- * read: true读,write: true写,notify: true广播
- */
- getBLEDeviceCharacteristics(deviceId, serviceId) {
- this._deviceId = deviceId
- this._serviceId = serviceId
- this._device.serviceId = serviceId
- let that = this
- wx.getBLEDeviceCharacteristics({
- deviceId,
- serviceId,
- success: (res) => {
- console.log('getBLEDeviceCharacteristics success', res.characteristics)
- for (let i = 0; i < res.characteristics.length; i++) {
- let item = res.characteristics[i];
- if (item.uuid.indexOf('FFE1') != -1) {
- that.data.uuid1 = item.uuid //主服务 UUID
- } else if (item.uuid.indexOf('FFE2') != -1) {
- that.data.uuid2 = item.uuid //写入设置
- } else if (item.uuid.indexOf('FFE3') != -1) {
- that.data.uuid3 = item.uuid //监听数据
- }
- }
- that.setData({
- isType: true,
- })
- wx.notifyBLECharacteristicValueChange({
- deviceId,
- serviceId,
- characteristicId: that.data.uuid2,
- state: true,
- })
- wx.notifyBLECharacteristicValueChange({
- deviceId,
- serviceId,
- characteristicId: that.data.uuid3,
- state: true,
- })
- wx.onBLECharacteristicValueChange((res) => {
- let value = ab2hex(res.value, "");
- console.log("16进制转化:", value);
- let num = value.substring(18, 19)
- let dw = value.substring(19, 20)
- let type = value.substring(8, 10)
- let typeInfo = value.substring(10, 12)
- console.log("16进制转化:", value);
- if (type == '10') {
- let data = parseInt(value.substring(13, 18), 16)
- let dw1 = "kg"
- if (dw == "1") {
- dw1 = "斤"
- console.log("体重单位:斤")
- }
- if (dw == "4") {
- dw1 = "st:lb"
- console.log("体重单位:st:lb,计算方法:1 * data + 5")
- }
- if (dw == "6") {
- dw1 = "lb"
- console.log("体重单位:lb")
- }
- if (num == "1") {
- data = parseInt(value.substring(13, 18), 16) / 10
- console.log("体重小数点后1位")
- }
- if (num == "2") {
- data = parseInt(value.substring(13, 18), 16) / 100
- console.log("体重小数点后2位")
- }
- if (num == "3") {
- data = parseInt(value.substring(13, 18), 16) / 1000
- console.log("体重小数点后3位")
- }
- if (typeInfo == "01") {
- console.log("实时体重:", data)
- that.setData({
- weight: "实时体重是:" + data + dw1
- })
- }
- if (typeInfo == "02") {
- console.log("稳定体重:", data)
- that.setData({
- weight: "稳定体重是:" + data + dw1
- })
- }
- }
- if (type == "14") { //身高模式
- let height = parseInt(value.substring(10, 14), 16)
- that.setData({
- height: "您的身高是:" + height
- })
- console.log("身高模式:", height)
- }
- if (type == "11") {
- console.log("阻抗值:", value)
- if (typeInfo == "03" || typeInfo == "04") {
- let imp = parseInt(value.substring(17, 22), 16)
- that.setData({
- imp: "阻抗值:" + imp
- })
- }
- }
- if (value.toUpperCase() == "A90026023000589A") {
- that.setData({
- text: "测量完成"
- })
- }
- });
- },
- fail(res) {
- console.error('getBLEDeviceCharacteristics', res)
- }
- })
- },
- handleHeight(e) {
- let that = this
- let type = e.currentTarget.dataset.name
- if (type == '1') {
- let j = Number(26 + 3 + 6 + 1).toString(16)
- let str = "A9002603060100" + j.substr(j.length - 2, 2) + "9A"
- let buf = new Uint8Array(str.match(/[\da-f]{2}/gi).map(function(h) {
- return parseInt(h, 16)
- }))
- that.sendData(buf.buffer)
- }
- if (type == '2') {
- let j = Number(26 + 3 + 6 + 2).toString(16)
- let str = "A9002603060200" + j.substr(j.length - 2, 2) + "9A"
- let buf = new Uint8Array(str.match(/[\da-f]{2}/gi).map(function(h) {
- return parseInt(h, 16)
- }))
- that.sendData(buf.buffer)
- }
- if (type == '3') {
- that.setData({
- pwdModal: true,
- })
- }
- },
- confirmPwd() {
- let that = this
- if (!that.data.pwdInput) {
- wx.showToast({
- title: '请输入重量',
- duration: 2000,
- icon: 'none'
- })
- return
- } else {
- let w = Number(that.data.pwdInput.replace(/[&\|\\\*^%$#@\.-]/g, ""))
- let j = Number(26 + 7 + 40 + w + 3 + 2).toString(16) //校验和
- let atr = w.toString(16) //16进制后的标定数据
- let num = 0 //小数位数
- let str = null
- if (that.data.pwdInput.indexOf('.') != -1) {
- num = Number(that.data.pwdInput.toString().split(".")[1].length)
- }
- // 根据atr的位数判断下发的体重填充几个0
- let n = []
- for (var i = 1; i <= (6 - atr.length); i++) {
- n.push(0);
- }
- str = "A90026074003" + n.join("") + atr + "0" + num + "00" + j.substr(j.length - 2, 2) + "9A"
- let buf = new Uint8Array(str.match(/[\da-f]{2}/gi).map(function(h) {
- return parseInt(h, 16)
- }))
- that.sendData(buf.buffer)
- }
- },
- sendData(buffer) {
- let that = this
- wx.writeBLECharacteristicValue({
- deviceId: that.data.deviceId,
- serviceId: that.data.serviceId,
- characteristicId: that.data.uuid1,
- value: buffer,
- success: res => {
- console.log('下发指令', res.errMsg)
- wx.showToast({
- title: '下发指令成功',
- duration: 2000,
- icon: 'none'
- })
- this.setData({
- pwdModal: false,
- })
- },
- fail: res => {
- wx.showToast({
- title: '下发指令失败',
- duration: 2000,
- icon: 'none'
- })
- this.setData({
- pwdModal: false,
- })
- console.log("失败", res);
- },
- })
- },
- closeModal() {
- this.setData({
- pwdModal: false,
- })
- },
- /**
- * 断开蓝牙模块
- */
- closeBluetoothAdapter() {
- wx.closeBluetoothAdapter()
- this._discoveryStarted = false
- wx.showToast({
- title: '断开蓝牙模块',
- duration: 2000,
- icon: 'none'
- })
- this.setData({
- devices: [],
- weight: "",
- height: "",
- text: "",
- imp: "",
- isType: false
- })
- },
- // 断开与低功耗蓝牙设备的连接
- closeBLEConnection() {
- wx.closeBLEConnection({
- deviceId: this._deviceId
- })
- wx.showToast({
- title: '断开蓝牙连接',
- duration: 2000,
- icon: 'none'
- })
- this.setData({
- connected: false,
- isType: false,
- devices: [],
- text: "",
- weight: "",
- height: "",
- imp: ""
- })
- },
+ // 获取蓝牙设备某个服务中所有特征值(characteristic)
+ /**
+ * read: true读,write: true写,notify: true广播
+ */
+ getBLEDeviceCharacteristics(deviceId, serviceId) {
+ this._deviceId = deviceId
+ this._serviceId = serviceId
+ this._device.serviceId = serviceId
+ let that = this
+ wx.getBLEDeviceCharacteristics({
+ deviceId,
+ serviceId,
+ success: (res) => {
+ console.log('getBLEDeviceCharacteristics success', res.characteristics)
+ for (let i = 0; i < res.characteristics.length; i++) {
+ let item = res.characteristics[i];
+ if (item.uuid.indexOf('FFE1') != -1) {
+ that.data.uuid1 = item.uuid //主服务 UUID
+ } else if (item.uuid.indexOf('FFE2') != -1) {
+ that.data.uuid2 = item.uuid //写入设置
+ } else if (item.uuid.indexOf('FFE3') != -1) {
+ that.data.uuid3 = item.uuid //监听数据
+ }
+ }
+ that.setData({
+ isType: true,
+ })
+ wx.notifyBLECharacteristicValueChange({
+ deviceId,
+ serviceId,
+ characteristicId: that.data.uuid2,
+ state: true,
+ })
+ wx.notifyBLECharacteristicValueChange({
+ deviceId,
+ serviceId,
+ characteristicId: that.data.uuid3,
+ state: true,
+ })
+ wx.onBLECharacteristicValueChange((res) => {
+ let value = ab2hex(res.value, "");
+ let num = value.substring(18, 19)
+ let dw = value.substring(19, 20)
+ let type = value.substring(8, 10)
+ let typeInfo = value.substring(10, 12)
+ console.log("16进制转化:", value, type);
+ if (type == '10') {
+ let data = parseInt(value.substring(13, 18), 16)
+ let dw1 = "kg"
+ if (dw == "1") {
+ dw1 = "斤"
+ console.log("体重单位:斤")
+ }
+ if (dw == "4") {
+ dw1 = "st:lb"
+ console.log("体重单位:st:lb,计算方法:1 * data + 5")
+ }
+ if (dw == "6") {
+ dw1 = "lb"
+ console.log("体重单位:lb")
+ }
+ if (num == "1") {
+ data = parseInt(value.substring(13, 18), 16) / 10
+ console.log("体重小数点后1位")
+ }
+ if (num == "2") {
+ data = parseInt(value.substring(13, 18), 16) / 100
+ console.log("体重小数点后2位")
+ }
+ if (num == "3") {
+ data = parseInt(value.substring(13, 18), 16) / 1000
+ console.log("体重小数点后3位")
+ }
+ if (typeInfo == "01") {
+ console.log("实时体重:", data)
+ that.setData({
+ weight: "实时体重是:" + data + dw1
+ })
+ }
+ if (typeInfo == "02") {
+ console.log("稳定体重:", data)
+ that.setData({
+ weight: "稳定体重是:" + data + dw1
+ })
+ }
+ }
+ if (type == "14") { //身高模式
+ let height = parseInt(value.substring(10, 14), 16)
+ that.setData({
+ height: "您的身高是:" + height
+ })
+ console.log("身高模式:", height)
+ }
+ if (type == "11") {
+ console.log("阻抗值:", value)
+ if (typeInfo == "03" || typeInfo == "04") {
+ let imp = parseInt(value.substring(17, 22), 16)
+ that.setData({
+ imp: "阻抗值:" + imp
+ })
+ }
+ }
+ if (value.toUpperCase() == "A90026023000589A") {
+ that.setData({
+ text: "测量完成"
+ })
+ }
+ });
+ },
+ fail(res) {
+ console.error('getBLEDeviceCharacteristics', res)
+ }
+ })
+ },
+ handleHeight(e) {
+ let that = this
+ let type = e.currentTarget.dataset.name
+ if (type == '1') {
+ let j = Number(26 + 3 + 6 + 1).toString(16)
+ let str = "A9002603060100" + j.substr(j.length - 2, 2) + "9A"
+ let buf = new Uint8Array(str.match(/[\da-f]{2}/gi).map(function(h) {
+ return parseInt(h, 16)
+ }))
+ that.sendData(buf.buffer)
+ }
+ if (type == '2') {
+ let j = Number(26 + 3 + 6 + 2).toString(16)
+ let str = "A9002603060200" + j.substr(j.length - 2, 2) + "9A"
+ let buf = new Uint8Array(str.match(/[\da-f]{2}/gi).map(function(h) {
+ return parseInt(h, 16)
+ }))
+ that.sendData(buf.buffer)
+ }
+ if (type == '3') {
+ that.setData({
+ pwdModal: true,
+ })
+ }
+ },
+ confirmPwd() {
+ let that = this
+ if (!that.data.pwdInput) {
+ wx.showToast({
+ title: '请输入重量',
+ duration: 2000,
+ icon: 'none'
+ })
+ return
+ } else {
+ let w = Number(that.data.pwdInput.replace(/[&\|\\\*^%$#@\.-]/g, ""))
+ let j = Number(26 + 7 + 40 + w + 3 + 2).toString(16) //校验和
+ let atr = w.toString(16) //16进制后的标定数据
+ let num = 0 //小数位数
+ let str = null
+ if (that.data.pwdInput.indexOf('.') != -1) {
+ num = Number(that.data.pwdInput.toString().split(".")[1].length)
+ }
+ // 根据atr的位数判断下发的体重填充几个0
+ let n = []
+ for (var i = 1; i <= (6 - atr.length); i++) {
+ n.push(0);
+ }
+ str = "A90026074003" + n.join("") + atr + "0" + num + "00" + j.substr(j.length - 2, 2) + "9A"
+ let buf = new Uint8Array(str.match(/[\da-f]{2}/gi).map(function(h) {
+ return parseInt(h, 16)
+ }))
+ that.sendData(buf.buffer)
+ }
+ },
+ sendData(buffer) {
+ let that = this
+ wx.writeBLECharacteristicValue({
+ deviceId: that.data.deviceId,
+ serviceId: that.data.serviceId,
+ characteristicId: that.data.uuid1,
+ value: buffer,
+ success: res => {
+ console.log('下发指令', res.errMsg)
+ wx.showToast({
+ title: '下发指令成功',
+ duration: 2000,
+ icon: 'none'
+ })
+ this.setData({
+ pwdModal: false,
+ })
+ },
+ fail: res => {
+ wx.showToast({
+ title: '下发指令失败',
+ duration: 2000,
+ icon: 'none'
+ })
+ this.setData({
+ pwdModal: false,
+ })
+ console.log("失败", res);
+ },
+ })
+ },
+ closeModal() {
+ this.setData({
+ pwdModal: false,
+ })
+ },
+ /**
+ * 断开蓝牙模块
+ */
+ closeBluetoothAdapter() {
+ wx.closeBluetoothAdapter()
+ this._discoveryStarted = false
+ wx.showToast({
+ title: '断开蓝牙模块',
+ duration: 2000,
+ icon: 'none'
+ })
+ this.setData({
+ devices: [],
+ weight: "",
+ height: "",
+ text: "",
+ imp: "",
+ isType: false
+ })
+ },
+ // 断开与低功耗蓝牙设备的连接
+ closeBLEConnection() {
+ wx.closeBLEConnection({
+ deviceId: this._deviceId
+ })
+ wx.showToast({
+ title: '断开蓝牙连接',
+ duration: 2000,
+ icon: 'none'
+ })
+ this.setData({
+ connected: false,
+ isType: false,
+ devices: [],
+ text: "",
+ weight: "",
+ height: "",
+ imp: ""
+ })
+ },
});
diff --git a/pages/index/index.js b/pages/index/index.js
index 6581380..7519b84 100644
--- a/pages/index/index.js
+++ b/pages/index/index.js
@@ -38,12 +38,12 @@ Page({
})
return
}
- // if (type == 'PCF01B') {
- // wx.navigateTo({
- // url: `/pages/PCF01B/index`
- // })
- // return
- // }
+ if (type == 'PCF01pro') {
+ wx.navigateTo({
+ url: `/pages/PCF01pro/index`
+ })
+ return
+ }
if (type == 'PCF01proFRK') {
wx.navigateTo({
url: `/pages/PCF01proFRK/index`
diff --git a/pages/index/index.wxml b/pages/index/index.wxml
index 6a94409..9f7abbe 100644
--- a/pages/index/index.wxml
+++ b/pages/index/index.wxml
@@ -19,8 +19,8 @@
B03/B02/B07
PCL10/PCL11
PCF01pro(旧)
- PCF01pro(新)
- G01
+ G01
+
diff --git a/project.config.json b/project.config.json
index 74f1bc8..891065e 100644
--- a/project.config.json
+++ b/project.config.json
@@ -1,56 +1,56 @@
{
- "description": "项目配置文件,详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
- "packOptions": {
- "ignore": [],
- "include": []
+ "description": "项目配置文件,详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
+ "packOptions": {
+ "ignore": [],
+ "include": []
+ },
+ "setting": {
+ "urlCheck": true,
+ "es6": false,
+ "enhance": true,
+ "postcss": true,
+ "preloadBackgroundData": false,
+ "minified": true,
+ "newFeature": false,
+ "coverView": true,
+ "nodeModules": false,
+ "autoAudits": false,
+ "showShadowRootInWxmlPanel": true,
+ "scopeDataCheck": false,
+ "uglifyFileName": false,
+ "checkInvalidKey": true,
+ "checkSiteMap": true,
+ "uploadWithSourceMap": true,
+ "compileHotReLoad": false,
+ "lazyloadPlaceholderEnable": false,
+ "useMultiFrameRuntime": true,
+ "useApiHook": true,
+ "useApiHostProcess": true,
+ "babelSetting": {
+ "ignore": [],
+ "disablePlugins": [],
+ "outputPath": ""
},
- "setting": {
- "urlCheck": true,
- "es6": false,
- "enhance": true,
- "postcss": true,
- "preloadBackgroundData": false,
- "minified": true,
- "newFeature": false,
- "coverView": true,
- "nodeModules": false,
- "autoAudits": false,
- "showShadowRootInWxmlPanel": true,
- "scopeDataCheck": false,
- "uglifyFileName": false,
- "checkInvalidKey": true,
- "checkSiteMap": true,
- "uploadWithSourceMap": true,
- "compileHotReLoad": false,
- "lazyloadPlaceholderEnable": false,
- "useMultiFrameRuntime": false,
- "useApiHook": false,
- "useApiHostProcess": false,
- "babelSetting": {
- "ignore": [],
- "disablePlugins": [],
- "outputPath": ""
- },
- "useIsolateContext": false,
- "userConfirmedBundleSwitch": false,
- "packNpmManually": false,
- "packNpmRelationList": [],
- "minifyWXSS": true,
- "disableUseStrict": false,
- "minifyWXML": true,
- "showES6CompileOption": false,
- "useCompilerPlugins": false,
- "ignoreUploadUnusedFiles": true
- },
- "compileType": "miniprogram",
- "libVersion": "2.16.0",
- "projectname": "bluetooth_demo",
- "simulatorType": "wechat",
- "simulatorPluginLibVersion": {},
- "appid": "wxcea3504a31518eb6",
- "editorSetting": {
- "tabIndent": "insertSpaces",
- "tabSize": 2
- },
- "condition": {}
+ "useIsolateContext": true,
+ "userConfirmedBundleSwitch": false,
+ "packNpmManually": false,
+ "packNpmRelationList": [],
+ "minifyWXSS": true,
+ "disableUseStrict": false,
+ "minifyWXML": true,
+ "showES6CompileOption": false,
+ "useCompilerPlugins": false,
+ "ignoreUploadUnusedFiles": true
+ },
+ "compileType": "miniprogram",
+ "libVersion": "2.16.0",
+ "projectname": "bluetooth_demo",
+ "simulatorType": "wechat",
+ "simulatorPluginLibVersion": {},
+ "appid": "wxcea3504a31518eb6",
+ "editorSetting": {
+ "tabIndent": "insertSpaces",
+ "tabSize": 2
+ },
+ "condition": {}
}
\ No newline at end of file