uniapp操作藍芽工具類

2021-10-19 23:21:07 字數 4206 閱讀 6429

藍芽類

import  from '../utils/js/storage.js'

import store from '../store/index.js'

export default class ble , 1200)

} openbluetooth() )

} else

}}, 1000)

} else )

cleartimeout(b)

}, 1600)}}

break

} }// 定時監聽藍芽是否開啟

intervalblustart()

}break

}}//新增事件***

addevent() data 已經繫結了的裝置id

* */

uni.$on("scanequipment", function(data) )

/*** 建立連線

* @param deviceid 需要連線的裝置id

* */

uni.$on("createcon", function(deviceid) )

// 斷開藍芽連線

uni.$on('closebleconnection', (deviceid) => )

/*** 向藍芽傳送資料

* @param 陣列 需要傳送的資料

* */

uni.$on("writetodevice", function(buffarray) )

/*** 停止掃瞄藍芽裝置

* */

uni.$on("stopscan", function() )

/*** 搜尋並連線已經繫結的裝置

* */

uni.$on("bindcreatecon", function(list) )

console.log('開始監聽藍芽事件')

}openbluetoothadapter() ,

fail() )

} })

}// 獲取在藍芽模組生效期間所有已發現的藍芽裝置

getbluetoothdevices()}})

}/**

* 開始搜尋附近的藍芽外圍裝置。此操作比較耗費系統資源

* @param data 要過濾的id

* */

startbluetoothdevicesdiscovery(data) ,

fail()

})}//監聽尋找到新裝置的事件

onbluetoothdevicefound()

})uni.$emit("devicefound", mydevices)

let devicearray = devices.devices;

for (let i = 0; i < devicearray.length; i++)

console.log(json.stringify(devices))

let userbind = storage.getstoragesync("devicelist");

console.log(userbind)

for (let i = 0; i < userbind.length; i++)

}} },(e)=>)

}// 斷開藍芽連線

closebleconnection(deviceid) ,

fail()

})}/** * 開始連線裝置

* @param deviceid 需要連線的裝置id

* */

createbleconnection(deviceid) )

} else if (deviceid && deviceid != this.deviceid) ,

fail()

})return }}

createconnetfunction(deviceid) )

uni.createbleconnection()

},fail: (e) => )

} })

}//監聽低功耗藍芽連線狀態的改變事件。包括開發者主動連線或斷開連線,裝置丟失,連線異常斷開等等

onbleconnectionstatechange()

}console.log(storage.getstoragesync("devicelist"))

settimeout(function() , 2000)

} else )

} })

}//啟用低功耗藍芽裝置特徵值變化時的 notify 功能,

notifyblecharacteristicvaluechange() ,

fail(ret)

})}//監聽低功耗藍芽裝置的特徵值變化事件。必須先啟用 notifyblecharacteristicvaluechange 介面才能接收到裝置推送的 notification。

onblecharacteristicvaluechange()

if (valueinfo.substr(3, 1) == 2)

})}//寫入資料

writeblecharacteristicvalue(arraybuff)

var hex = arraybuff //要傳送的資訊

console.log('要傳送的資訊是:' + hex)

var typedarray = new uint8array(hex.match(/[\da-f]/gi).map(function(h) ))

console.log(typedarray)

var buffer1 = typedarray.buffer

console.log("寫入資料" + this.ab2hex(buffer) + '-buffer1:' + buffer1 + '-str:' + this.ab2hex(buffer1))

uni.writeblecharacteristicvalue(,

fail(res) ,

complete(res)

})}//停止掃瞄藍芽裝置

stopbluetoothdevicesdiscovery()

})}// arraybuffer轉16進度字串示例

ab2hex(buffer)

) return hexarr.join('')

}string2buffer(str) else

} // 將16進製制轉化為arraybuffer

return new uint8array(val.match(/[\da-f]/gi).map(function(h) )).buffer

}}

儲存類storage.js

export const keys = 

class storage

//儲存在本地快取指定的name中

setstoragesync(name, data) catch (e)

}//儲存在本地快取指定的name中(非同步)

setstorage(name, data) catch (e)

}//從本地快取中讀取置頂name對應的內容(非同步)

getstorage(name) catch (e)

return data;

}//從本地快取中讀取置頂name對應的內容

getstoragesync(name)

} catch (e)

return data;

}//從本地快取中移出指定key

removestoragesync(name) catch (e)

}//從本地快取中移出指定key(非同步)

removestorage(name) catch (e)

}//返回乙個布林值,表示name是否在本地快取之中

checkstoragesync(name) catch (e)

return value

}//返回乙個布林值,表示name是否在本地快取之中(非同步)

checkstorage(name) catch (e)

return value

}//清除本地資料快取

clearstoragesync() catch (e)

}//清除本地資料快取(非同步)

clearstorage() catch (e)

}}export const storage = new storage();

uniapp封裝連線藍芽裝置 藍芽印表機

bluetooth.js import store from store index.js class bluetooth 開始搜尋藍芽 startsearch return 獲取藍芽裝置資訊 this.getbluetoothdevices this.checkpemission else fai...

操作時間的工具類

public class dateutil else return iscurandnext 判斷當前是乙個星期中的第幾天 第一天是星期一 最後一天是星期日 public static int getweekofcurdate return w 將時間字串轉換成date public static ...

node 操作redis 工具類

const redis require ioredis const redisconfig require config env redis const redis newredis redisconfig.redis handle redis error logger error redis.on...