39 lines
917 B
JavaScript
39 lines
917 B
JavaScript
// BLE 状态机阶段定义,便于页面层按阶段展示文案/按钮状态。
|
|
export const BLE_STAGE = Object.freeze({
|
|
IDLE: 'IDLE',
|
|
ADAPTER_OPENED: 'ADAPTER_OPENED',
|
|
DISCOVERING: 'DISCOVERING',
|
|
CONNECTING: 'CONNECTING',
|
|
CONNECTED: 'CONNECTED',
|
|
SERVICE_DISCOVERED: 'SERVICE_DISCOVERED',
|
|
AUTHORIZING: 'AUTHORIZING',
|
|
AUTHORIZED: 'AUTHORIZED',
|
|
OPERATING: 'OPERATING',
|
|
DISCONNECTED: 'DISCONNECTED'
|
|
})
|
|
|
|
/**
|
|
* 创建 BLE 运行时状态。
|
|
* 注意:返回的是可变对象,由 bleCore 内部统一 patch。
|
|
*/
|
|
export function createBleState() {
|
|
return {
|
|
stage: BLE_STAGE.IDLE,
|
|
available: false,
|
|
discovering: false,
|
|
connected: false,
|
|
deviceId: '',
|
|
serviceId: '',
|
|
profileId: '',
|
|
reconnectCount: 0,
|
|
lastError: null,
|
|
deviceMap: {},
|
|
characteristics: {},
|
|
auth: {
|
|
bound: null,
|
|
keyMatched: false,
|
|
lastStateCode: null
|
|
}
|
|
}
|
|
}
|