当前位置: 首页 > news >正文

电商类网站有几个主流程深圳网站制作公司平台

电商类网站有几个主流程,深圳网站制作公司平台,网站列表怎么做,做网站先做母版页小程序 蓝牙功能 1.授予蓝牙权限2.蓝牙初始化3.监听寻找新设备4.搜索新设备5.建立连接⭐⭐⭐⭐⭐⭐⭐6.监听蓝牙低功耗连接状态改变事件8.监听特征值变化9.发送数据 1.授予蓝牙权限 //1.蓝牙授权 const authBlue (callback, initApp) > {app initApp;//鉴定是否授权蓝牙w…

小程序 蓝牙功能

  • 1.授予蓝牙权限
  • 2.蓝牙初始化
  • 3.监听寻找新设备
  • 4.搜索新设备
  • 5.建立连接⭐⭐⭐⭐⭐⭐⭐
  • 6.监听蓝牙低功耗连接状态改变事件
  • 8.监听特征值变化
  • 9.发送数据

1.授予蓝牙权限

//1.蓝牙授权
const authBlue = (callback, initApp) => {app = initApp;//鉴定是否授权蓝牙wx.getSetting().then(res => {if (!res.authSetting['scope.bluetooth']) {//未授予蓝牙权限return wx.authorize({scope: 'scope.bluetooth',})} else {//已授予if (callback != null) {callback({blueAuth: true}) // init() //2.蓝牙初始化}return new Promise(() => {})}}).then(() => {if (callback != null) {callback({blueAuth: true}) //回调-app.js-蓝牙权限// init() //2.蓝牙初始化}return new Promise(() => {})}).catch(err => {if (callback != null)callback({blueAuth: false})console.err(err);})
}

2.蓝牙初始化

//2.蓝牙初始化
const init = (onFound) => {console.log("2.蓝牙初始化");//打开蓝牙适配器wx.openBluetoothAdapter({mode: 'central'}).then(res => {app.globalData.isOpenBleAdapter = true //蓝牙适配器已打开wx.onBluetoothAdapterStateChange((res) => { //回调---蓝牙适配器状态改变if (!res.available) { //蓝牙适配器是否可用wx.showModal({title: '温馨提示',content: '蓝牙蓝牙适配器不可用,请重新启动',showCancel: false})}})onFound(); //监听+寻找 新设备 -- 回调函数}).catch(() => {//失败wx.showToast({title: '请检查手机蓝牙是否打开',icon: 'none',})})
}

3.监听寻找新设备

