其中需要注意的是消息格式
发送的信息应该转成相应的格式
const combineData = (arr: any[]) => {
const buffer = new ArrayBuffer(5)
const dataView = new DataView(buffer)
// 声明16进制数值 数组
// 循环数组 并求和
arr.forEach((item, index) => {
dataView.setUint8(index, item)
})
const sum = arr.reduce((prev, curr) => {
return prev + curr
})
dataView.setUint8(4, sum)
return buffer as unknown as any[]
}
返回的信息也需要转换
const hex = Array.prototype.map
.call(new Uint8Array(res.value), (bit) => {
return `00${bit.toString(16)}`.slice(-2)
})
.join('')