47 lines
1.9 KiB
Plaintext
47 lines
1.9 KiB
Plaintext
import * as BluetoothManager from './bluetooth_manager.uts';
|
|
|
|
export const bluetoothService = {
|
|
scanDevices: BluetoothManager.scanDevices,
|
|
connectDevice: BluetoothManager.connectDevice,
|
|
disconnectDevice: BluetoothManager.disconnectDevice,
|
|
getConnectedDevices: BluetoothManager.getConnectedDevices,
|
|
discoverServices: BluetoothManager.discoverServices,
|
|
// compatibility aliases used by app code
|
|
getServices: BluetoothManager.discoverServices,
|
|
getCharacteristics: BluetoothManager.getCharacteristics,
|
|
readCharacteristic: BluetoothManager.readCharacteristic,
|
|
writeCharacteristic: BluetoothManager.writeCharacteristic,
|
|
subscribeCharacteristic: BluetoothManager.subscribeCharacteristic,
|
|
unsubscribeCharacteristic: BluetoothManager.unsubscribeCharacteristic,
|
|
sendCommand: BluetoothManager.sendCommand,
|
|
onConnectionStateChange: BluetoothManager.onConnectionStateChange,
|
|
// 兼容旧接口,如有 readCharacteristic 可补充
|
|
};
|
|
|
|
// Provide a minimal EventEmitter-style `.on(eventName, handler)` to match app code
|
|
// Supported events: 'deviceFound', 'scanFinished', 'connectionStateChanged'
|
|
bluetoothService.on = function(eventName: string, handler: Function) {
|
|
if (!eventName || typeof handler !== 'function') return;
|
|
switch (eventName) {
|
|
case 'deviceFound':
|
|
return BluetoothManager.onDeviceFound(handler);
|
|
case 'scanFinished':
|
|
return BluetoothManager.onScanFinished(handler);
|
|
case 'connectionStateChanged':
|
|
return BluetoothManager.onConnectionStateChange(handler);
|
|
default:
|
|
// no-op for unsupported events
|
|
return;
|
|
}
|
|
};
|
|
|
|
// Backwards-compat: getAutoBleInterfaces expected by pages -> maps to autoConnect
|
|
if (!bluetoothService.getAutoBleInterfaces) {
|
|
bluetoothService.getAutoBleInterfaces = function(deviceId: string) {
|
|
return BluetoothManager.autoConnect(deviceId);
|
|
}
|
|
}
|
|
|
|
import { dfuManager as webDfuManager } from './dfu_manager.uts'
|
|
export const dfuManager = webDfuManager;
|