//3.监听寻找新设备
const onDeviceFound = (addDevicesList) => {console.log("3.监听寻找新设备");wx.onBluetoothDeviceFound((res) => {const devicesList = []for (const item of res.devices) {if (!item.connectable) continue; //无法连接 --> 跳过//过滤设备,找出自己想连接的设备  filterDeviceslet device = Device.filterDevices(item)//addDevicesList 是一个回调函数,将数据更新到 Viewif (device && addDevicesList != null) {// 判断是否已经存在相同id的对象var existingObjIndex = devicesList.findIndex(function (obj) {return obj.deviceId === device.deviceId;});if (existingObjIndex !== -1) { // 存在相同id的对象// 更新对应位置上的对象属性值Object.assign(devicesList[existingObjIndex], device);} else { // 不存在相同id的对象// 将新对象添加到数组末尾devicesList.push(device);}}}//更新到设备列表addDevicesList(devicesList)})
}

4.搜索新设备

//4.搜索新设备
const startDevicesDiscovery = (obj) => {wx.startBluetoothDevicesDiscovery({allowDuplicatesKey: true, //允许上报同一台设备interval: 1000, //上报间隔时间success: (res) => {console.log("4.搜索新设备");// getBluetoothDevices()		// 获取蓝牙设备列表},fail: function (res) {wx.showToast({title: '搜索蓝牙外围设备失败,请重新初始化蓝牙!',icon: 'none',})}})
}

5.建立连接⭐⭐⭐⭐⭐⭐⭐

/** 5.建立连接 * @param {*} deviceId 要连接的设备MAC* @param {*} func 连接后要执行的命令* 1.建立连接* 2.设置MTU    setBLEMTU* 3.获取蓝牙服务 UUID  getBLEDeviceServices* 4.获取蓝牙服务列表 UUIDS   getBLEDeviceCharacteristics* 5.判断UUIDS中哪个服务可用于indicate | notify,使用该UUID订阅特征变化 notifyBLECharacteristicValueChange* 6.监听特征值变化:onBLECharacteristicValueChange* 7.func({isConnect: true}) //连接成功*/
const createConnect = (deviceId, func) => {let mtu = 209 //协商设置蓝牙低功耗的最大传输单元let serviceId = '0000FFE0-0000-1000-8000-00805F9B34FB';	//特定的UUIDlet characteristics;wx.createBLEConnection({deviceId}).then((res) => { //2.设置MTUif (res.errCode === 0 || res.errCode === -1) {console.log('1.连接成功');const systemInfo = wx.getSystemInfoSync();const platform = systemInfo.platform; //Android | IOSif (platform === 'android') {return wx.setBLEMTU({deviceId,mtu});} else if (platform === 'ios') {return {mtu}} else {return {mtu}}} else {console.log('连接失败');func({isConnect: false}) //连接失败return new Promise(() => {})}}, error => {console.log(error)func({ isConnect: false}) //连接失败return new Promise(() => {})}).then((res) => { //3.获取蓝牙服务console.log("2.MTU设置成功,协商MTU:", res.mtu, deviceId, serviceId);return wx.getBLEDeviceServices({deviceId});}, (res) => {console.log("2.MTU设置失败:", res);func({ isConnect: false}) //连接失败return new Promise(() => {})}).then((res) => {//4.获取蓝牙服务列表console.log("3.获取蓝牙服务成功", res);for (let i = 0; i < res.services.length; i++) {console.log("+++++++++发现服务:", res.services[i].uuid);if (res.services[i].uuid === '0000FFE0-0000-1000-8000-00805F9B34FB') {return wx.getBLEDeviceCharacteristics({deviceId,serviceId});}}},(err) => {console.error("3.获取蓝牙服务失败", err);func({ isConnect: false}) //连接失败return new Promise(() => {})}).then((res) => { //5.判断哪个服务可用于indicate | notifyconsole.log("4.获取UUIDS成功", res);characteristics = res.characteristicsfor (let i = 0; i < characteristics.length; i++) {const item = characteristics[i];if (item.properties.notify || item.properties.indicate) {return wx.notifyBLECharacteristicValueChange({deviceId: deviceId,serviceId: serviceId,characteristicId: item.uuid,state: true});}}}, (res) => {console.log("4.获取UUIDS失败", res);func({ isConnect: false}) //连接失败return new Promise(() => {})}).then((res) => { //6.监听特征值变化console.log('5.订阅特征变化成功', res);for (let i = 0; i < characteristics.length; i++) {let item = characteristics[i];if (item.uuid.substr(0, 8) == '0000FFE1') {app.globalData.characteristicId = item.uuidbreak;}}func({ isConnect: true}) //连接成功}, (err) => {console.log("5.订阅特征变化失败", res);func({ isConnect: false}) //连接失败return new Promise(() => {})}).catch((err) => {func({ isConnect: false}) //连接失败console.error(err);});
}

6.监听蓝牙低功耗连接状态改变事件

//6.监听蓝牙低功耗连接状态改变事件--主动连接或断开连接,设备丢失,连接异常断开
const onConnectionStateChange = (listenBleStatus) => {wx.onBLEConnectionStateChange(res => listenBleStatus(res))
}

8.监听特征值变化

//8.监听特征值变化   --  onBleValueChange  回调函数
const onCharacteristicValueChange = (onBleValueChange) => {wx.onBLECharacteristicValueChange(res => onBleValueChange(res))
}/*** 监听蓝牙设备传输的数据* @param {*} res deviceId、serviceId、characteristicId、【value	ArrayBuffer	特征最新的值】*/
function onBleValueChange(res) {console.log("监听到数据", res);//处理数据...
}

9.发送数据

/** 9.发送数据* @param {*} deviceId 设备ID* @param {*} command  命令*/
const writeCharacteristicValue = (deviceId, command) => {return wx.writeBLECharacteristicValue({characteristicId: app.globalData.characteristicId,deviceId: deviceId,serviceId: app.globalData.serviceId,value: command,})
}
http://www.yayakq.cn/news/289468/

相关文章:

  • 东凤镇做网站公司商城网站建设快速服务
  • 深圳哪里可以做物流网站文山网站建设联系电话
  • 二手书交易网站策划书html代码例子
  • 网站建设分配人员方案wordpress 小工具调用
  • 商务网站建设期末考试大气学校网站
  • iis部署网站 错误400网站开发者模式怎么打开
  • 上海网站建设 报价东城专业网站建设公司
  • 如何查询网站建设者域名和ip地址有什么关系
  • 蚌埠建设银行网站做kegg的网站
  • 巩义网站建设方案书番禺做哪些做网站的
  • 推广网站怎样做做网站的工资高吗
  • 建设银行郑州中心支行网站制作网页之前必须先建立的是
  • 电商网站如何做网页设计与制作模版
  • 网站建设公司伟置国家企业信用信息系统公示查询官网
  • 网页制作素材小图片嘉兴优化公司
  • 合肥网站建设百家号怎么做网络游戏
  • 如何在网站做宣传做外贸网站基本流程
  • 网页制作详细步骤好的seo公司营销网
  • 网站怎么开通微信支付移动网站建设价格
  • 北京南站到故宫地铁怎么坐wordpress 推送到群
  • html5写的网站有什么好处晋江网站有什么职业做
  • 网站改版建议wordpress 文档中心
  • 新网站怎么快速收录商务网站建设需要多少钱
  • 淮北网站建设费用地方门户网站设计
  • 网站行业关键词微信公众平台推广网站
  • 淮安市做网站的公司合肥网站空间
  • 电商网站设计思维导图宁波网络公司选哪家
  • 中国建设人才服务信息网是不是假冒网站西安传媒公司
  • ih5 做视频网站高端大气上档次网站
  • 江苏省住房和建设厅网站上海网站定制费用