@psdk/device-ble-taro 0.7.8 → 0.7.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/connected.d.ts.map +1 -1
- package/build/connected.js +1 -0
- package/build/provider.d.ts +2 -0
- package/build/provider.d.ts.map +1 -1
- package/build/provider.js +36 -8
- package/dist/index.js +5 -5
- package/dist/index.js.map +4 -4
- package/package.json +8 -4
package/build/connected.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connected.d.ts","sourceRoot":"","sources":["../src/connected.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,eAAe,EAAE,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAEjF,OAAO,IAAI,MAAM,cAAc,CAAC;AAEhC,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,OAAO,CAAC,MAAM,CAA4D;IAC1E,OAAO,CAAC,MAAM,CAA4B;IAE1C,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,cAAc,CAAC,CAAuC;gBAE3C,OAAO,EAAE;QAC1B,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,6BAA6B,CAAC;QAClE,MAAM,EAAE,yBAAyB,CAAC;KACnC;IAQD,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAI5D,OAAO,CAAC,QAAQ;YAuBF,QAAQ;IAuBtB,MAAM,IAAI,IAAI,CAAC,sBAAsB,CAAC,6BAA6B;IAInE,eAAe,IAAI,eAAe;IAIlC,UAAU,IAAI,MAAM;IAId,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"connected.d.ts","sourceRoot":"","sources":["../src/connected.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,eAAe,EAAE,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAEjF,OAAO,IAAI,MAAM,cAAc,CAAC;AAEhC,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,OAAO,CAAC,MAAM,CAA4D;IAC1E,OAAO,CAAC,MAAM,CAA4B;IAE1C,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,cAAc,CAAC,CAAuC;gBAE3C,OAAO,EAAE;QAC1B,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,6BAA6B,CAAC;QAClE,MAAM,EAAE,yBAAyB,CAAC;KACnC;IAQD,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAI5D,OAAO,CAAC,QAAQ;YAuBF,QAAQ;IAuBtB,MAAM,IAAI,IAAI,CAAC,sBAAsB,CAAC,6BAA6B;IAInE,eAAe,IAAI,eAAe;IAIlC,UAAU,IAAI,MAAM;IAId,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBjC,OAAO,IAAI,OAAO;IAIZ,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAqBhD,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB5C,KAAK,IAAI,IAAI;CAId;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC;IAC9C,KAAK,EAAE,IAAI,CAAC,2BAA2B,CAAC,iBAAiB,CAAC;IAC1D,IAAI,CAAC,EAAE,IAAI,CAAC,2BAA2B,CAAC,iBAAiB,CAAC;CAC3D"}
|
package/build/connected.js
CHANGED
package/build/provider.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export declare class TaroBleBluetooth extends Jluetooth<Taro.onBluetoothDeviceFo
|
|
|
15
15
|
private openBluetoothAdapter;
|
|
16
16
|
private closeBluetoothAdapter;
|
|
17
17
|
private onBluetoothDeviceFound;
|
|
18
|
+
private extractMacFromAdvertisData;
|
|
19
|
+
private formatMacAddress;
|
|
18
20
|
private createBLEConnection;
|
|
19
21
|
private getBLEDeviceServices;
|
|
20
22
|
private getBLEDeviceCharacteristics;
|
package/build/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,eAAe,EACf,eAAe,EAEhB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,eAAe,EAAkB,MAAM,oBAAoB,CAAC;AAGpE,OAAO,IAAI,MAAM,cAAc,CAAC;AAEhC,qBAAa,gBAAiB,SAAQ,SAAS,CAAC,IAAI,CAAC,sBAAsB,CAAC,6BAA6B,CAAC;IAExG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAkB;IAG3C,OAAO,CAAC,kBAAkB,CAAC,CAAgH;IAC3I,OAAO,CAAC,eAAe,CAAC,CAAyB;gBAErC,OAAO,CAAC,EAAE,eAAe;IAMrC,WAAW,IAAI,OAAO;IAMhB,qBAAqB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAUvD,OAAO,CACX,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,6BAA6B,CAAC,EAClF,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,eAAe,CAAC;IA2B3B,UAAU,CACR,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,6BAA6B,CAAC,CAAC,KAChG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIrB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B/B,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC;YAY9B,oBAAoB;YAgBpB,qBAAqB;IAgBnC,OAAO,CAAC,sBAAsB;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,eAAe,EACf,eAAe,EAEhB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,eAAe,EAAkB,MAAM,oBAAoB,CAAC;AAGpE,OAAO,IAAI,MAAM,cAAc,CAAC;AAEhC,qBAAa,gBAAiB,SAAQ,SAAS,CAAC,IAAI,CAAC,sBAAsB,CAAC,6BAA6B,CAAC;IAExG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAkB;IAG3C,OAAO,CAAC,kBAAkB,CAAC,CAAgH;IAC3I,OAAO,CAAC,eAAe,CAAC,CAAyB;gBAErC,OAAO,CAAC,EAAE,eAAe;IAMrC,WAAW,IAAI,OAAO;IAMhB,qBAAqB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAUvD,OAAO,CACX,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,6BAA6B,CAAC,EAClF,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,eAAe,CAAC;IA2B3B,UAAU,CACR,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,6BAA6B,CAAC,CAAC,KAChG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIrB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B/B,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC;YAY9B,oBAAoB;YAgBpB,qBAAqB;IAgBnC,OAAO,CAAC,sBAAsB;IAqC9B,OAAO,CAAC,0BAA0B;IAclC,OAAO,CAAC,gBAAgB;YAQV,mBAAmB;YAYnB,oBAAoB;YAkBpB,2BAA2B;YAmB3B,eAAe;YAgBf,UAAU;CAkHzB"}
|
package/build/provider.js
CHANGED
|
@@ -134,15 +134,24 @@ class TaroBleBluetooth extends device_bluetooth_traits_1.Jluetooth {
|
|
|
134
134
|
const devices = foundDevices
|
|
135
135
|
.filter(item => {
|
|
136
136
|
const name = item.name || item.localName;
|
|
137
|
-
|
|
138
|
-
return true;
|
|
139
|
-
return this.options?.allowNoName ?? true;
|
|
137
|
+
return name ? true : (this.options?.allowNoName ?? true);
|
|
140
138
|
})
|
|
141
|
-
.map(item =>
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
139
|
+
.map(item => {
|
|
140
|
+
// 从广播数据提取MAC(标准BLE广播前6字节是MAC,小端序)
|
|
141
|
+
// @ts-ignore
|
|
142
|
+
const macFromAdvert = this.extractMacFromAdvertisData(item.advertisData);
|
|
143
|
+
// 优先使用广播里的MAC,回退到deviceId
|
|
144
|
+
const macAddress = macFromAdvert || this.formatMacAddress(item.deviceId);
|
|
145
|
+
return new device_bluetooth_traits_1.JluetoothDevice({
|
|
146
|
+
origin: item,
|
|
147
|
+
name: item.name || item.localName || 'Unknown',
|
|
148
|
+
deviceId: item.deviceId,
|
|
149
|
+
mac: macAddress,
|
|
150
|
+
rssi: item.RSSI,
|
|
151
|
+
// @ts-ignore
|
|
152
|
+
advertisData: item.advertisData,
|
|
153
|
+
});
|
|
154
|
+
});
|
|
146
155
|
if (!devices.length) {
|
|
147
156
|
return;
|
|
148
157
|
}
|
|
@@ -151,6 +160,25 @@ class TaroBleBluetooth extends device_bluetooth_traits_1.Jluetooth {
|
|
|
151
160
|
}
|
|
152
161
|
});
|
|
153
162
|
}
|
|
163
|
+
extractMacFromAdvertisData(advertisData) {
|
|
164
|
+
if (!advertisData || advertisData.byteLength < 6)
|
|
165
|
+
return null;
|
|
166
|
+
const bytes = new Uint8Array(advertisData);
|
|
167
|
+
// BLE广播数据前6字节是MAC地址(小端序,需要反转)
|
|
168
|
+
const macBytes = Array.from(bytes.slice(0, 6)).reverse();
|
|
169
|
+
return macBytes
|
|
170
|
+
.map(b => b.toString(16).padStart(2, '0'))
|
|
171
|
+
.join(':')
|
|
172
|
+
.toUpperCase();
|
|
173
|
+
}
|
|
174
|
+
formatMacAddress(mac) {
|
|
175
|
+
if (mac.includes(':'))
|
|
176
|
+
return mac.toUpperCase();
|
|
177
|
+
if (mac.length === 12) {
|
|
178
|
+
return mac.match(/.{2}/g)?.join(':').toUpperCase() || mac;
|
|
179
|
+
}
|
|
180
|
+
return mac;
|
|
181
|
+
}
|
|
154
182
|
async createBLEConnection(options) {
|
|
155
183
|
return new Promise((resolve, reject) => {
|
|
156
184
|
taro_1.default.createBLEConnection({
|